单片机实验指导书 - 实验2-5(3)

2019-02-17 17:11

实验五:键盘接口系统实验

一、 实训目的

1、 熟悉中断键盘、独立按键键盘、矩阵键盘的电路结构和工作特点; 2、 理解并掌握编程扫描、定时扫描和中断扫描的非编码键盘的识别方法; 3、 初步掌握编程扫描、定时扫描和中断扫描的非编码键盘的软件编程; 二、 实验仪器、材料

1、 微型计算机(PⅣ以上)

2、 编程、汇编与模拟平台软件Keil uVision4 3、 电子技术专业仿真软件protues运行平台 4、 单片机实训开发电路板 三、 实验内容和步骤

1、 系统电路原理图1 (功能:用2位按键控制2位数码管加1和减1)

C130pF19P1.312p1.4P1.5X1C230pF12MHz18XTAL1XTAL2C3910uR110K293031RSTP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7RXDTXDINT0INT1T0T1WRRD3P1.3U1U2:AU2:B74HC1474HC14RP11P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7234567891KP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7PSENALEEA12345678R2R3R4R5R6R7R8R9R12R13R14R15R16R17R18R19330330330330330330330330330330330330330330330330P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51R11R1010k10kP2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.74 2、 系统电路原理图2(功能:用3位按键控制2位数码管自动加1递增、自动减一递减和停止操作)

97

C130pF19P1.312p1.4P1.5P1.6X1C230pF12MHz18XTAL1XTAL2C3910uR110K293031RSTP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7RXDTXDINT0INT1T0T1WRRD3P1.3U1U2:AU2:B74HC1474HC14RP11P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7234567891KP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7PSENALEEA12345678R2R3R4R5R6R7R8R9R12R13R14R15R16R17R18R19330330330330330330330330330330330330330330330330P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51R1110kR1010kR2010kP2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.74 3、 系统电路原理图3 (4*4键盘+并行显示按键数字)

C130pF19U1X1XTAL112MHzP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7RXDTXDINT0INT1T0T1WRRDC230pF18XTAL2C3910uR110K293031RSTPSENALEEA2R2R3R4R5R6R7R8R9P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P1.31330330330330330330330330U2:A74HC14P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.712345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51P1.0P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7RP21234567891KP1.1P1.2P1.3P1.7P1.6P1.5P1.4

四、 实验要求

1、完成仿真电路设计,要求电路布局整齐规范,参数标注清楚; 2、在参考程序的基础上,编写源程序代码;

3、编译连接源程序,没有任何警告信息和错误信息出现;

98

4、编译连接的源程序代码,能在仿真电路上正常运行; 5、进一步精简修改原程序代码,使之更加完善; 6、总结本实验的编程方法和技巧;

参考程序:

1、 系统参考源程序1(用2位按键控制2位数码管加1和减1)

ORG 0000H AJMP MAIN ORG 0030H MAIN:MOV A,#00H MOV R0,#00H MOV P1,#37H MOV DPTR,#TAB ACALL DISP LOOP1: JNB P1.4,IN JNB P1.5,DE SJMP LOOP1 IN:INC R0 ACALL DISP JNB P1.4,$ SJMP LOOP1 DE: DEC R0 ACALL DISP

JNB P1.5,$

SJMP LOOP1 DISP: MOV A,R0 ANL A,#0FH MOVC A,@A+DPTR MOV P0,A MOV A,R0 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P2,A RET

TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H

DB 0F8H,80H,90H;共阳极字型码

DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH

DB 0CH,89H,7FH,0BFH

END

系统参考源程序2(用2位按键控制2位数码管连续加1和连续)

ORG 0000H

AJMP MAIN ORG 0030H MAIN:MOV A,#00H MOV R0,#00H MOV DPTR,#TAB ACALL DISP MOV P1,#30H LOOP1: JNB P1.4,IN JNB P1.5,DE SJMP LOOP1 LOOP2:JNB P1.4,IN JNB P1.5,DE IN:INC A RES1:MOV R0,A ACALL DISP ACALL DELAY SJMP LOOP2 LOOP3:JNB P1.4,IN JNB P1.5,DE DE: DEC A RES2:MOV R0,A ACALL DISP

