单片机实验指导书实验25Word文件下载.docx
《单片机实验指导书实验25Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机实验指导书实验25Word文件下载.docx(29页珍藏版)》请在冰豆网上搜索。
ORG0030H
MAIN:
MOVA,#80H//MOVA,#03H;
从右到左
LOOP:
RLA//RRA;
MOVP1,A
ACLLDELA
SJMPLOOP
DELAY:
MOVR7,#0FFH;
延时程序
DELAY1:
MOVR4,#0FFH
DELAY2:
MOVR5,#03H
DELAY3:
DJNZR5,DELAY3
DJNZR6,DELAY2
DJNZR7,DELAY1
RET
END
//从两端到中间、从中间到两端显示实验
MOVP1,#81H//10000001
ACALLDELAY
MOVP1,#42H//01000010
MOVP1,#24H//00100100
MOVP1,#18H//00011000
MOVP1,#42H
MOVR7,#0FH;
MOVR6,#0FH
MOVR5,#02H
//带CY循环移位,从左到右、从右到左流水显示实验3
MOVA,#00H
SETBCY
RLCA
JCLOOP1
SJMPLOOP
LOOP1:
RRCA
JCLOOP
SJMPLOOP1
MOVR6,#0FFH
//花样流水灯查表显示实验
START:
MOVR0,#00H
MOVP1,#00H
MOVA,R0
ADDA,#0CH
MOVCA,@A+PC
CJNEA,#01H,XSH;
3
SJMPSTART;
2
XSH:
MOVP1,A;
ACALLDELAY;
INCR0;
1
SJMPLOOP;
ASCTAB:
DB0FFH,00H,0FFH,00H,0FFH,00H,0FH,0F0H,0FH,0F0H,0FH,0F0H,0FH,0F0H,0CCH,55H,0AAH,55H,0AAH,55H,0AAH,55H
DB81H,42H,24H,18H,24H,42H,81H,42H,24H,18H,24H,42H,81H,42H,24H,18H,24H,42H,81H,42H,24H,18H,24H,42H,81H
DB03H,06H,0CH,18H,30H,60H,0C0H,60H,30H,18H,0CH,06H,03H,06H,0CH,18H,30H,60H,0C0H,60H,30H,18H,0CH,06H,03H,01H
*/
实验三:
中断系统实验
1.结合理论教学,进一步熟悉外部中断INT0和INT1、定时器/计数器的基本概念和原理;
2.理解掌握定时器控制寄存器TCON、中断允许控制寄存器IE、中断优先级别控制寄存器IP的功能和设置方法;
3.了解并熟悉MCS-51单片机外部中断INT0和INT1、定时器/计数器的电路设计特点和应用特点;
4.能够针对MCS-51单片机,进行外部中断INT0和INT1、定时器/计数器的初始化设置,能够完成简单中断服务程序的功能应用设计。
5.进一步熟悉、掌握MCS-51单片机指令系统和应用软件的编程方法和技巧。
二、实验设备、材料
1.微型计算机(PⅣ以上);
2.编程、汇编与模拟平台软件KeiluVision4;
3.电子技术专业仿真软件protues运行平台;
4.单片机实训开发电路板。
三、实验内容和实验步骤
1、外部中断系统实验:
1)用INT0控制流水灯左移1位,用INT1控制流水灯右移1位。
系统仿真电路参考原理图1
2、定时器/计数器系统实验:
内部定时器模式:
使用定时器/计数器T1,工作方式1,要在P1.0上输出40个周期为2ms的方波,假设系统振荡频率采用12MHz。
写出详细写出初始值计算过程,参考程序如下:
)
ORG0100H
MAIN:
MOVTMOD,#01H
MOVTL0,#00H
MOVTH0,#3BH
SETBTR0
MOVR7,#10
LOOP:
JBCTF0,NE
NE:
DJNZR7,NEXT
CPLP1.0
SJMPMAIN
NEXT:
MOVTL0,#00H
MOVTH0,#3CH
SJMPLOOP
END
四、实验要求
3.编译连接源程序,没有任何警告信息和错误信息出现;
4.编译连接的源程序代码,能在仿真电路上正常运行;
5.进一步精简修改原程序代码,使之更加完善;
6.总结本实验的编程方法和技巧;
参考程序1:
ORG0000H
ORG0003H;
INT0中断入口地址
LJMPIN0
ORG0013H;
INT1中断入口地址
LJMPIN1
ORG0020H
MOVTCON,#05H
MOVIE,#85H
MOVP2,#0FEH
MOVA,#0FEH
SJMP$
IN0:
CLREA
RLA//左移
MOVP2,A
SETBEA
RETI
IN1:
RRA//右移
END
参考程序2:
ORG0000H
CLRF0
SETBF0
MOVP2,#0FFH
MOVTCON,#05H
MOVA,#7FH
RRR:
JNBF0,LLL
SJMPRRR
LLL:
JBF0,RRR
SJMPLLL
MOVR7,#8FH;
1)内部定时器模式、方式2:
查询方式:
中断方式:
LJMPMAIN
ORG0030H
MOVIE,#00H
MOVTMOD,#02H
MOVTH0,#0CEH
MOVTL0,#0CEH
SETBTR0
JBCTF0,LOOP1
AJMPLOOP
LOOP1:
CPLP1.0
AJMPLOOP
ORG000BH
LJMPTT0
MOVSP,#60H
SETBEA
SETBET0
MOVTMOD,#02H
MOVTH0,#0CEH
MOVTL0,#0CEH
SETBTR0
SJMP$
TT0:
RETI
实验四:
数码管显示实验
一、实训目的
1、进一步理解共阴极、共阳极数码显示管的结构和显示特点;
2、掌握单片机系统中共阴极、共阳极数码显示电路的连接方法;
3、熟悉在单片机系统中实现数码管静态显示的软件编程方法和编程技巧;
1.
微型计算机(PⅣ以上)
2.编程、汇编与模拟平台软件KeiluVision4
3.电子技术专业仿真软件protues运行平台
4.单片机实训开发电路板
静态显示:
1.共阳极1位数码管静态显示实验(0~9加1计数显示)
2.共阳极3位数码管静态显示实验(0~999加1计数显示)
动态显示:
1、系统仿真电路参考原理图(共阳极4位数码管静态显示,0~255加1计数显示)
2、参考程序1(共阳极3位数码管静态显示0~255,靠延时加1计数)
四、实验要求
1、完成仿真电路设计,要求电路布局整齐规范,参数标注清楚;
2、在参考程序的基础上,编写源程序代码;
3、编译连接源程序,没有任何警告信息和错误信息出现;
4、编译连接的源程序代码,能在仿真电路上正常运行;
5、进一步精简修改原程序代码,使之更加完善;
6、总结本实验的编程方法和技巧;
1、共阳极1位数码管静态显示实验(0~9加1计数显示)
系统参考源程序1(使用查表指令MOVCA,@A+DPTR)
MOVR3,#0AH
MOVR0,#00H
MOVDPTR,#DTAB
MOVA,R0
MOVCA,@A+DPTR
INCR0
DJNZR3,LOOP
SJMPLOOP1
DTAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H
DB0F8H,80H,90H
DELAY:
MOVR7,#0FH
DELAY1:
MOVR6,#08FH
DELAY2:
MOVR5,#0FFH
DELAY3:
2、共阳极3位数码管静态显示实验(0~999加1计数显示)
系统参考源程序1(0~256加1计数显示)
BWDATA31H
SHWDATA32H
GWDATA33H
MOVR0,#00H
MOVDPTR,#TAB
LCALLCHANGE
MOVA,GW
MOVCA,@A+DPTR
MOVP3,A
MOVA,SHW
MOVP2,A
MOVA,BW
MOVP0,A
LCALLDELAY
INCR0
SJMPMAIN
CHANGE:
MOVA,R0
MOVB,#100
DIVAB
MOVBW,A
MOVA,#10
XCHA,B
MOVSHW,A
MOVGW,B
RET
MOVR7,#0FFH;
MOVR6,#8FH
MOVR5,#01H
TAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H
DB0F8H,80H,90H,0FFH
END
系统参考源程序2(0~999加1计数显示)
START:
MOVR0,#0FFH
MOVR1,#00H
MOVR2,#00H
MOVP3,#0FFH
MOVP2,#0FFH
MOVP0,#0FFH
DISPLY:
INCR0
CJNER0,#0AH,DISPLY1
MOVR0,#0FFH
INCR1
CJNER1,#0AH,DISPLY2
MOVR1,#00H
MOVP2,#0C0H
INCR2
CJNER2,#0AH,DISPLY3
SJMPSTART
DISPLY3:
MOVA,R2
ADDA,#16H;
对A进行地址修正
MOVCA,@A+PC;
查字形码表
MOVP0,A;
SJMPDISPLY;
DISPLY2:
MOVA,R1;
ADDA,#0EH;
2对A进行地址修正
1查字形码表
MOVP2,A;
AJMPDISPLY;
DISPLY1:
MOVA,R0;
ADDA,#06H;
MOVP3,A;
ACALLDELAY;
DB0F8H,80H,90H;
0~9共阳极字型码
DB88H,83H,0C6H,0A1H,86H,8EH,0FFH
DB0CH,89H,7FH,0BFH;
A~F共阳极字型码
参考程序1(共阳极3位数码管静态显示0~255,靠延时加1计数)
MOVR3,#5
MOVP1,#0F7H
MOVA,GW
LCALLDIS
MOVP1,#0FBH
MOVP1,#0FDH
MOVP1,#0FEH
MOVA,#0AH
DJNZR3,LOOP1
DIS:
MOVCA,@A+DPTR
MOVR7,#0DH;
MOVR5,#0FH
TAB:
DB0F8H,80H,90H,0FFH
参考程序2(共阳极3位数码管静态显示0~255,靠定时器加1计数)
ORG000BH
AJMPCOUNT
MOVTMOD,#01H
MOVTH0,#0C0H
MOVTL0,#0B0H
SETBET0
SETBTR0
MOVDPTR,#TAB;
字型码首地址
MOVR1,#00H;
寄存器赋初值
MOVR4,#06H;
控制计数速度赋初值
MOVR2,#03H
MOVR3,#0F7H
MOVR0,#GW
LCALLCHANGE
MOVP1,R3
MOVA,@R0
DECR0
MOVA,R3
RRA
MOVR3,A
DJNZR2,LOOP1
COUNT:
DJNZR4,RRR
MOVTH0,#0C0H
MOVA,R1
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H
DB80H,90H,0FFH
实验五:
键盘接口系统实验
1、熟悉中断键盘、独立按键键盘、矩阵键盘的电路结构和工作特点;
2、理解并掌握编程扫描、定时扫描和中断扫描的非编码键盘的识别方法;
3、初步掌握编程扫描、定时扫描和中断扫描的非编码键盘的软件编程;
1、系统电路原理图1(功能:
用2位按键控制2位数码管加1和减1)
2、系统电路原理图2(功能:
用3位按键控制2位数码管自动加1递增、自动减一递减和停止操作)
3、系统电路原理图3(4*4键盘+并行显示按键数字)
1、系统参考源程序1(用2位按键控制2位数码管加1和减1)
MOVA,#00H
MOVP1,#37H
ACALLDISP
JNBP1.4,IN
JNBP1.5,DE
IN:
INCR0
JNBP1.4,$
DE:
DECR