微机原理课程设计报告_第1页
微机原理课程设计报告_第2页
微机原理课程设计报告_第3页
微机原理课程设计报告_第4页
微机原理课程设计报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、 微机原理课程设计报告设计名称:LED七段数码管数字钟学院:电子信息学院 班级:电科091姓名: 张磊 学号:姓名: 殷海俊 学号:姓名: 华天一 学号:姓名: 仝冬冬 学号:指导教师: 梁惺彦提交时间: 2012年6月15日 一:设计内容设计的电路功能是实现时钟的24进制计时并显示在数码管上,通过按键可对时钟的时、分、秒的调节并实现暂停/启动、清零功能。CPU 8086接译码电路对外设进行寻址,并通过总线与外设实现数据传输。8255A并行接口芯片的A端口连接数码管的显示端,显示时间;B端口与数码管的控制端相连,实现动态显示;C端口连接八个按键,实现八个不可屏蔽中断,中断1实现时加、中断2实现

2、时减、中断3实现分加、中断4实现分减、中断5实现秒加、中断6实现秒减、中断7实现暂停/启动、中断8实现清零;D端口与总线相连和CPU进行数据传输。二: 设计原理及方案1. 电路原理图 CPU80868086译码电路8255A8个中断源七段数码管2. 硬件连接示意图总电路图:子电路图:译码子电路图:布局布线图: 3. 系统功能框图开始结束执行中断子程序产生中断数码管输出时间执行源程序,开始计时设计原理和方案:使用软延时进行计时,通过不可屏蔽中断对时钟的时、分、秒进行调节,并可进行暂停/启动、清零功能。如果没有中断产生,系统自动对时钟的时进行24进制计时、分进行60进制计时、秒进行60进制计时,并

3、可实现24小时自动循环显示。4. 程序流程图秒不变,数码管动态显示时间,其他进位由程 序检测秒加1,数码管动态显示时间,其他进位由程序 检测 检测是否循环了1秒数据段初始化,写入中断向量,8255A初始化开始 产生中断主程序 执行中断子程序 结束三: 汇编源程序代码DATA SEGMENT ;数据段定义TAB DB 3FH,06H,5BH,4FH,66HDB 6DH,7DH,07H,7FH,6FH,48H ;定义段码H1 DB 0 ;时的高位H0 DB 0 ;时的低位M1 DB 0 ;分的高位M0 DB 0 ;分的低位S1 DB 0 ;秒的高位S0 DB 0 ;秒的低位NUM DB 0 ;暂停

4、/启动次数SNUM DB 0 ;动态循环次数(程序中动态循环显示一次共调用了8个延时子程序,每个延时6.25ms,共延时50ms,当此变量为20的时侯,秒自动加1且此变量清零)DATA ENDS CODE SEGMENT CODEASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AX ;数据段初始化MOV AX,0MOV ES,AXMOV DI,8MOV AX,OFFSET INTR_KEYCLDSTOSWMOV AX,SEG INTR_KEYSTOSW ;写入中断向量MOV AX,DATAMOV ES,AX MOV AL,89H ;8255A初始化M

5、OV DX,206HOUT DX,AL LEA BX,TAB AGAIN: ;开始循环显示MOV AL,SNUM CMP AL,20 ;是否循环20次JNZ SEC0 ;否,继续显示MOV AL,0 ;是,秒加1继续显示MOV SNUM,ALINC S0SEC0: ;显示秒的低位MOV CL,7FHMOV AL,CLMOV DX,202HOUT DX,ALMOV AL,S0XLATMOV DX,200HOUT DX,ALCALL DELAY ;延时6.25msMOV AL,S0CMP AL,10 ;秒的低位进位判断JNZ SEC1MOV AL,0MOV S0,ALINC S1SEC1: MOV

6、 AL,S1CMP AL,6 ;秒的高位进位判断JNZ SEC2MOV AL,0MOV S1,ALINC M0SEC2: ;显示秒的高位ROR CL,1MOV AL,CLMOV DX,202HOUT DX,ALMOV AL,S1MOV DX,200HXLATOUT DX,ALCALL DELAY ;延时6.25msROR CL,1 ;显示间隔符MOV AL,CL MOV DX,202HOUT DX,ALMOV AL,10XLATMOV DX,200HOUT DX,ALCALL DELAY ;延时6.25msMOV AL,M0 CMP AL,10 ;分的低位进位判断JNZ MIN1MOV AL,

7、0MOV M0,ALINC M1MIN1: ;显示分的低位ROR CL,1MOV AL,CLMOV DX,202HOUT DX,ALMOV DX,200HMOV AL,M0XLATOUT DX,ALCALL DELAY ;延时6.25msMOV AL,M1CMP AL,6 ;分的高位进位判断JNZ MIN2INC H0MOV AL,0MOV M1,ALMIN2: ;显示分的高位ROR CL,1MOV DX,202HMOV AL,CLOUT DX,ALMOV DX,200HMOV AL,M1XLATOUT DX,ALCALL DELAY ;延时6.25msROR CL,1 ;显示间隔符MOV A

8、L,CLMOV DX,202HOUT DX,ALMOV AL,10XLATMOV DX,200HOUT DX,ALCALL DELAY ;延时6.25msMOV AL,H1CMP AL,2 ;时的高位判断(24)JNZ HOUR1MOV AL,H0CMP AL,4 ;时的低位判断(24)JNZ HOUR2 MOV AL,0 ;满24小时清零MOV S0,ALMOV S1,ALMOV M0,ALMOV M1,ALMOV H0,ALMOV H1,ALMOV SNUM,ALJMP AGAINHOUR1: MOV AL,H0CMP AL,10 ;时低位判断(非24)JNZ HOUR2MOV AL,0M

9、OV H0,ALINC H1HOUR2: ;显示时的低位ROR CL,1MOV AL,CLMOV DX,202HOUT DX,ALMOV DX,200HMOV AL,H0XLATOUT DX,ALCALL DELAY ;延时6.25msROR CL,1 ;显示时的高位MOV AL,CLMOV DX,202HOUT DX,ALMOV AL,H1XLATMOV DX,200HOUT DX,ALCALL DELAY ;延时6.25msINC SNUMJMP AGAIN ;跳转继续显示 ;中断子程序定义INTR_KEY PROC NEARPUSH AXPUSH BXPUSH DXMOV DX,204H

10、IN AL,DXTEST AL,01H ;检测时加JZ NO1TEST AL,02H ;检测时减JZ NO2TEST AL,04H ;检测分加JZ NO3TEST AL,08H ;检测分减JZ NO4TEST AL,10H ;检测秒加JZ NO5TEST AL,20H ;检测秒减JZ NO6 TEST AL,40H ;检测暂停/启动JZ NO7TEST AL,80H ;检测清零JZ NO8JMP EXIT NO1: ;时加中断MOV AL,H1CMP AL,2 ;23停止增加JNZ HC1MOV AL,H0CMP AL,3JZ EXITINC H0JMP EXITHC1:MOV AL,H0CM

11、P AL,9JZ HC2INC H0JMP EXITHC2:MOV AL,0MOV H0,ALINC H1JMP EXITNO2: ;时减中断MOV AL,H1CMP AL,0 ;00停止时减JNZ HC3MOV AL,H0CMP AL,0JZ EXITDEC H0JMP EXITHC3:MOV AL,H0CMP AL,0JZ HC4DEC H0JMP EXITHC4:DEC H1MOV AL,9MOV H0,ALJMP EXITNO3: ;分加中断MOV AL,M1CMP AL,5 ;59停止分加JNZ MC1MOV AL,M0CMP AL,9JZ EXITINC M0JMP EXITMC1

