实现特定功能的键盘及LED显示课程设计_第1页
实现特定功能的键盘及LED显示课程设计_第2页
实现特定功能的键盘及LED显示课程设计_第3页
实现特定功能的键盘及LED显示课程设计_第4页
实现特定功能的键盘及LED显示课程设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机原理与接口技术课程设计题目:实现特定功能的键盘及led显示页眉内容目录'、实验目的、实验内容、总体设计四、实验电路五、实验框图六、实验程序七、实验心得1、课程设计目的课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。2、实验设计内容:本次实验的主要内容是在了解键盘及LED显示接口原理的基础上,设计出相应的实验电路,以实现特定功能的键盘及LED显示。需要完成以下功能:按1键显示年;按2键显示月日;按3键显示GOOD;按4键数码管由左到右字符“0”循环显示。5.自行设计特效显示功能。实验主要涉及可编程的键盘、显示接口芯片8279和可编程中断控制器8259A。功能1至4是在可编程的键盘、显示接口芯片8279的基础上通过程序实现的。在功能5中,加入了中断,通过边沿触发产生中断,执行中断服务子程序,以此来时现功能5的特效(在数码管上从左、从右依次显示0—9的数字)。3、试验设计原理及方案:(含电路原理图、硬件连接示意图、系统功能框图、程序流程图等)3.1电路原理图系统功能框图程序流程图各功能实现方案3.4.1功能一按1键显示年当可编程的键盘、显示接口芯片8279扫描寄存器AL=02H时,说明按键为1号键。关于显示年份,首先定义一个显示缓冲区,用于存储表示年份的数字。然后依次读取其值,经过换码,再通过8279以左端入口方式显示与数码管上。程序段如下:MOVDX,D8279;键值输入INAL,DXCMPAL,02HJZYEARYEAR:MOVCX,04HAA:MOVDX,D8279;其余四位,显示0MOVAL,3FHOUTDX,ALLOOPAAMOVBX,OFFSETTABMOVSI,OFFSETDISPBUFF1+3;设置要显示的初始位MOVCX,4DISP1:MOVAL,[SI]XLAT;通过换码,再显示MOVDX,D8279OUTDX,ALDECSILOOPDISP1;依次读取数值9,0,0,2oooTABDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDISPBUFF1DB2,0,0,9;定义显示缓冲区3.4.2功能二按2键显示月日方法同功能一,当8279扫描寄存器AL=0AH时,说明按键为2号键。显示月日方法和显示年份一样,首先定义一个显示缓冲区,用于存储表示月日的数字。然后依次读取其值,经过换码,再通过8279以左端入口方式显示与数码管上。程序段如下:CMPAL,0AH;键值输入JZMONTHMONTH:MOVCX,04HBB:MOVDX,D8279;其余四位,显示0OUTDX,ALLOOPBBMOVBX,OFFSETTABMOVSI,OFFSETDISPBUFF2+3;设置要显示的初始位MOVCX,4DISP2:MOVAL,[SI]XLAT;通过换码,再显示MOVDX,D8279OUTDX,ALDECSI;依次读取数值1,3,8,0LOOPDISP2TABDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDISPBUFF2DB0,8,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,00HOUTDX,ALLOOPCLEARCALLDELAY;延时MOVCX,04HCC:MOVDX,D8279其余位显示0MOVAL,3FHOUTDX,ALLOOPCCMOVDX,D8279;显示DMOVAL,5EHOUTDX,ALMOVDX,D8279;显示OMOVAL,3FHOUTDX,ALMOVDX,D8279;显示MOVAL,3FHOUTDX,ALMOVDX,D8279MOVAL,6FHOUTDX,ALCALLDELAYDECBLCMPBL,00HJNZGOD3.4.4功能四按4键数码管由左到右字符“0循”环显示当8279扫描寄存器AL=01H时,说明按键为4号键MOVBL,01HC_DZERO:ZEROPROCNEARMOVDX,C8279外部译码)MOVAL,010HOUTDX,ALMOVCX,08HCLEAR1:MOVDX,D8279MOVAL,00HOUTDX,ALLOOPCLEAR1pusMOXcx,08HMOVBH,01HMOVCX,08HDZERO:;若已闪烁10次,则不再闪烁;修改8279配置(右边输入,八位显示,;清空LED数码管的显示;大循环计数小循环计数CMPBL,BH;相等则显示0,否则不显示JNENOAL_ZEROMOVAL,3FHNOAL_ZERO:MOVDX,D8279OUTDX,ALCALLDELAY;延时ROLBH,1LOOPDZEROPOPCXROLBL,1LOOPC_DZEROMOVDX,C8279;改回8279配置(左边输入,八位显示,外部译码)MOVAL,0HOUTDX,ALRETZEROENDP3.4.5功能五自行设计特效显示功能此功能的实现引入了中断技术,通过边沿触发中断,执行中断服务子程序,进而达到效果。(1)中断向量表的设置计8259的设置:CLI;设置中断向量MOVAX,0;设置中断向量IR0用于键盘中断MOVES,AXLEAAX,DATE;设置中断类型号08HMOVES:[4*08],AXMOVAX,CSMOVES:[4*08+2],AXMOVDX,INT00;8259配置MOVAL,13H需ICW4;设置ICW1边沿触发,单片8259A,OUTDX,ALNOPMOVDX,INT00;8259配置MOVAL,13H需ICW4;设置ICW1边沿触发,单片8259A,OUTDX,AL;设置ICW2中断类型号的高5位为MOVAL,01H方式OUTDX,ALMOVDX,INT01IN;设置ICW4非AEOI方式,完全嵌套AL,DXANDAL,OH;设置0CW1,开放IRO2)DATEOUTDX,ALSTI中断服务子程序:PR0CNEARPUSHAXPUSHBXPUSHCXPUSHDXM0VCX,O8HCLEAR2:M0VDX,D8279;清空LED数码管的显示M0VAL,OOH0UTDX,ALL00PCLEAR2M0VAH,OOHDIS:M0VCX,O8HDISP3:M0VAL,AH4、leabx,TABxlat;依次显示断码表中数字movdx,D8279outdx,alCALLDELAYLOOPDISP3INCAHTESTAH,01HJZX1MOVAL,010HMOVDX,C8279示,外部译码)OUTDX,ALCMPAH,09HJBEDISX1:MOVAL,00HMOVDX,C8279示,外部译码)OUTDX,ALCMPAH,09HJBEDISMOVDX,INT00MOVAL,20HOUTDX,ALPOPDXPOPCXPOPBXPOPAXIRETDATEendp汇编程序源代码C8279EQU222HD8279EQU220H;根据AH的奇偶性选择输入方式;修改8279配置(右边输入,八位显;修改8279配置(右边输入,八位显;中断结束命令INT00EQU200H;8259地址INT01EQU201HMODEEQU00H;左边输入,八位显示,外部译码FEQEQU38H;扫描频率CODESEGMENTASSUMECS:CODE,DS:CODESTART:PUSHCSPOPDSMOVDX,C8279;初始化8279MOVAL,MODEOUTDX,ALMOVAL,FEQOUTDX,ALCLI;设置中断向量MOVAX,0;设置中断向量IR0用于键盘中断MOVES,AXLEAAX,DATE;设置中断类型号08HMOVES:[4*08],AXMOVAX,CSMOVES:[4*08+2],AXMOVDX,INT00;8259配置MOVAL,13H;设置ICW1,边沿触发,单片8259A,需ICW4OUTDX,ALNOPMOVDX,INT01MOVAL,08H;设置ICW2,中断类型号的高5位为00001OUTDX,ALMOVAL,01H;设置ICW4,非AEOI方式,完全嵌套方式OUTDX,ALMOVDX,INT01INAL,DXANDAL,OH;设置0CW1,开放IROOUTDX,ALSTI;清FIFORAMBEGIN:M0VDX,C8279MOVAL,OC2HOUTDX,ALWAIT1:INAL,DXMOVBL,ALANDAL,8OHCMPAL,8OHJEWAIT1MOVAL,BLANDAL,OFHCMPAL,OOHJEWAIT1MOVAL,40H;读FIFO/传感器RAM命令OUTDX,ALMOVDX,D8279;键值输入INAL,DXCMPAL,02HJZYEARCMPAL,0ahJZMONTHCMPAL,22hJZGOODCMPAL,01hJZCALLZEROJMPBEGINYEAR:MOVCX,04HAA:MOVDX,D8279;其余四位,显示0MOVAL,3FHOUTDX,ALLOOPAAMOVBX,OFFSETTABMOVSI,OFFSETDISPBUFF1+3;设置要显示的初始位MOVCX,4DISP1:MOVAL,[SI]xlat;通过换码,再显示MOVDX,D8279OUTDX,ALDECSILOOPDISP1;依次读取数值9,0,0,2JMPBEGINMONTH:MOVCX,04HBB:MOVDX,D8279;其余四位,显示0MOVAL,3FHOUTDX,ALLOOPBBMOVBX,OFFSETTAB;设置要显示的初始位MOVSI,OFFSET;设置要显示的初始位MOVCX,4DISP2:MOVAL,[SI]XLATMOVDX,D8279OUTDX,ALDECSILOOPDISP2JMPBEGINGOOD:MOVBL,0AHGOD:MOVCX,08HCLEAR:MOVDX,D8279;通过换码,再显示;依次读取数值1,3,8,0;闪烁次数10次;清空LED数码管的显示MOVAL,00HOUTDX,ALLOOPCLEARCALLDELAY;延时MOVCX,04HCC:MOVDX,D8279其余位显示0MOVAL,3FHOUTDX,ALLOOPCCMOVDX,D8279;显示DMOVAL,5EHOUTDX,ALMOVDX,D8279MOVAL,3FHOUTDX,AL;显示O;显示GMOVDX,D8279MOVAL,3FHOUTDX,ALMOVDX,D8279MOVAL,6FHOUTDX,ALCALLDELAYDEC;显示O;显示GBL,00H;若已闪烁10次,则不再闪烁JNZGODJMPBEGINZEROPROCNEAR;修改8279配置(右边输入,八位显示,MOVDX,C8279外部译码)MOVAL,010HOUTDX,AL;清空LED;清空LED数码管的显示CLEAR1:MOVDX,D8279MOVAL,00HOUTDX,ALLOOPCLEAR1MOVCX,08H;大循环计数MOVBL,01HC_DZERO:PUSHCXMOVBH,01HMOVCX,08H;小循环计数DZERO:MOVAL,00HCMPBL,BH;相等则显示0,否则不显示JNENOAL_ZEROMOVAL,3FHNOAL_ZERO:MOVDX,D8279OUTDX,ALCALLDELAY;延时ROLBH,1LOOPDZEROPOPCXROLBL,1LOOPC_DZEROMOVDX,C8279;改回8279配置(左边输入,八位显示,外部译码)MOVAL,0HOUTDX,ALRETZEROENDPJMPBEGIN;重复执行DATEPROCNEARPUSHAXPUSHBXPUSHCXPUSHDXMOVCX,08H;清空LED数码管的显示CLEAR2:MOVDX,D8279MOVAL,00HOUTDX,ALLOOPCLEAR2MOVAH,00HDIS:MOVCX,08HDISP3:MOVAL,AHleabx,TABxlatmovdx,D8279outdx,alCALLDELAYLOOPDISP3INCAHTESTAH,01HJZX1MOVAL,010HMOVDX,C8279译码)修改8279配置(右边输入,八位显示,外部OUTDX,ALCMPAH,09HJBEDISX1:MOVAL,00HMOVDX,C8279译码)OUTDX,ALCMPAH,09H;修改8279配置(右边输入,八位显示,夕卜部JBEDISMOVDX,INT00MOVAL,20H;OUTDX,ALPOPDX

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论