99

ACALL DELAY

SJMP LOOP3 DISP: ANL A,#0FH MOVC A,@A+DPTR MOV P0,A MOV A,R0 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P2,A MOV A,R0 RET

DELAY:MOV R7,#80H ;延时程序 DELAY1:MOV R6,#80H DELAY2:MOV R5,#05H DELAY3:DJNZ R5,DELAY3 DJNZ R6,DELAY2 DJNZ R7,DELAY1 RET

TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H DB 0F8H,80H,90H ;共阳极字型码 DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH

DB 0CH,89H,7FH,0BFH

2、系统参考源程序3(用3位按键控制2位数码管自动加1递增、自动减一递减和停止操作)

ORG 0000H

AJMP MAIN ORG 0030H MAIN:MOV A,#00H MOV R0,#00H MOV DPTR,#TAB ACALL DISP MOV P1,#70H LOOP1: JNB P1.4,IN JNB P1.5,DE JNB P1.6,LOOP1 SJMP LOOP1 LOOP2:JNB P1.4,IN JNB P1.5,DE IN:INC A RES1:MOV R0,A ACALL DISP ACALL DELAY SJMP LOOP2 LOOP3:JNB P1.4,IN JNB P1.5,DE JNB P1.6,LOOP1 DE: DEC A RES2:MOV R0,A

3、系统电路原理图3 ACALL DISP ACALL DELAY SJMP LOOP3 DISP: ANL A,#0FH MOVC A,@A+DPTR MOV P0,A MOV A,R0 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P2,A MOV A,R0 RET

DELAY:MOV R7,#80H ;延时程序 DELAY1:MOV R6,#80H DELAY2:MOV R5,#05H DELAY3:DJNZ R5,DELAY3 DJNZ R6,DELAY2 DJNZ R7,DELAY1 RET

TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H

DB 82H,0F8H,80H,90H;共阳极字型码

DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH

DB 0CH,89H,7FH,0BFH

4*4键盘+并行显示按键数字)

97

(KEY_DATA DATA 30H ORG 0000H MOV KEY_DATA,#10H ;数码管全黑 AJMP MAIN ORG 0030H MAIN:MOV SP,#60H MOV DPTR,#TAB LOOP:LCALL SCAN MOV A,KEY_DATA MOVC A,@A+DPTR MOV P0,A ANL P1,#0F7H LCALL DEL AJMP LOOP

SCAN:MOV A,#0FH ;列输出低电平 MOV P1,A MOV A,P1 ;读行状态 ANL A,#0FH ;屏蔽高4位的列值 CJNE A,#0FH,KEYSCAN;按下则KEYSCAN RET

KEYSCAN:LCALL DEL ;去抖 MOV R2,#7FH ;列值扫描初值 MOV R3,#4 ;列数 MOV R0,#00H ;列值计数器 KEYSM1:MOV A,R2 MOV P1,A RR A ;列扫描右移 MOV R2,A MOV A,P1 ANL A,#0FH CJNE A,#0FH,JSADD INC R0 DJNZ R3,KEYSM1 ;未扫描完,则循环 RET

JSADD:JB ACC.0,JSADD1 MOV A,#0 ;行值送A AJMP JSADD4 JSADD1:JB ACC.1,JSADD2 MOV A,#4 ;行值送A AJMP JSADD4 JSADD2:JB ACC.2,JSADD3 MOV A,#8 ;行值送A AJMP JSADD4 JSADD3:JB ACC.3,JSADD4 MOV A,#12 ;行值送A

JSADD4:ADD A,R0 ;行值+列值送入A,得到键值 MOV KEY_DATA,A RET

DEL:MOV R6,#50 DEL1:MOV R5,#200 DJNZ R5,$ DJNZ R6,DEL1 RET

TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H

DB 82H,0F8H,80H,90H ;共阳极字型码

DB 88H,83H,0C6H,0A1H,86H,8EH

DB 0FFH,0CH,89H,7FH,0BFH

END

97


单片机实验指导书 - 实验2-5(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:安徽中考16篇文言文复习讲义

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: