资源描述:
《仿真十三 计算器设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、长沙民政职业技术学院教案课程名称:制冷与空调自动化技术课题名称:计算器设计教学目的:矩阵式键盘进行计算器设计难点和重点:矩阵式键盘的控制及编程。教学过程1.实训任务用AT89S51的并行口P1接4×4矩阵键盘,以P1.0-P1.3作输入线,以P1.4-P1.7作输出线;在数码管上显示运算后的结果。对应的按键的序号排列如下图所示1234567/89+-Start/endnd=*02.硬件电路原理图计算器设计(第9页共9页)刘卫长沙民政职业技术学院教案3.系统板上硬件连线(1)把“单片机系统“区域中的P3.
2、0-P3.7端口用8芯排线连接到“4X4行列式键盘”区域中的C1-C4R1-R4端口上;(2)把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P0.0/AD0对应着a,P0.1/AD1对应着b,……,P0.7/AD7对应着h。4.程序设计内容(1)4×4矩阵键盘识别处理(2)每个按键有它的行值和列值,行值和列值的组合就是识别这个按键的编码。(3)能进行简单的算术运算5、参考程序:org0000hjmpmainorg0
3、030hmain:CALLKEYSJNZNEXT3JMPMAIN计算器设计(第9页共9页)刘卫长沙民政职业技术学院教案NEXT3:MOVR0,#30HCALLKSCANMOVA,30HCJNEA,#12,MAINMOVR0,#20HNN:callkeysjnzk1jmpNNK1:CALLKSCANINCR0K2:CALLkeysjnzk3jmpk2k3:callkscanINCR0K4:callkeysjnzK5jmpK4K5:CALLKSCANINCR0K6:callkeysjnzK7jmpK6K7:
4、callkscanCHU:MOVA,21HCJNEA,#10,N1JIA:movp1,#0fehMOVA,20HADDA,22H计算器设计(第9页共9页)刘卫长沙民政职业技术学院教案MOVB,#10DIVABMOVDPTR,#TABMOVCA,@A+DPTRMOVP2,Acalldelay10msmovp1,#0fdhMOVA,BMOVDPTR,#TABMOVCA,@A+DPTRMOVP2,ACALLDELAY10msCALLKEYSJNZM1JMPJIAM1:MOVR0,#30HCALLKSCANMO
5、VA,30HCJNEA,#12,JIAmovp2,#3fhJMPMAINN1:CJNEA,#11,N2JIAN:movp1,#0fehMOVA,20HCLRCSUBBA,22HMOVB,#10DIVABMOVDPTR,#TABMOVCA,@A+DPTR计算器设计(第9页共9页)刘卫长沙民政职业技术学院教案MOVP2,Acalldelay10msmovp1,#0fdhMOVA,BMOVDPTR,#TABMOVCA,@A+DPTRMOVP2,ACALLDELAY10msCALLKEYSJNZMM1JMPJI
6、ANMM1:MOVR0,#30HCALLKSCANMOVA,30HCJNEA,#12,JIAmovp2,#3fhJMPMAINN2:CJNEA,#14,N3SHEN:movp1,#0fehMOVA,20HMOVB,22HMULABMOVB,#10DIVABMOVDPTR,#TABMOVCA,@A+DPTRMOVP2,Acalldelay10msmovp1,#0fdhMOVA,B计算器设计(第9页共9页)刘卫长沙民政职业技术学院教案MOVDPTR,#TABMOVCA,@A+DPTRMOVP2,ACALLD
7、ELAY10msCALLKEYSJNZMMM1JMPSHENMMM1:MOVR0,#30HCALLKSCANMOVA,30HCJNEA,#12,SHENmovp2,#3fhJMPMAINN3:CJNEA,#15,N4CHUF:movp1,#0fehMOVA,20HMOVB,22HDIVABMOVB,#10DIVABMOVDPTR,#TABMOVCA,@A+DPTRMOVP2,Acalldelay10msmovp1,#0fdhMOVA,BMOVDPTR,#TABMOVCA,@A+DPTRMOVP2,ACA
8、LLDELAY10msCALLKEYS计算器设计(第9页共9页)刘卫长沙民政职业技术学院教案JNZMMMM1JMPCHUFMMMM1:MOVR0,#30HCALLKSCANMOVA,30HCJNEA,#12,CHUFmovp2,#3fhJMPMAINN4:JMPMAINKSCAN:MOVR2,#0EFHMOVR4,#00HKEY0:MOVA,R2MOVP3,AnopMOVA,P3JBACC.0,LINE1MOVA,#00HJMPKPVLIN