资源描述:
《8255扫描键盘、显示实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验九8255扫描键盘、显示实验一.实验要求利用8255可编程并行口做一个扫描键盘实验,把按键输入的键码,显示在由8279控制的七段数码管上。8255PA口做键盘输入线,PB口作扫描线。二.实验目的1.掌握8255编程方法。2.掌握扫描键盘和显示的编程方法。三.实验电路及连线CS8255接8500H,则命令字地址为8506H,PA口地址为8500H,PB口地址为8502H,PC口地址为8504H。CS8279接8700H,则8279的状态口地址为8701H;8279的数据口地址为8700H;模块中的十个短路套都套在8255侧。四.实验说明在
2、PA口与PB口组成的64点阵列上,把按键接在不同的点上,将得到不同的键码,本实验采用8×2的阵列,共可按16个键。显示部分由8279控制,由7407驱动8位数码管显示。五.实验程序框图 主程序框图 读键显示部分框图六.实验程序:D8255EQU8506H;8255状态/数据口地址D8255AEQU8500H;8255PA口地址D8255BEQU8502H;8255PB口地址Z8279EQU8701H;8279状态口地址D8279EQU8700H;8279数据口地址DISPTREQU08H;当前显示位置
3、KEYVALEQU09H;读到的键码ORG0000HLJMPSTARTORG0040HSTART:MOVSP,#60HLCALLDELAY;延时MOVDISPTR,#30H;显示缓冲区头指针MOVDPTR,#D8255MOVA,#90H;置8255状态;方式0,PB,PC口输出,PA口输入MOVX@DPTR,AMOVDPTR,#Z8279;置8279命令字MOVA,#0D3HMOVX@DPTR,A;清LED显示MOVA,#00HMOVX@DPTR,AMOVA,#38HMOVX@DPTR,AMOVA,#0D1HKB_DIS:LCALLRD_K
4、B;读键盘MOVA,#0FFHCJNEA,KEYVAL,DISBUF;判读到键SJMPKB_DIS;没有则继续读键DISBUF:LCALLDISP;把键移入显存LCALLDELAY;延时消抖LCALLDELAYSJMPKB_DISDISP:;显存依次前移MOVR1,#31H;在最后加入新键值MOVE:MOVA,@R1DECR1MOV@R1,AINCR1INCR1CJNER1,#38H,MOVEMOV37H,KEYVALMOVKEYVAL,#0FFHMOVDPTR,#Z8279MOVA,#90HMOVX@DPTR,AMOVR0,#08HMOV
5、R1,#30HMOVDPTR,#D8279LP:MOVA,@R1MOVX@DPTR,AINCR1DJNZR0,LPRETRD_KB:;键盘扫描MOVA,#02H;扫描第一行MOVDPTR,#D8255BMOVX@DPTR,AMOVDPTR,#D8255AMOVXA,@DPTRMOVR1,#00HCJNEA,#0FFH,KEYCAL;判键是否按下MOVA,#01H;扫描第二行MOVDPTR,#D8255BMOVX@DPTR,AMOVDPTR,#D8255AMOVXA,@DPTRMOVR1,#08HCJNEA,#0FFH,KEYCALSJMPN
6、OKEY;无键按下KEYCAL:;计算键码MOVR0,#08HSHIFT:RRCAJNCCALCINCR1DJNZR0,SHIFTCALC:;换算显示码MOVDPTR,#DL_DATMOVA,R1MOVCA,@A+DPTRMOVKEYVAL,ARETNOKEY:MOVKEYVAL,#0FFH;返回无键标志RETDELAY:MOVR0,#0H;延时子程序DELAY1:MOVR1,#0HDJNZR1,$DJNZR0,DELAY1RETDL_DAT:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H;0,1,2,3,4,5,6,7
7、DB7FH,6FH,77H,7CH,39H,5EH,79H,71H;8,9,A,B,C,D,E,FEND实验十8279显示实验一.实验要求编制程序,利用8279及键盘显示接口电路,编程实现按键的读取,并将按键值显示在数码管上。二.实验目的1.掌握在8031系统中扩展8279键盘显示接口的方法。2.掌握8279工作原理和编程方法。三.实验电路及连线CS8279接8700H。模块中的十个短路套都套在8279侧。四.实验说明利用8279可实现对键盘/显示器的自动扫描,以减轻CPU负担,并具有显示稳定、程序简单、不会出现误动作等特点。本实验系统中8
8、279的状态/命令口地址位8701H;数据口地址位8700H。示例程序运行将显示"8279--",并等待按键输入,将键值显示在数码管上(只响应0-F按键)。五.实验程序框图