资源描述:
《8155键盘显示实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、8155键盘显示实验实验五8155键盘显示实验一、实验目的1(掌握8155与单片机的接口电路和应用编程;2(掌握数码管显示数据的编程方法;3(掌握矩阵键盘编程的方法;二、实验内容8155与单片机及键盘显示模块连接,编程实现在最右边的数码管上显示按键号0-F(数字键)。三、实验设计1(硬件电路设计用8155的PB口输出字形码、PA口作为位扫描口和数码管显示模块相连接,用PA口作为键盘扫描口、PC口作为键值读入口和矩阵键盘模块电路相接。如图1-13和图1-14所示。8155的/CE、IO/M、/RD、/W
2、R、AD7-AD0等端口与单片机相应端口相接,8155各口地址如下:控制口:ff20h;PA口:FF21H;PB口:FF22H;PC口:FF23H。232(程序设计主程序流程图、键盘扫描子程序流程图、读键子程序流程图和显示子程序流程图见图4-1,4-2,4-3,4-4。开始8155初始化入口扫描键盘发扫描信号N有键按下,读键值YN有键按下,延时消抖Y有键标志位置位读键值显示键号返回图4-2键盘扫描子程序流程图24图4-1主程序流程图子程序入口子程序入口扫描第一列显示数据缓冲区首址Y有键按下,查表取字形
3、码N扫描第二列输出字形码Y有键按下,输出位扫描信号N…消隐Y扫描第八列6位扫完?Y有键按下,N显示缓冲区地址加1N判断键值存键号位扫描信号移向下一位返回返回图4-4显示子程序图4-3读键子程序流程图实验程序代码如下:KEYVALBIT20H.0MOVCA,@A+DPTRORG0050HMOVDPTR,#0FF22HCLRKEYVALMOVX@DPTR,AMAIN:MOVDPTR,#0FF20HMOVDPTR,#0FF21HMOVA,#03HMOVA,R1MOVX@DPTR,AMOVX@DPTR,AMO
4、VR4,#00HLCALLDELAY1MSSHOW:MOVR1,#0FEHLCALLSCANKEYBOARDMOVDPTR,#LEDCODEJBKEYVAL,JUDGEKEYMOVA,R4SJMPSHOW25JUDGEKEY:LCALLJUDGEMOVCA,@A+DPTRLCALLDISPMOVR4,AsJMPSHOWRETSCANKEYBOARD:DISP:MOVR2,#0FEHMOVA,R4MOVR3,#08HMOVDPTR,#LEDCODEMOVR0,#00HMOVCA,@A+DPTRCYCLE
5、:MOVA,R2MOVDPTR,#0FF22HMOVDPTR,#0FF21HMOVX@DPTR,AMOVX@DPTR,AMOVDPTR,#0FF21HRLAMOVA,#0FEHMOVR2,AMOVX@DPTR,AMOVDPTR,#0FF23HLCALLDELAY1MSMOVXA,@DPTRMOVDPTR,#0FF22HANLA,#03HMOVA,#0FFHCJNEA,#03H,DELAYMOVX@DPTR,AJJ:INCR0RETDJNZR3,CYCLEDELAY1MS:RETMOVR6,#5DELA
6、Y:DLY:MOVR7,#100LCALLDELAY12MSDJNZR7,$MOVDPTR,#0FF23HDJNZR6,DLYMOVXA,@DPTRRETANLA,#03HDELAY12MS:CJNEA,#03H,SETFLAGMOVR7,#18HSJMPJJL1:MOVR6,#0FFHSETFLAG:L2:DJNZR6,L2SETBKEYVALDJNZR7,L1RETMOVR6,#00JUDGE:MOVR7,#00JBACC.0,JUDGE1RETMOVA,#00HSJMPJUDGE2JUDGE1:
7、JBACC.1,JUDGE2MOVA,#08HJUDGE2:ADDA,R0MOVDPTR,#KEYTABKEYTAB:DB07H,04H,08H,05H,09H,06H,0AH,0BH,01H,00H,02H,0FH,03H,0EH,0CH,0DHLEDCODE:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HDB88H,83H,0C6H,0A1H,86H,8EH,0FFH,0F1H,0C6H,92H,0BFHEND24