ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:424.57KB ,
资源ID:12924442      下载积分:5 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-12924442.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机原理电子钟设计汇编语言.docx)为本站会员(b****8)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

微机原理电子钟设计汇编语言.docx

1、微机原理电子钟设计汇编语言成绩 课程设计报告题 目 可调时电子钟的设计 课 程 名 称 微机原理及应用 院 部 名 称 专 业 工程及其自动化 班 级 工程及其自动化 学 生 姓 名 学 号 11 课程设计地点 工科楼 B403 课程设计学时 20 指 导 教 师 金陵科技学院教务处制摘 要运用了8086 CPU芯片以及8259A芯片、8253芯片和显示器等辅助硬件电路,进行了可调时电子钟的设计。进行了软件设计并编写了源程序。该电子钟具有时、分、秒计时、显示功能,并且通过定义键盘的字母,可对电子钟进行时分秒时间调整。 关键词:可调时电子钟;8259A;8253;8086微机系统一 、设计任务与

2、要求1二 、总体设计方案与说明1三 、系统硬件部分设计2 3.1 8086微处理器的工作原理2 3.2 8259A芯片的工作原理3 3.3 8253芯片的工作原理4 3.4 LED显示器5 3.5 系统原理图 6四 、系统软件部分设计 7 4.1 系统软件流程图74.2 源程序9五 、系统调试 17六 、课程设计体会 17七 、参考文献 17 一、设计任务与要求设计一个可调时电子钟,要求:1)给出系统设计方案;画出硬件连线图,并说明工作原理;2)画出程序框图并编写程序完成如下功能:6位七段LED数码管可显示时、分、秒,并按正常时间显示方法工作;二、总体设计方案与说明本实验利用8253做定时器,

3、用定时器输出的脉冲控制8259产生中断。在8259中断处理程序中,对时、分、秒进行计数,在等待中断的循环中用LED显示时间。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。系统工作框图如下:8259A8253图1系统框图三、系统硬件部分设计 31、8086微处理器 8086微处理器是16位机,1 6 位微处理器比 8 位微处理器有

4、更大的寻址空间、 更强的运算能力、 更快的处理速 度和更完善的指令系统。1 6 位微处理器比 8 位微处理器有更大的寻址空间、 更强的运算能力、 更快的处理速 度和更完善的指令系统。芯片引脚为40根,20根地址线,16根数据线,其最大的地址空间为1MB。 8086从功能上来说可以分成两个大部分,总线接口单元BIU和执行单元EU。BIU:负责与存储器或I/O接口交换信息,即8086与存储器或I/O接口之间的信息传送,都是由BIU负责进行的,即:(1)BIU从内存的指定部分取出指令,送到指令队列排队。(2)取出执行指令时所需的操作数,送至EU部分。EU:负责指令的执行。特点:将CPU分为两个单元,

5、可以使取指令和执行指令同进行,减少了CPU为取指令而等待的时间,从而提高了CPU的利用率,提高了系统的运行速度。 8086微处理器的引脚功能可分3部分:地址总线、数据总线、控制总线。(1)地址/数据总线AD15-AD0 AD15-AD0:地址/数据复用引脚,双向,三态。 地址/数据总线分时复用。在总线周期开始时(T1),用作地址总线的16位,给出内存单元的地址;其他时间为数据总线,用于数据传输。(2)地址/状态总线A19/S6-A16/S3 A19/S6-A16/S3:地址/状态总线复用引脚,输出,三态。A19-A16:输出访问存储器的20位地址的高4位地址A19-A16。8086的20条地址

6、线访问存储器时可寻址1MB内存单元;访问外部设备时,只用16条地址A15-A0,可寻址64K个I/O端口。图2 8086CPU3.2、8259A芯片的内部结构及引脚中断控制器8259A是Intel公司专为控制优先级中断而设计开发的芯片。它将中断源优先排队、辨别中断源以及提供中断矢量的电路集中于一片中。因此无需附加任何电路,只需对8259A编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。在MD微机系统中,8259芯片工作于单片方式。 8259引脚图如图3,各引脚功能如下。D7D0八条双向数据线;WR(低电平有效)写输入信号;RD(低电平有效)读输入信号;C

7、S(低电平有效)片选输入信号;A0地址信号;INT中断请求信号;INTA(低电平有效)中断响应信号;CAS0CAS2级联信号,形成一条专用8259A总线,以便多片8259A的级联;SP/EN从编程/允许级联。在缓冲方式中,可用做输出信号以控制总线缓冲器的接收和发送。在非缓冲方式中,作为输入信号用于表示主片还是从片;IR0IR7外部中断请求输入线。要求输入的中断请求信号是由低电平到高电平的上升沿(并保持高电平到CPU响应时为止)或者是高电平。 8259A中断矢量表中断序号01234567功能调用08H09H0AH0BH0CH0DH0EH0FH矢量地址20H23H24H27H28H2BH2CH2F

