资源描述:
《小键盘按键识别微机原理课程设计.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。微机原理与接口技术课程设计报告专业:班级:姓名:学号:指导教师评语:成绩:签名:年月日小键盘按键识别资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。一.课题任务与要求实验箱上有一个24键小键盘,出厂时按键接点已经按图所示连接。小键盘有8根横向引出线。实验前将8根横向引出线与PA0~PA7相连,3根纵向引出线与PB0~PB2相连,再从”I/O口地址译码器”选择一个译码器输出连接到8255的片选端,做好
2、上述连接之后,就构成了以8255为核心的键盘输入电路要求:在实际的自动控制系统中,键盘输入电路的作用是输入数据(0~9,A~F)或者输入控制信号(G,M,P,R,W,X,Y,S)。实现上述功能的核心程序是”按键识别”。本实验要求设计按键识别程序,当按下小键盘上某一个键的时候,主机屏幕显示闭合键的键名,按下小键盘”R”键之后停止演示。二.完成任务的方法或方案简介本程序显示数字0到9,刚刚开始提出两中解决方案一是用跳转法直接显示数值,二是用查找法间接显示数值,本程序是用第一种方案,虽然程序多了些
3、,但直观容易理解,故采纳第一种方案。DISPLAY函数用来将BUFFER中的键值显示在数码管上。设定A口方式0输出,B口方式0输入。GETINPUT函数经过行值和列值查出输入的键值,并将它保存在AL中,如果输入是R,则AL赋值为FFH;如果输入非法字资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。符,则AL赋值为0AH。设定如果是R则退出程序.CHANGE函数用来改变BUFFER中保存的键值,将BUFFER中的键值移位,最后一位加入AL中的新键值。CLOSEALL此函数用在退出程序时将
4、数码管关闭.以上是主题函数,在设计过程中还碰到了一些细节问题,例数码管的显示才用延迟20MS的办法解决,具体方案在DISPLAY函数中。三.实现系统1、程序框图:资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。预置:A口0PA7------AH=7?延时20ms预置:B口为方式0输出根据AX内容,查找键是R?结束演2、实验电路图:资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。3、8255方式选择控制字1D6D5D4D3D2D1D0方式A组方C下半A口C上半B组方B口式:
5、选择IO口IO:式:IO:口IO:4、源程序:控制00=方TITLELITTLEKEYBOARD资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。SSEGSEGMENTPARASTACK'STACK'DB256DUP(0)SSEGENDSDSEGSEGMENTA_8255EQU210HB_8255EQU211HCON_8255EQU213HBUFFERDB6DUP(0)HANGDB?LIEDB?NEWHANGDB?NEWLIEDB?TABLEDB3FH,06H,5BH,4FH,66H,6
6、DH,7DH,07H,7FH,6FH,DSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEG,SS:SSEGSTARTPROCNEARMOVAX,DSEGMOVDS,AXCALLCLOSEALL(关掉数码管,防止因为最初数码管有显示而使程序执行不正常。)CMPAGAIN: