资源描述:
《实现特定功能的键盘及LED显示课程设计.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、微机原理与接口技术课程设计题目:实现特定功能的键盘及LED显示目录一、实验目的……………………………………二、实验内容……………………………………三、总体设计……………………………………四、实验电路……………………………………五、实验框图……………………………………六、实验程序……………………………………七、实验心得……………………………………1、课程设计目的课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。它具有动手、动脑和理论联系实际
2、的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。2、实验设计内容:本次实验的主要内容是在了解键盘及LED显示接口原理的基础上,设计出相应的实验电路,以实现特定功能的键盘及LED显示。需要完成以下功能:1.按1键显示年;2.按2键显示月日;3.按3键显示GOOD;4.按4键数码管由左到右字符“0”循环显示。5.自行设计特效显示功能。实验主要涉及可编程的键盘、显示接口芯片8279和可编程中断控制器8259A。功能1至4是在可编程
3、的键盘、显示接口芯片8279的基础上通过程序实现的。在功能5中,加入了中断,通过边沿触发产生中断,执行中断服务子程序,以此来时现功能5的特效(在数码管上从左、从右依次显示0—9的数字)。3、试验设计原理及方案:(含电路原理图、硬件连接示意图、系统功能框图、程序流程图等)3.1电路原理图3.2系统功能框图3.3程序流程图3.4各功能实现方案3.4.1功能一按1键显示年当可编程的键盘、显示接口芯片8279扫描寄存器AL=02H时,说明按键为1号键。关于显示年份,首先定义一个显示缓冲区,用于存储表示年份
4、的数字。然后依次读取其值,经过换码,再通过8279以左端入口方式显示与数码管上。程序段如下:MOVDX,D8279;键值输入INAL,DXCMPAL,02HJZYEARYEAR:MOVCX,04HAA:MOVDX,D8279;其余四位,显示0MOVAL,3FHOUTDX,ALLOOPAAMOVBX,OFFSETTABMOVSI,OFFSETDISPBUFF1+3;设置要显示的初始位MOVCX,4DISP1:MOVAL,[SI]XLAT;通过换码,再显示MOVDX,D8279OUTDX,ALDECS
5、ILOOPDISP1;依次读取数值9,0,0,2。。。TABDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDISPBUFF1DB2,0,0,9;定义显示缓冲区3.4.2功能二按2键显示月日方法同功能一,当8279扫描寄存器AL=0AH时,说明按键为2号键。显示月日方法和显示年份一样,首先定义一个显示缓冲区,用于存储表示月日的数字。然后依次读取其值,经过换码,再通过8279以左端入口方式显示与数码管上。程序段如下:CMPAL,0AH;键值输入JZMONTHMONT
6、H:MOVCX,04HBB:MOVDX,D8279;其余四位,显示0MOVAL,3FHOUTDX,ALLOOPBBMOVBX,OFFSETTABMOVSI,OFFSETDISPBUFF2+3;设置要显示的初始位MOVCX,4DISP2:MOVAL,[SI]XLAT;通过换码,再显示MOVDX,D8279OUTDX,ALDECSI;依次读取数值1,3,8,0LOOPDISP2。。。。。TABDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDISPBUFF2DB0,8
7、,3,1;定义显示缓冲区3.4.3功能三按3键显示GOOD将G,O,O,D分别以七段代码6FH,3FH,3FH,5EH代替,由于8279为左端入口方式,所以应依次将5EH,3FH,3FH,6FH送与8279数据端,以显示GOOD字样。然后清空LED数码管的显示,再将以上代码送与8279,并通过延时,让GOOD字样以闪烁方式显示与数码管。程序如下:GOOD:MOVBL,0AH;闪烁次数10次GOD:MOVCX,08H;清空LED数码管的显示CLEAR:MOVDX,D8279MOVAL,00HOUTD
8、X,ALLOOPCLEARCALLDELAY;延时MOVCX,04HCC:MOVDX,D8279其余位显示0MOVAL,3FHOUTDX,ALLOOPCCMOVDX,D8279;显示DMOVAL,5EHOUTDX,ALMOVDX,D8279;显示OMOVAL,3FHOUTDX,ALMOVDX,D8279;显示OMOVAL,3FHOUTDX,ALMOVDX,D8279;显示GMOVAL,6FHOUTDX,ALCALLDELAYDECBLCMPBL,00H;若已闪烁10次,则不再闪烁J