资源描述:
《小键盘按键识别数码管移位显示 报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、小键盘按键识别数码管移位显示罗定辉王崇明王凯刘钰孟小涛时彬彬设计内容:用系统小键盘输入控制数码管的移位显示。设计目的:掌握“行扫描”按键识别的原理,掌握行扫描按键识别的编程技术设计要求:用行扫描技术识别小键盘.将小键盘键入的任意长度的由0—9组成的数字串,采用左移位显示的方法显示任数码管上(仿照移动电话显示屏的显示效果),当小键盘按下F键时,程序结束。一、课程设计的目的和意义:学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼,它具有动手、动脑,理论联系实际的特点,是培
2、养我们工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一种较好方法。通过这次设计实践能够进一步加深我们对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。二、总体设计方案按键的识别方法如下:键盘一般都是矩阵排列,行和列分别按微机的输出、输入端口,每个键都跨接在某行和某列上,当键按下时,该行与该列短路。输入的端口线一般都通过电阻上拉至高电平。识别链盘上的闭合键的常用方法有行扫描法.行扫描法是使键盘的某一行输出为低电乎,其余行为高电平,然后读取列值,
3、如果列值中有某位为低电平,则表明行列交点处的键被按下;若为全高则再扫描下一行,直至扫完全部的行线为止。这样便可知有否键按下,若有键按下还可以知道是哪一行哪一列交点的键按下。键盘连接(低四位输入,高四位输出)PC3PC2PC1PC0FEDCPC4BA98PC57654PC63210PC7PA0~PA7BIT1~8PB0~PB7A~H8255CS接060H~07FH键对应的键值80H81H82H83H40H41H42H43H20H21H22H23H10H11H12H13H实际连线图编程:CODESEGMENTASSUMECS:CODEIOCONPTEQ
4、U0073H;控制口地址IOCEQU0072H;C口地址IOBEQU0071HIOAEQU0070HDISBUFFEQU0500HKEYFLAGEQU0510HKEYBUFFEQU0511HCOUNTEQU0512HORG1000HSTART:JMPMAINMAIN:CALLINIT8255NOPMOVBYTEPTRDS:[DISBUFF],10H;关闭显示缓冲区MOVBYTEPTRDS:[DISBUFF+1],10HMOVBYTEPTRDS:[DISBUFF+2],10HMOVBYTEPTRDS:[DISBUFF+3],10HMOVBYTEPTR
5、DS:[DISBUFF+4],10HMOVBYTEPTRDS:[DISBUFF+5],10HMOVBYTEPTRDS:[DISBUFF+6],10HMOVBYTEPTRDS:[DISBUFF+7],10HMOVBYTEPTRDS:[COUNT],00;键入次数MOVBYTEPTRDS:[KEYBUFF],10HLP:CALLDISP;调用显示子程序NOPNOPCALLKEY;调用读键值程序MOVAL,BYTEPTRDS:[KEYBUFF];检测键入值是否为’F’XORAL,0FHANDAL,0FFHJZEXIT1;是’F’跳出MOVBX,DS:[C
6、OUNT]MOVAL,BYTEPTRDS:[KEYBUFF];将新的键入值放入最低位MOVBYTEPTRDS:[DISBUFF],ALMOVAL,08;检测是否已键入8个值CMPAL,DS:[COUNT]JELP1JMPLP;不满8个,循环LP1:MOVWORDPTRDS:[COUNT],00NOPJMPLPINIT8255:MOVAL,88H;8255初始化A、B口方式零输出,C口高四位输入,低四位输出MOVDX,IOCONPTOUTDX,ALMOVDX,IOCMOVAL,0FH;键盘的行全置为高电平OUTDX,ALNOPRET;函数返回DISP
7、:PUSHCX;显示子程序MOVDX,DISBUFF;将缓冲区首地址的值显示MOVAH,0FEH;位选端,在最右端显示DISP0:MOVCX,10H;设定循环次数MOVBX,DXMOVBL,DS:[BX]MOVBH,0HPUSHDXMOVDX,IOBMOVAL,BYTEPTRDS:[BX+DATA];查表得相应数对应的LED的编码OUTDX,ALMOVDX,IOAMOVAL,AHOUTDX,ALDISP1:LOOPDISP1;循环延时MOVAL,0FFH;0FH;关显示OUTDX,ALPOPDXINCDX;去下一个缓冲地址STCROLAH,01h;
8、位选端数据左移JCDISP0;有溢出,循环MOVDX,IOB;关显示MOVAL,00hOUTDX,ALMOVDX,IOAM