8、H30H33H34H37H38H3BH3CH3FH说明时钟键盘可用可用串行口可用可用可用3.3、可编程定时器/计数器82538253的功能用途是:(1)延时中断(2)可编程频率发生器(3)事件计数器(4)二进倍频器(5)实时时钟(6)数字单稳(7)复杂的电机控制器8253有六种工作方式:(1)方式0:计数结束中断(2)方式1:可编程频率发生器(3)方式2:频率发生器(4)方式3:方波频率发生器(5)方式4:软件触发的选通信号(6)方式5:硬件触发的选通信号图4 8253引脚信号图8253引脚图如图3.3示,各引脚功能如下。D7D0八条双向数据线;WR(低电平有效)写输入信号;RD(低电平有效)

9、读输入信号;CS(低电平有效)片选输入信号;A0、A1片内寄存器地址输入信号;CLK计数输入,用于输入定时基准脉冲或计数脉冲;OUT输出信号,以相应的电平指示计数的完成,或输出脉冲波形;GATE选通输入(门控输入),用于启动或禁止计数器的操作,以使计数器和计测对象同步。 8253端口地址表2、8253端口地址信号线寄存器编址IOY20#计数器40H1#计数器41H2#计数器42H控制寄存器43H 3.4、LED显示器LED显示器有静态显示与动态显示两种方式。我们使用的为动态显示 LED动态显示方式。 在多位LED显示时,为了简化电路,降低成本,将所有位的段选线并联在一起,由一个8位I/O口控制

10、,而共阴极点或共阳极点分别由响应的I/O口线控制。显示模块是将显示缓冲区的数值送到LED显示的功能模块,显示缓冲区是由六个字节构成,分别保存小时的高位和低位,分钟的高位和低位,秒钟的高位和低位。硬件上由六个LED构成,软件上由扫描显示的方法实现。35系统原理图 四、系统软件部分设计4.1 系统软件流程图1、主程序流程图主程序框图、100us定时中断服务程序100us定时中断服务程序4.2源程序:CONTROL EQU 0C003HCOUNT0 EQU 0C000HCOUNT1 EQU 0C001HCOUNT2 EQU 0C002HMD8255 EQU 82H ; 8255 工作方式PA8255

11、 EQU 8000H ; 8255 PA口输出地址CTL8255 EQU 8003H ; 8255 控制口地址OUTBIT EQU 08002H ; 位控制口OUTSEG EQU 08004H ; 段控制口ICW1 EQU 00010011B ; 单片8259, 上升沿中断, 要写ICW4ICW2 EQU 00100000B ; 中断号为20HICW4 EQU 00000001B ; 工作在8086/88 方式OCW1 EQU 11111110B ; 只响应INT0 中断CS8259A EQU 0D000H ; 8259地址CS8259B EQU 0D001HDATA SEGMENTCNT D

12、B 0LEDBUF DB 6 DUP (?) ; 显示缓冲NUM DB 1 DUP (?) ; 显示的数据DELAYT DB 1 DUP (?)HOUR DB 0MINUTE DB 0SECOND DB 0LEDMAP: ; 八段管显示码 DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H DB 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71HDATA ENDSCODE SEGMENT ASSUME CS:CODE, DS: DATADELAY PROC NEAR PUSH AX ; 延时子程序 PUSH CX MOV AL, 0 M

13、OV CX, AX LOOP $ POP CX POP AX RETDELAY ENDPDISPLAYLED PROC NEAR MOV BX, OFFSET LEDBUF MOV CL, 6 ; 共6个八段管 MOV AH, 00100000B ; 从左边开始显示DLOOP: MOV DX, OUTBIT MOV AL, 0 OUT DX,AL ; 关所有八段管 MOV AL, BX MOV DX, OUTSEG OUT DX, AL MOV DX, OUTBIT MOV AL, AH OUT DX, AL ; 显示一位八段管 PUSH AX MOV AH, 1 CALL DELAY POP

14、 AX SHR AH, 1 INC BX DEC CL JNZ DLOOP MOV DX, OUTBIT MOV AL, 0 OUT DX,AL ; 关所有八段管 RETDISPLAYLED ENDPIENTER PROC NEAR PUSH AX PUSH DX INC SECOND MOV AL, SECOND CMP AL, 60 JNE EXIT MOV SECOND, 0 INC MINUTE MOV AL, MINUTE CMP AL, 60 JNE EXIT MOV MINUTE, 0 INC HOUR MOV AL, HOUR CMP AL, 24 JNE EXIT MOV H

