资源预览内容
第1页 / 共30页
第2页 / 共30页
第3页 / 共30页
第4页 / 共30页
第5页 / 共30页
第6页 / 共30页
第7页 / 共30页
第8页 / 共30页
第9页 / 共30页
第10页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
LED 七段数码管数字钟 目目 录录一、设计任务书 .3二、设计题目 .3三、设计方案 .3四、硬件原理 .41.七段数码管显示.42.键盘扫描显示.53.8253 计数器和 8259 中断 .64.硬件连接.6五、程序流程图及程序清单 .71.七段数码管显示.82. 键盘扫描显示.93.定时器设计.124.总程序设计.15六、调试过程及结果 .29七、设计总结和体会 .30八、参考文献 .30微 机 原 理 与 接 口 技 术课 程 设 计 报 告一、设计任务书一、设计任务书微机原理及接口技术是一门应用性、综合性、实践性较强的课程,没有实际的有针对性的设计环节,我们就不能很好的理解和掌握所学的技术知识,更缺乏解决实际问题的能力。所以通过有针对性的课程设计,会使我们学会系统地综合运用所学的理论知识,提高我们在微机应用方面的开发与设计本领,系统的掌握微机硬软件设计方法。通过课程设计实践,不仅要培养我们的实际动手能力,检验我们对本门课学习的情况,更要培养我们在实际的工程设计中查阅专业资料、工具书或参考书,掌握工程设计手段和软件工具,并能用设计报告表达设计思想和结果的能力。培养我们实事求是和严肃认真的工作态度。通过设计过程,要求我们熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使我们得到微机开发应用方面的初步训练。集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计,我们要熟练掌握微机系统与接口扩展电路的设计方法,熟练应用 8086 汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。二、设计题目二、设计题目LED 七段数码管数字钟:1设计并完成 LED 七段数码管数字钟电路。2数字钟显示格式为:HH:MM:SS。 3具有通过键盘能够调整时、分、秒的功能。三、设计方案三、设计方案本设计采用 LAB6000 伟福仿真实验箱,利用 4MHz 脉冲信号源和多级分频电路产生脉冲信号,4MHz 脉冲信号经过 F/64 分频后得到 62.5KHz 脉冲信号,将脉冲信号传递给 8253 定时器,定时器每 0.000016 秒中断一次,在中断服务程序中对中断次数进行计数,0.000016 秒计数 62500 次就是 1 秒,然后在对秒计数得到分和小时值,并送入显示缓冲区,用总线方式控制数码管显示。同时,利用实验箱提供的键盘扫描电路和显示电路来调整时、分、秒。四、硬件原理四、硬件原理1.七段数码管显示图 1. 七段数码管 七段数码管的字型代码表如下表:显示字形gfedcba段码001111113fh1000011006h210110115bh310011114fh4110011066h511011016dh611111017dh7000011107h811111117fh911011116fhA111011177hB11111007chC011100139hD10111105ehE111100179hF111000171h表 1. 段数码管的字型代码表图 2. 八段数码 LED 显示电路实验箱提供了 6 位八段数码 LED 显示电路,只要按地址输出相应数据,就可以实现对显示器的控制。将 KEY/LED CS 接到 CS0 上,则实验箱中八位段码输出地址为 08004H,位码输出地址为 08002H。2.键盘扫描显示图 3. 键盘扫描电路实验箱提供了一个 64 的小键盘,将 KEY/LED CS 信号接到 CS0 上,则列扫描地址为 08002H,行码地址为 08001H。向列扫描码地址逐列输入低电平,然后从行码地址读回。如果有键按下,则相应行的值应为低,如果无键按下,由于上拉的作用,行码为高。这样就可以通过输出的列码和读取的行码来判断按下的是什么键。在判断有键按下后,要有一定的时延,防止键盘抖动。3.8253 计数器和 8259 中断图 4. 8253 计数器扩展电路图 5. 8259 中断扩展电路4.硬件连接8253 用定时器/计数器 1,8253 片选接 CS4,地址为 0C000H,8253 时钟源CLK1 接分频电路的 F/64 输出,频器的 Fin 接 4MHz 时钟,8253 的 GATE1 接VCC;8259 中断 INT0 接 8253 的 OUT1,片选接 CS5,地址为 0D000H。显示电路的 KEY/LED CS 接 CS0,地址为 08000H。五、程序流程图及程序清单五、程序流程图及程序清单通过调查研究,查阅资料,我初步确定系统结构的总体方案,并依此画出了主程序框图:图 6. 主程序框图根据主程序框图,要实现电子时钟,必须先实现七段数码管显示、键盘扫描显示、定时器以及将输入的键值转换为显示数据。为了实现上述四个功能,我又设计了三个子模块的流程图,并完成了相应的程序设计。1.七段数码管显示图 7. 七段数码管显示子程序框图七段数码管显示子程序清单:DisplayLED proc nearmov bx, offset LEDBufmov cl, 6 ; 共 6 个八段管mov ah, 00100000b ; 从左边开始显示 DLoop:mov dx, OUTBITmov al, 0out dx,al ; 关所有八段管mov al, bxmov dx, OUTSEGout dx,almov dx, OUTBITmov al, ahout dx, al ; 显示一位八段管push axmov ah, 1call Delaypop axshr ah, 1inc bxdec cljnz DLoopmov dx, OUTBITmov al, 0out dx,al ; 关所有八段管ret DisplayLED endp 2. 键盘扫描显示图 8. 读键输入子程序框图键盘扫描子程序清单:TestKey proc near ; 判断有无键入mov dx, OUTBITmov al, 0out dx, al ; 输出线置为 0mov dx, IN_KEYin al, dx ; 读入键状态not aland al, 0fh ; 高四位不用ret TestKey endp GetKey proc near ; 读入键码mov ch, 00100000bmov cl, 6 KLoop:mov dx, OUTBITmov al, ch ; 找出键所在列not alout dx, alshr ch, 1mov dx, IN_KEYin al, dxnot aland al, 0fhjne Goon_ ; 该列有键入dec cljnz KLoopmov cl, 0ffh ; 没有键按下, 返回 0ffhjmp Exit1 Goon_:dec clshl cl, 2 ; 键值 = 列 X 4 + 行mov ch, 4 LoopC:test al, 1jnz Exit1shr al, 1inc cldec chjnz LoopC Exit1:mov dx, OUTBITmov al, 0out dx, almov ch, 0mov bx, offset KeyTableadd bx, cxmov al, bx ; 取出键码mov bl, al WaitRelease:mov dx, OUTBITmov al, 0out dx, al ; 等键释放mov ah, 10call Delaycall TestKeyjne WaitReleasemov al, blret GetKey endp3.定时器设计 图 9. 定时中断服务子程序框图定时器设计的程序清单:IEnter proc nearpush axpush dxinc Secondmov al, Secondcmp al, 60jne Exitmov Second, 0inc Minutemov al, Minutecmp al, 60jne Exitmov Minute, 0inc Hourmov al, Hourcmp al, 24jne Exitmov Hour, 0 Exit:mov dx, CS8259Amov al, 20h ; 中断服务程序结束指令out dx, alpop op axiret IEnter endp IInit procmov dx, CS8259Amov al, ICW1out dx, almov dx, CS8259Bmov al, ICW2out dx, almov al, ICW4out dx, almov al, OCW1out dx, alret IInit endp start proc nearmov ax, datamov ds, axmov Hour, 0mov Minute, 0mov Second, 0climov ax, 0mov ds, axmov al, 76h; 01110110B ; 计数器 1,16 位,方式 3,二进制mov dx, CONTROLout dx, almov ax, 62500mov dx, COUNT1out dx, al ; 计数器低字节mov al, ahout dx, al
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号