
仿真十三 计算器设计.doc
9页长沙民政职业技术学院教案长沙民政职业技术学院教案计算器设计(第 1 页 共 9 页) 刘卫 课程名称:课程名称: 制冷与空调自动化技术制冷与空调自动化技术课题名称课题名称: : 计算器设计计算器设计教学目的教学目的: :矩阵式键盘进行计算器设计难点和重点难点和重点: :矩阵式键盘的控制及编程教学过程教学过程1 1.实训任务.实训任务用用 AT89S51AT89S51 的并行口的并行口 P1P1 接接 4×44×4 矩阵键盘,以矩阵键盘,以 P1.0P1.0--P1.3P1.3 作输入线,以作输入线,以P1.4P1.4--P1.7P1.7 作输出线;在数码管上显示运算后的结果对应的按键的序号排列如下作输出线;在数码管上显示运算后的结果对应的按键的序号排列如下图所示图所示1234567/89+-Start/e ndnd=*02 2.硬件电路原理图.硬件电路原理图 长沙民政职业技术学院教案长沙民政职业技术学院教案计算器设计(第 2 页 共 9 页) 刘卫 3 3.. 系统板上硬件连线系统板上硬件连线((1 1)把)把““单片机系统单片机系统““区域中的区域中的 P3.0P3.0--P3.7P3.7 端口用端口用 8 8 芯排线连接到芯排线连接到“4X4“4X4 行列行列式键盘式键盘””区域中的区域中的 C1C1--C4C4 R1R1--R4R4 端口上;端口上;((2 2)把)把““单片机系统单片机系统””区域中的区域中的 P0.0/AD0P0.0/AD0--P0.7/AD7P0.7/AD7 端口用端口用 8 8 芯排线连接到芯排线连接到““四路静态数码显示模块四路静态数码显示模块””区域中的任一个区域中的任一个 a a--h h 端口上;要求:端口上;要求:P0.0/AD0P0.0/AD0 对应着对应着a a,,P0.1/AD1P0.1/AD1 对应着对应着 b b,,…………,,P0.7/AD7P0.7/AD7 对应着对应着 h h。
4 4.. 程序设计内容程序设计内容((1 1))4×44×4 矩阵键盘识别处理矩阵键盘识别处理((2 2)每个按键有它的行值和列值)每个按键有它的行值和列值 ,行值和列值的组合就是识别这个按键的编码行值和列值的组合就是识别这个按键的编码3 3)能进行简单的算术运算)能进行简单的算术运算5、参考程序:org 0000hjmp mainorg 0030hmain: CALL KEYSJNZ NEXT3长沙民政职业技术学院教案长沙民政职业技术学院教案计算器设计(第 3 页 共 9 页) 刘卫 JMP MAINNEXT3:MOV R0,#30HCALL KSCANMOV A,30HCJNE A,#12,MAINMOV R0,#20HNN: call keysjnz k1jmp NNK1: CALL KSCANINC R0K2: CALL keysjnz k3jmp k2k3: call kscanINC R0K4: call keysjnz K5jmp K4K5: CALL KSCANINC R0K6: call keysjnz K7jmp K6K7: call kscanCHU: MOV A,21HCJNE A,#10,N1JIA: mov p1,#0fehMOV A,20H长沙民政职业技术学院教案长沙民政职业技术学院教案计算器设计(第 4 页 共 9 页) 刘卫 ADD A,22HMOV B,#10DIV ABMOV DPTR,#TABMOVC A,@A+DPTRMOV P2,Acall delay10msmov p1,#0fdhMOV A,BMOV DPTR,#TABMOVC A,@A+DPTRMOV P2,ACALL DELAY10msCALL KEYSJNZ M1JMP JIAM1: MOV R0,#30HCALL KSCANMOV A,30HCJNE A,#12,JIAmov p2,#3fhJMP MAINN1: CJNE A,#11,N2JIAN:mov p1,#0fehMOV A,20HCLR CSUBB A,22HMOV B,#10DIV ABMOV DPTR,#TABMOVC A,@A+DPTR长沙民政职业技术学院教案长沙民政职业技术学院教案计算器设计(第 5 页 共 9 页) 刘卫 MOV P2,Acall delay10msmov p1,#0fdhMOV A,BMOV DPTR,#TABMOVC A,@A+DPTRMOV P2,ACALL DELAY10msCALL KEYSJNZ MM1JMP JIANMM1: MOV R0,#30HCALL KSCANMOV A,30HCJNE A,#12,JIAmov p2,#3fhJMP MAINN2: CJNE A,#14,N3SHEN:mov p1,#0fehMOV A,20HMOV B,22HMUL ABMOV B,#10DIV ABMOV DPTR,#TABMOVC A,@A+DPTRMOV P2,Acall delay10msmov p1,#0fdh长沙民政职业技术学院教案长沙民政职业技术学院教案计算器设计(第 6 页 共 9 页) 刘卫 MOV A,BMOV DPTR,#TABMOVC A,@A+DPTRMOV P2,ACALL DELAY10msCALL KEYSJNZ MMM1JMP SHENMMM1: MOV R0,#30HCALL KSCANMOV A,30HCJNE A,#12,SHENmov p2,#3fhJMP MAINN3:CJNE A,#15,N4CHUF:mov p1,#0fehMOV A,20HMOV B,22HDIV ABMOV B,#10DIV ABMOV DPTR,#TABMOVC A,@A+DPTRMOV P2,Acall delay10msmov p1,#0fdhMOV A,BMOV DPTR,#TABMOVC A,@A+DPTRMOV P2,ACALL DELAY10ms长沙民政职业技术学院教案长沙民政职业技术学院教案计算器设计(第 7 页 共 9 页) 刘卫 CALL KEYSJNZ MMMM1JMP CHUFMMMM1: MOV R0,#30HCALL KSCANMOV A,30HCJNE A,#12,CHUFmov p2,#3fhJMP MAINN4:JMP MAINKSCAN:MOV R2,#0EFHMOV R4,#00HKEY0: MOV A,R2MOV P3,AnopMOV A,P3JB ACC.0,LINE1MOV A,#00HJMP KPVLINE1:JB ACC.1,LINE2MOV A,#04HJMP KPVLINE2:JB ACC.2,LINE3MOV A,#08HJMP KPVLINE3:JB ACC.3,NEXTMOV A,#0CHJMP KPVNEXT: INC R4CJNE R4,#4,KEY5EXIT: RETKEY5: MOV A,R2RL A长沙民政职业技术学院教案长沙民政职业技术学院教案计算器设计(第 8 页 共 9 页) 刘卫 MOV R2,AJMP KEY0KPV: ADD A,R4MOV @r0,AKEY3: CALL KEYSJNZ KEY3RETKEYS:MOV P3,#0FHMOV A,P3ANL A,#0FHCJNE A,#0FH,MMMOV A,#00HMM: CALL DELAY10MSMOV P3,#0FHMOV A,P3ANL A,#0FHCJNE A,#0FH,MMMMOV A,#00HMMM:RETDELAY10MS: MOV R6,#10 DD1: MOV R7,#248 DJNZ R7,$ DJNZ R6,DD1 RET delay:MOV R1,#10长沙民政职业技术学院教案长沙民政职业技术学院教案计算器设计(第 9 页 共 9 页) 刘卫 LOOP1:MOV R5,#200LOOP: MOV R3,#250DJNZ R3,$DJNZ R5,LOOPDJNZ R1,LOOP1RETTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7FH,39H,3FH,79H,71HEND课堂小结课堂小结作业布置作业布置请大家在程序指令后加上合理的注释,并且子程序要介绍子程序的功能 及传递参数。





![河南新冠肺炎文件-豫建科[2020]63号+豫建科〔2019〕282号](http://img.jinchutou.com/static_www/Images/s.gif)