12、:MOV AL,M0CMP AL,9JNZ MC2INC M1MOV AL,0MOV M0,ALJMP EXITMC2:INC M0JMP EXITNO4: ;分减中断MOV AL,M1CMP AL,0 ;00停止分减JNZ MC3MOV AL,M0CMP AL,0JZ EXITDEC M0JMP EXITMC3:MOV AL,M0CMP AL,0JZ MC4DEC M0JMP EXITMC4:DEC M1MOV AL,9MOV M0,ALJMP EXITNO5: ;秒加中断MOV AL,S1CMP AL,5 ;59停止秒加JNZ SC1MOV AL,S0CMP AL,9JZ EXITINC

13、S0JMP EXITSC1:MOV AL,S0CMP AL,9JNZ SC2INC S1MOV AL,0MOV S0,ALJMP EXITSC2:INC S0JMP EXITNO6: ;秒减中断MOV AL,S1CMP AL,0 ;00停止秒减JNZ SC3MOV AL,S0CMP AL,0JZ EXITDEC S0JMP EXITSC3:MOV AL,S0CMP AL,0JZ SC4DEC S0JMP EXITSC4:DEC S1MOV AL,9MOV S0,ALJMP EXITNO7: ;暂停/启动中断INC NUM ;记录次数NEXT:MOV AL,NUMTEST AL,01H ;检测奇

14、、偶次数JZ EXIT ;偶数次退出暂停LEA BX,TAB ;奇数次时间暂停MOV AL,7FHMOV DX,202HOUT DX,ALMOV AL,S0XLATMOV DX,200HOUT DX,ALCALL DELAYMOV AL,0BFHMOV DX,202HOUT DX,ALMOV AL,S1XLATMOV DX,200HOUT DX,ALCALL DELAYMOV AL,0DFHMOV DX,202HOUT DX,ALMOV AL,10XLATMOV DX,200HOUT DX,ALCALL DELAYMOV AL,0EFHMOV DX,202HOUT DX,ALMOV AL,M0

15、XLATMOV DX,200HOUT DX,ALCALL DELAYMOV AL,0F7HMOV DX,202HOUT DX,ALMOV AL,M1XLATMOV DX,200HOUT DX,ALCALL DELAYMOV AL,0FBHMOV DX,202HOUT DX,ALMOV AL,10XLATMOV DX,200HOUT DX,ALCALL DELAYMOV AL,0FDHMOV DX,202HOUT DX,ALMOV AL,H0XLATMOV DX,200HOUT DX,ALCALL DELAYMOV AL,0FEHMOV DX,202HOUT DX,ALMOV AL,H1XLAT

16、MOV DX,200HOUT DX,ALCALL DELAYJMP NEXTNO8: ;清零中断MOV AL,0MOV S0,ALMOV S1,ALMOV M0,ALMOV M1,ALMOV H0,ALMOV H1,ALMOV SNUM,ALEXIT:POP DXPOP BXPOP AXIRET ;退出中断INTR_KEY ENDPDELAY PROC ;延时子程序PUSH CXPUSH BXMOV BX,26 ;延时6.25msWAIT1: MOV CX,0FHLOOP $DEC BXJNZ WAIT1POP BXPOP CXRETDELAY ENDPCODE ENDSEND START四:

17、 实施结果五:课程设计体会微机系统技术是当前社会中信息产业所必不可少的关键技术,也是现代人生活和生产所必需的条件。此次课程设计,我们小组经过讨论选定了LED七段数码管数字钟作为设计题目进行设计。数字时钟在现代生活中的应用越来越广泛。一方面,它能直观的显示时间,耗能低;另一方面,它可以实现比机械时钟更多更强大的功能,方便人们的生产和生活。我们小组采用软件延时的方法进行计时,通过中断系统对数字时钟进行调节,可以实现对时、分、秒的调整以及实现暂停/启动、清零等功能。由于对微机原理课程的学习,使我们了解了基本的微机系统8086微机系统,基本掌握了8086微机系统的工作原理,熟悉了8086微机系统中各常用

温馨提示

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

评论

0/150

提交评论