




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理与接口技术课 程 设 计题目:实现特定功能的键盘及LED显示目 录一、实验目的二、实验内容三、总体设计四、实验电路五、实验框图六、实验程序七、实验心得1、 课程设计目的课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。2、 实验设计内容:本次实验的主要内容是在了解键盘及LED显示接口原理的基础上,设计出相应的实验电路,以实现特定功能的键盘及LED显示。需要完成以下功能:1. 按1键显示年;2. 按2键显示月日;3. 按3键显示GOOD ; 4. 按4键数码管由左到右字符“0”循环显示。5自行设计特效显示功能。实验主要涉及可编程的键盘、显示接口芯片8279和可编程中断控制器8259A。功能1至4是在可编程的键盘、显示接口芯片8279的基础上通过程序实现的。在功能5中,加入了中断,通过边沿触发产生中断,执行中断服务子程序,以此来时现功能5的特效(在数码管上从左、从右依次显示09的数字)。3、 试验设计原理及方案:(含电路原理图、硬件连接示意图、系统功能框图、程序流程图等)3.1电路原理图3.2系统功能框图3.3程序流程图3.4各功能实现方案3.4.1 功能一 按1键显示年当可编程的键盘、显示接口芯片8279扫描寄存器AL=02H时,说明按键为1号键。关于显示年份,首先定义一个显示缓冲区,用于存储表示年份的数字。然后依次读取其值,经过换码,再通过8279以左端入口方式显示与数码管上。程序段如下:MOV DX,D8279;键值输入IN AL,DXCMP AL,02H JZ YEARYEAR:MOV CX,04HAA:MOV DX,D8279 ;其余四位,显示0 MOV AL,3FH OUT DX,AL LOOP AA MOV BX,OFFSET TAB MOV SI,OFFSET DISPBUFF1+3 ;设置要显示的初始位 MOV CX,4DISP1:MOV AL,SI XLAT ;通过换码,再显示 MOV DX,D8279 OUT DX,AL DEC SI LOOPDISP1 ;依次读取数值9,0,0,2 。TAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDISPBUFF1 DB 2,0,0,9 ;定义显示缓冲区 3.4.2 功能二 按2键显示月日方法同功能一,当8279扫描寄存器AL=0AH时,说明按键为2号键。显示月日方法和显示年份一样,首先定义一个显示缓冲区,用于存储表示月日的数字。然后依次读取其值,经过换码,再通过8279以左端入口方式显示与数码管上。程序段如下:CMP AL,0AH ;键值输入 JZ MONTHMONTH:MOV CX,04HBB:MOV DX,D8279 ;其余四位,显示0 MOV AL,3FH OUT DX,AL LOOP BB MOV BX,OFFSET TAB MOV SI,OFFSET DISPBUFF2+3 ;设置要显示的初始位 MOV CX,4DISP2:MOV AL,SI XLAT ;通过换码,再显示 MOV DX,D8279 OUT DX,AL DEC SI ;依次读取数值1,3,8,0 LOOPDISP2。TAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDISPBUFF2 DB 0,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:MOV BL,0AH ;闪烁次数10次GOD: MOV CX,08H ;清空LED数码管的显示 CLEAR:MOV DX,D8279 MOV AL,00H OUT DX,AL LOOP CLEAR CALL DELAY ;延时 MOV CX,04HCC:MOV DX,D8279 其余位显示0 MOV AL,3FH OUT DX,AL LOOP CC MOV DX,D8279 ;显示D MOV AL,5EH OUT DX,AL MOV DX,D8279 ;显示O MOV AL,3FHOUT DX,ALMOV DX,D8279 ;显示OMOV AL,3FHOUT DX,ALMOV DX,D8279 ;显示GMOV AL,6FHOUT DX,ALCALL DELAYDEC BL CMP BL,00H ;若已闪烁10次,则不再闪烁JNZ GOD3.4.4 功能四 按4键数码管由左到右字符“0”循环显示当8279扫描寄存器AL=01H时,说明按键为4号键。ZERO PROC NEARMOV DX,C8279 ;修改8279配置(右边输入,八位显示,外部译码)MOV AL,010HOUT DX,ALMOV CX,08H ;清空LED数码管的显示 CLEAR1:MOV DX,D8279MOV AL,00HOUT DX,ALLOOP CLEAR1MOV CX,08H ;大循环计数MOV BL,01HC_DZERO:PUSH CXMOV BH,01HMOV CX,08H ;小循环计数DZERO:MOV AL,00HCMP BL,BH ;相等则显示0,否则不显示JNE NOAL_ZEROMOV AL,3FHNOAL_ZERO:MOV DX,D8279OUT DX,ALCALL DELAY ;延时ROL BH,1LOOP DZEROPOP CXROL BL,1LOOP C_DZEROMOV DX,C8279 ;改回8279配置(左边输入,八位显示,外部译码)MOV AL,0HOUT DX,ALRETZERO ENDP3.4.5 功能五 自行设计特效显示功能此功能的实现引入了中断技术,通过边沿触发中断,执行中断服务子程序,进而达到效果。(1) 中断向量表的设置计8259的设置:CLI;设置中断向量MOV AX,0;设置中断向量IR0用于键盘中断MOV ES,AXLEA AX,DATE;设置中断类型号08HMOV ES:4*08,AXMOV AX,CSMOV ES:4*08+2,AXMOV DX,INT00;8259配置MOV AL,13H;设置ICW1,边沿触发,单片8259A,需ICW4OUT DX,ALNOPMOV DX,INT01MOV AL,08H;设置ICW2,中断类型号的高5位为00001OUT DX,ALMOV AL,01H;设置ICW4,非AEOI方式,完全嵌套方式OUT DX,ALMOV DX,INT01IN AL,DXAND AL,0H;设置OCW1,开放IR0OUT DX,ALSTI(2) 中断服务子程序:DATE PROC NEAR PUSH AXPUSH BXPUSH CXPUSH DXMOV CX,08H CLEAR2: MOV DX,D8279 ;清空LED数码管的显示MOV AL,00HOUT DX,ALLOOP CLEAR2MOV AH,00HDIS:MOV CX,08HDISP3:MOV AL,AH lea bx,TAB ;依次显示断码表中数字xlatmov dx,D8279out dx,al CALL DELAYLOOP DISP3INC AHTEST AH,01H ;根据AH的奇偶性选择输入方式JZ X1MOV AL,010HMOV DX,C8279 ;修改8279配置(右边输入,八位显示,外部译码)OUT DX,ALCMP AH,09HJBE DISX1:MOV AL,00HMOV DX,C8279 ;修改8279配置(右边输入,八位显示,外部译码)OUT DX,ALCMP AH,09HJBE DISMOV DX,INT00 ;中断结束命令MOV AL,20H OUT DX,ALPOP DXPOP CXPOP BXPOP AXIRETDATE endp4、 汇编程序源代码C8279 EQU 222HD8279 EQU 220HINT00 EQU 200H;8259地址INT01 EQU 201HMODE EQU 00H;左边输入,八位显示,外部译码FEQ EQU 38H;扫描频率CODE SEGMENTASSUME CS:CODE,DS:CODESTART: PUSH CSPOP DSMOV DX,C8279;初始化8279MOV AL,MODEOUT DX,ALMOV AL,FEQOUT DX,ALCLI;设置中断向量MOV AX,0;设置中断向量IR0用于键盘中断MOV ES,AXLEA AX,DATE;设置中断类型号08HMOV ES:4*08,AXMOV AX,CSMOV ES:4*08+2,AXMOV DX,INT00;8259配置MOV AL,13H;设置ICW1,边沿触发,单片8259A,需ICW4OUT DX,ALNOPMOV DX,INT01MOV AL,08H;设置ICW2,中断类型号的高5位为00001OUT DX,ALMOV AL,01H;设置ICW4,非AEOI方式,完全嵌套方式OUT DX,ALMOV DX,INT01IN AL,DXAND AL,0H;设置OCW1,开放IR0OUT DX,ALSTI;清FIFO RAMBEGIN:MOV DX,C8279MOV AL,0C2HOUT DX,ALWAIT1:IN AL,DXMOV BL,ALAND AL,80HCMP AL,80HJEWAIT1MOV AL,BLAND AL,0FHCMP AL,00H JEWAIT1MOV AL,40H ;读FIFO/传感器RAM命令OUT DX,ALMOV DX,D8279;键值输入IN AL,DXCMP AL,02HJZ YEARCMP AL,0ahJZ MONTHCMP AL,22hJZ GOODCMP AL,01hJZ CALL ZEROJMP BEGIN;=YEAR:MOV CX,04HAA:MOV DX,D8279 ;其余四位,显示0 MOV AL,3FH OUT DX,AL LOOP AA MOV BX,OFFSET TAB MOV SI,OFFSET DISPBUFF1+3 ;设置要显示的初始位 MOV CX,4DISP1:MOV AL,SI XLAT ;通过换码,再显示 MOV DX,D8279 OUT DX,AL DEC SI LOOPDISP1 ;依次读取数值9,0,0,2JMP BEGIN;=MONTH:MOV CX,04HBB:MOV DX,D8279 ;其余四位,显示0 MOV AL,3FH OUT DX,AL LOOP BB MOV BX,OFFSET TAB MOV SI,OFFSET DISPBUFF2+3 ;设置要显示的初始位 MOV CX,4DISP2:MOV AL,SI XLAT ;通过换码,再显示 MOV DX,D8279 OUT DX,AL DEC SI ;依次读取数值1,3,8,0 LOOPDISP2JMP BEGINGOOD:MOV BL,0AH ;闪烁次数10次GOD: MOV CX,08H ;清空LED数码管的显示 CLEAR:MOV DX,D8279 MOV AL,00H OUT DX,AL LOOP CLEAR CALL DELAY ;延时 MOV CX,04HCC:MOV DX,D8279 其余位显示0 MOV AL,3FH OUT DX,AL LOOP CC MOV DX,D8279 ;显示D MOV AL,5EH OUT DX,AL MOV DX,D8279 ;显示O MOV AL,3FHOUT DX,ALMOV DX,D8279 ;显示OMOV AL,3FHOUT DX,ALMOV DX,D8279 ;显示GMOV AL,6FHOUT DX,ALCALL DELAYDEC BL CMP BL,00H ;若已闪烁10次,则不再闪烁JNZ GODJMP BEGINZERO PROC NEARMOV DX,C8279 ;修改8279配置(右边输入,八位显示,外部译码)MOV AL,010HOUT DX,ALMOV CX,08H ;清空LED数码管的显示 CLEAR1:MOV DX,D8279MOV AL,00HOUT DX,ALLOOP CLEAR1MOV CX,08H ;大循环计数MOV BL,01HC_DZERO:PUSH CXMOV BH,01HMOV CX,08H ;小循环计数DZERO:MOV AL,00HCMP BL,BH ;相等则显示0,否则不显示JNE NOAL_ZEROMOV AL,3FHNOAL_ZERO:MOV DX,D8279OUT DX,ALCALL DELAY ;延时ROL BH,1LOOP DZEROPOP CXROL BL,1LOOP C_DZEROMOV DX,C8279 ;改回8279配置(左边输入,八位显示,外部译码)MOV AL,0HOUT DX,ALRETZERO ENDPJMP BEGIN ;重复执行DATE PROC NEAR PUSH AXPUSH BXPUSH CXPUSH DXMOV CX,08H ;清空LED数码管的显示CLEAR2: MOV DX,D8279MOV AL,00HOUT DX,ALLOOP CLEAR2MOV AH,00HDIS:MOV CX,08HDISP3:MOV AL,AH lea bx,TABxlatmov dx,D8279out dx,al CALL DELAYLOOP DISP3INC AHTEST AH,01HJZ X1MOV AL,010HMOV DX,C8279 ;修改8279配置(右边输入,八位显示,外部译码)OUT DX,ALCMP AH,09HJBE DISX1:MOV AL,00HMOV DX,C8279 ;修改8279配置(右边输入,八位显示,外部译码)OUT DX,ALCMP AH,09HJBE DISMOV DX,IN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 品牌与价格关联性-洞察及研究
- 部队交通安全培训内容课件
- 河南省南阳市镇平县2024-2025学年八年级下学期3月月考生物学试题(含答案)
- 20xx建设承诺书4篇
- 【2025年秋七上语文阶段测试】第3单元学业质量评价01(解析版)
- 山东省2025年普通高校招生网上报名信息表
- 车险销售原理课件
- 基于区块链的分离式墨盒供应链溯源系统构建瓶颈
- 城市更新浪潮中商务综合体功能迭代与社区服务融合的设施适配性
- 国际奢侈品赛道中东方纹样溢价权争夺的定价权困局
- IInterlib区域图书馆集群管理系统-用户手册
- EnglishDrama英语戏剧写作及表演技巧课件
- DB11T 827-2019 废旧爆炸物品销毁处置安全管理规程
- 社会组织管理概论全套ppt课件(完整版)
- 轧机设备安装施工方案
- DB31∕T 926-2015 城镇供水管道水力冲洗技术规范
- (完整版)IATF16949新版过程乌龟图的编制与详解课件
- 制药企业仓库温湿度分布的验证
- 满堂脚手架工程施工方案
- LY∕T 2705-2016 樟脑磺酸
- GB∕T 3099.4-2021 紧固件术语 控制、检查、交付、接收和质量
评论
0/150
提交评论