15、OUR, 0EXIT: MOV DX, CS8259A MOV AL, 20H ; 中断服务程序结束指令 OUT DX, AL POP DX POP AX IRETIENTER ENDPIINIT PROC MOV DX, CS8259A MOV AL, ICW1 OUT DX, AL MOV DX, CS8259B MOV AL, ICW2 OUT DX, AL MOV AL, ICW4 OUT DX, AL MOV AL, OCW1 OUT DX, AL RETIINIT ENDPSTART PROC NEAR MOV AX, DATA MOV DS, AX MOV HOUR, 0 MOV

16、 MINUTE, 0 MOV SECOND, 0 CLI MOV AX, 0 MOV DS, AX MOV AL, 76H; 01110110B ; 计数器1,16位,方式3,二进制 MOV DX, CONTROL OUT DX, AL MOV AX, 62500 MOV DX, COUNT1 OUT DX, AL ; 计数器低字节 MOV AL, AH OUT DX, AL ; 计数器高字节 MOV AL, MD8255 MOV DX, CTL8255 OUT DX, AL MOV BX, 4*ICW2 ; 中断号 MOV AX, CODE SHL AX, 4 ; X 16 ADD AX,

17、OFFSET IENTER ; 中断入口地址(段地址为0) MOV BX, AX MOV AX, 0 INC BX INC BX MOV BX, AX ; 代码段地址为0 CALL IINIT MOV AX, DATA MOV DS, AX MOV CNT, 0 ; 计数值初始为0 MOV AL, CNT MOV DX, PA8255 OUT DX, AL STILP: ; 等待中断,并计数。 MOV AL, HOUR MOV AH, 0 MOV CL, 10 DIV CL MOV CH, AH MOV AH, 0 MOV BX, OFFSET LEDMAP ADD BX, AX MOV AL

18、, BX MOV LEDBUF, AL MOV BX, OFFSET LEDMAP MOV AL, CH MOV AH, 0 ADD BX, AX MOV AL, BX OR AL, 80H MOV LEDBUF+1, AL MOV AL, MINUTE MOV AH, 0 MOV CL, 10 DIV CL MOV CH, AH MOV AH, 0 MOV BX, OFFSET LEDMAP ADD BX, AX MOV AL, BX MOV LEDBUF+2, AL MOV BX, OFFSET LEDMAP MOV AL, CH MOV AH, 0 ADD BX, AX MOV AL,

19、BX OR AL, 80H MOV LEDBUF+3, AL MOV AL, SECOND MOV AH, 0 MOV CL, 10 DIV CL MOV CH, AH MOV AH, 0 MOV BX, OFFSET LEDMAP ADD BX, AX MOV AL, BX MOV LEDBUF+4, AL MOV BX, OFFSET LEDMAP MOV AL, CH MOV AH, 0 ADD BX, AX MOV AL, BX OR AL, 80H MOV LEDBUF+5, AL CALL DISPLAYLED JMP LPSTART ENDPCODE ENDS END START

20、 五、系统调试第一个问题是在用伟福软件编译时出现了错误,通过老师的帮助下知道了要把名称用英文表示。第二个问题是在伟福8000上没有4MHZ的电路,在老师的帮助下知道了从伟福6000实验箱上可以得到。六、课程设计体会 通过本次课程设计,我对利用微机原理课程所学的知识设计电子表的基本过程的设计方法、步骤、思路、有一定的了解与认识。它相当于实际工业设计的模拟。在课程设计过程中,我先是收集、调查有关资料,然后进入草案阶段,其间与指导教师进行几次方案的讨论、修改,再讨论、再修改,最后定案,得出了总体方案设计。设计方案确定后,又在老师指导下进行扩初详细设计,并分别设计了相应的模块;将这些模块组合起来,便形

21、成了一个完整的电子表的设计。对8259、8255、8253有了进一步的了解,对中断处理有了更深的理解,很好的复习了微机原理,同时对端口有了初步的理解。通过课程设计更加体会到了团队作战的长处,大家一起受益颇多,取长补短,最主要的是认识到了自己的不足,需要进一步学习所含知识,尤其是端口,更需要勤加练习汇编语言与微机原理的结合,课程设计受益颇多。 经过这次成功的设计,我更加深刻的理解了微机原理的相关知识。对一些常用芯片有了更深一步的认识,并且能够很好的使用它们。应该说,这次课程设计达到了目的。 七、参考文献 1许立梓.微型计算机原理及应用M.北京:机械工业出版社,2003. 3戴梅萼等. 微型计算机技术及应用.北京:清华大学出版社,2003

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2