任务九:8-8矩阵键盘.doc_第1页
任务九:8-8矩阵键盘.doc_第2页
任务九:8-8矩阵键盘.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

任务九:8*8矩阵键盘数码管显示实验开始初始化延时计算键值显示键值结束主程序流程图判断行号列号子程序行线为1,列线为0取行线值到AA=0FFH?按键判断子程序行编码放入30H中 NY返回按键判断按键判断按键判断子程序判断行号列号子程序取行编码到AACC.0=0?(行编码的最后一位是否为0?)Y取列编码到A 返回N计算键值子程序计算键值子程序行号乘以8到A取行号(R0值)再加列号键值送32H单元返回判断行号和列号,并且存入相应单元列线为1,行线为0取列线值到AA=0FFH?列编码放入31H中 NYR0清零(用来放行号)ACC.0=0?(列编码的最后一位是否为0?)R1清零(用来放列号)行号加1(R0+1)A右移(为了下次判断)N行号加1(R1+1)A右移(为了下次判断)显示子程序显示子程序查表取个位段码值返回取键值到A(32H值)键值除以10(个位在A,十位在B)段码值送P0口位码值送P2口延时查表取十位段码值段码值送P0口位码值送P2口延时YORG 00H LJMP MAIN ORG 30HMAIN: MOV P0,#0FFH ;初始化 MOV P1,#0FFH MOV P2,#0FFH MOV P3,#0FFH MOV 30H,#00H ;行编码放置单元 MOV 31H,#00H ;列编码放置单元 MOV 32H,#100 ;键值放置单元LOOP: LCALL KEYS ;按键判断子程序 LCALL DELAY ;延时10MS LCALL KEYS;按键判断子程序 LCALL PANDUAN;判断行号和列号 LCALL JISUAN;计算键值 LCALL SHOW ;数码管显示键值 LJMP LOOPKEYS: MOV P1,#00H ;按键判断子程序, MOV P3,#0FFH ;列为0,行为1 MOV A,P3 CJNE A,#0FFH, KEYS1 LJMP KEYS_RETKEYS1:MOV 30H,A ;有键按下,行编码放入30H MOV P3,#00H ;列为1,行为0 MOV P1,#0FFH MOV A,P1 CJNE A,#0FFH, KEYS2 LJMP KEYS_RETKEYS2:MOV 31H,A;有键按下,列编码放入31H KEYS_RET: RET PANDUAN: ;判断行号和列号 MOV A,30H;判断行号 MOV R0,#00H;行号值放入R0中PANHANG1: JNB ACC.0,PANLIE INC R0 RR A LJMP PANHANG1PANLIE:MOV A,31H;判断列号 MOV R1,#00H; 列号值放入R1中PANLIE1: JNB ACC.0, PANDUAN_RET INC R1 RR A LJMP PANLIE1PANDUAN_RET: RETJISUAN:MOV A,R0;计算键值 MOV B,#8;行号乘以8加列号 MUL AB ADD A,R1 MOV 32H,A;键值放入32H单元中 RETSHOW: ;显示子程序 MOV A,32H MOV B,#10 DIV AB MOV DPTR,#TAB ;将32H中值 MOVC A,A+DPTR;十位显示出来 MOV P0,#0FFH MOV P0,A MOV P2,#0FEH LCALL DELAY MOV A,B MOV DPTR,#TAB ;将32H中值 MOVC A,A+DPTR;个位显示出来 MOV P0,#0FFH MOV P0,A MOV P2,#0FDH LCALL DELAY RETDELAY:MOV R7,#40;延时10MS子程序 D1:MOV R6,#123 NOP D2:DJNZ R6, D2 DJNZ R7,D1 RETTAB: ;数码管段码表 DB 0C0H,0F9H,0A4H,0B0HDB 099H,092H,082H,0F8H DB 080H,090H,088H,083H DB 0C6H,0A1H,086H,08EH END说明:此例与4*4键盘一样,先行线为0,列线为1;然后行线为1,列线

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论