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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数字电子钟及钟控显示系统设计.docx

1、数字电子钟及钟控显示系统设计论文题目:数字电子钟及钟控显示系统设计 一、课程设计目的 1二、使用设备 1三、设计内容 1四、设计要求 1五、设计原理 21、总体设计框图和各部分电路工作原理分析 22、系统中各芯片的内部结构 3(1)8255芯片的内部结构及引脚 3(2)8253芯片的内部结构及引脚 5(3)8259芯片的内部结构及引脚 7(4)Intel8088微处理器 9六、软件设计 111、程序流程图 112、程序清单 133、程序分析 16七、设计体会 17八、参考文献 17一、课程设计目的通过课程设计进一步理解所学的相关可编程芯片的原理、内部结构、使用方法等,学会相关可编程芯片实际应用

2、及编程。二、使用设备TDS-MD微机实验系统三、设计内容利用TDS-MD微机实验系统设计数字电子钟及钟控显示装置(包括软硬件设计、调试)。四、设计要求1、设计8088/8086CPU在最小工作方式构成的微机系统原理图。要求含CPU及存储器。存储器选择6264。2、设计8088/8086CPU与可编程并行接口芯片8255的接口电路,用A口输出驱动8个发光二极管。3、设计8088/8086CPU与可编程定时/计数器8253的接口电路。4、设计8088/8086CPU与可编程中断控制器芯片8059的接口电路。5、设计完整的数字钟及中控显示程序。采用系统配置的液晶显示器。程序功能为时钟应能显示时、分、

3、秒,每间隔5秒循环点亮发光二极管。五、设计原理1、总体设计框图和各部分电路工作原理分析系统结构框图1、以8088微处理器作为CPU,6264作为存储器,用8253做定时计数器产生时钟频率,8255做可编程并行接口显示时钟,8259做中断控制器产生中断。在此系统中,8253的功能是定时,接入8253的CLK信号为周期性时钟信号。8253采用计数器0#,工作于方式2,使8253的OUT0端输出周期性的负脉冲信号。因为接入8253的CLK的频率为1.19MHZ,为使输出的负脉冲的周期为20ms,则计数器的初值应设为:1.19MHZ*20ms=23800(D),转换为16进制即可。即每隔20ms,82

4、53的OUT0端就会输出一个负脉冲的信号,此信号接8259的IR0端,当中断到50次数后,CPU即处理,使液晶显示器上的时间发生变化。每隔5m,CPU则使8255的PA口输出,驱动LED灯亮。其中8259只需初始化ICW1,其功能是向8259表明IRx输入是电瓶触发方式还是上升沿触发方式,是单片8259还是多片8259。8259接收到信号后,产生中断信号送CPU处理。2、硬件设计原理图:设计电路总框图2、系统中各芯片的内部结构(1)8255芯片的内部结构及引脚1、8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三

5、种工作方式下工作:方式0基本输入/输出方式方式1选通输入/输出方式方式2双向选通输入/输出方式8255引脚图如下:8255引脚图8255一共有40条引脚,其中D7D0与CPU侧连接的八条双向数据线;WR(低电平有效)写输入信号;RD(低电平有效)读输入信号;CS(低电平有效)片选输入信号;A0、A1片内寄存器选择输入信号;PA7PA0A口外设双向数据线;PB7PB0B口外设双向数据线;PC7PC0C口外设双向数据线;RESET复位输入信号2、8255端口地址信号线寄存器编址IOY3A口60HB口61HC口62H控制寄存器63H3、8255内部结构图如下:(2)8253芯片的内部结构及引脚1、8

6、253可编程定时/计数器是Intel公司生产的通用外围芯片之一,有3个独立的十六位计数器,技术频率范围为02MHZ,它所有的技术方式和操作方式都通过编程控制。8253的功能用途是:(1) 延时中断(2) 可编程频率发生器(3) 事件计数器(4) 二进倍频器(5) 实时时钟(6) 数字单稳(7) 复杂的电机控制器8253有六种工作方式:(1) 方式0:计数结束中断(2) 方式1:可编程频率发生器(3) 方式2:频率发生器(4) 方式3:方波频率发生器(5) 方式4:软件触发的选通信号(6)方式5:硬件触发的选通信号8253引脚图如下:8253一共有24条引脚,其中D7D0八条双向数据线;WR(低

7、电平有效)写输入信号;RD(低电平有效)读输入信号;CS(低电平有效)片选输入信号;A0、A1片内寄存器地址输入信号;CLK计数输入,用于输入定时基准脉冲或计数脉冲;OUT输出信号,以相应的电平指示计数的完成,或输出脉冲波形;GATE选通输入(门控输入),用于启动或禁止计数器的操作,以使计数器和计测对象同步。2、8253端口地址信号线寄存器编址IOY20#计数器40H1#计数器41H2#计数器42H控制寄存器43H3、8253内部结构图如下:(3)8259芯片的内部结构及引脚1、中断控制器8259A是Intel公司专为控制优先级中断而设计开发的芯片。它将中断源优先排队、辨别中断源以及提供中断矢

8、量的电路集中于一片中。因此无需附加任何电路,只需对8259A编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。在MD微机系统中,8259芯片工作于单片方式。8259引脚图如下:8259一共有28条引脚,其中D7D0八条双向数据线;WR(低电平有效)写输入信号;RD(低电平有效)读输入信号;CS(低电平有效)片选输入信号;A0地址信号;INT中断请求信号;INTA(低电平有效)中断响应信号;CAS0CAS2级联信号,形成一条专用8259A总线,以便多片8259A的级联;SP/EN从编程/允许级联。在缓冲方式中,可用做输出信号以控制总线缓冲器的接收和发送。在非

9、缓冲方式中,作为输入信号用于表示主片还是从片;IR0IR7外部中断请求输入线。要求输入的中断请求信号是由低电平到高电平的上升沿(并保持高电平到CPU响应时为止)或者是高电平。2、8259中断矢量地址与中断信号之间的关系如下表所示:中断序号01234567功能调用08H09H0AH0BH0CH0DH0EH0FH矢量地址20H23H24H27H28H2BH2CH2FH30H33H34H37H38H3BH3CH3FH说明实时钟键盘可用可用串行口可用可用可用3、8259内部结构图如下:(4)Intel8088微处理器1、8088微处理器是Intel公司推出的一个准16位处理器,其内部结构基本上和808

10、6相同,其引脚信号也和8086基本相同,只是各别的引脚的功能有所不同。8088微处理器的工作方式:(1) 最小工作方式。当8088CPU的MN/MX引脚接+5V电源时,8088CPU工作于最小方式,用于构成小型的单处理机系统。(2) 最大工作方式。当8088CPU的MN/MX引脚接地时,8088CPU工作于最大方式,用于构成多处理机和协处理机系统。2、8088引脚图如下:AD7AD0八条地址/数据复用线;A15A8单一的地址线;SS0状态信号线。该引脚在最大工作方式下保持高电平,在最小方式下等效于最大方式下S0的作用,它与IO/M、DT/R组合以确定当前的总线周期;A19/S6A16/S3地址

11、/状态总线;MN/MX最小/最大方式控制;RD读控制;TEST等待测试控制;READY等待状态控制;NMI不可屏蔽中断请求;INTR可屏蔽中断请求;CLK系统时钟;Vcc+5V电源;GND接地;最小方式信号:HOLD保持请求;HLDA保持响应;WR写控制;IO/MIO/存储器控制;DT/R数据发送/接收;DEN数据允许;ALE地址锁存允许;INTA中断响应;最大方式信号:RQ/GT1,0请求/允许总线访问控制;LOCK总线优先权锁定控制S2S1S0总线周期状态;QS1、QS0指令队列状态;六、软件设计1、程序流程图:2、程序清单主程序:地址 助记符2000 MOV AH,00;中断程序入口地址

12、2003 MOV W0020,AX2006 MOV AX,00002009 MOV W0020,AX200C IN AL,21200E AND AL,FE2010 OUT 21,AL2012 MOV AL,82;8255的初始化2014 OUT 63,AL;A口做为输出口,并采用0工作方式2016 MOV AL,34;8253的初始化2018 OUT 43,AL;用0#计数,方式2,并以16进制计数201A MOV AL,F8;置计数器的初值为5CF8H,及负脉冲周期为20ms201C OUT 40,AL201E MOV AL,5C2020 OUT 40,AL2022 MOV B3600,00

13、;存放中断的次数2027 MOV B3601,32;秒单元202C MOV B3602,00;分单元2031 MOV B3603,00;小时单元2036 MOV B3604,3A;:的ASC值203B MOV B3605,7F;8255的PA口的初值2040 MOV B3606,002045 MOV B3607,41;”A”204A MOV B3608,50;”P”204F MOV B3609,4D;”M”2055 MOV AL,B3603;显示时间代码段2058 CMP AL,01205A JZ 2065205C MOV AL,B3607205F MOV AH,012061 INT 1020

14、63 JMP 206C2065 MOV AL,B36082068 MOV AH,01206A INT 10206C MOV AH,B3609206F MOV AH,012071 INT 102073 MOV AL,B3603;显示小时2076 CALL 25552079 MOV AL,B3604;”:”207C MOV AH,01207E INT 102080 MOV AL,B3602;显示分钟2083 CALL 25552086 MOV AL,B3604;”:”2089 MOV AH,01208B INT 10208D MOV AL,B3601;显示秒2090 CALL 25552093 M

15、OV AL,OD;换行操作2095 MOV AH,012097 INT 102099 MOV BL,B3606;判断秒是否发生变化209D MOV BH,B360120A1 CMP BL,BH20A3 JZ 20C620A5 CALL 300020A8 MOV AH,00;达到5秒后,使PA口输出,驱动LED灯20AA MOV AL,B360120AD MOV BL,0520AF DIV BL20B1 CMP AH,0020B4 JNZ 205420B6 MOV AL,B360520B9 ROL AL,120BB OUT 60,AL20BD MOV B3605,AL20CO MOV AL,B3

16、60120C3 MOV B3606,AL20C6 CALL 300020C9 JMP 2054中断计时:2500 CLI2051 PUSH AX2052 MOV AL,B36002505 INC AL2506 CMP AL,32;判断8253的OUT0断是否发出了50次脉冲,即判断是否达到1秒2509 JNZ 25502511 MOV B3600,002514 MOV AL,B3601;时间的变化;采用12小时制2517 INC AL2519 CMP AL,3C251B JNZ 2541251E MOV B3601,002520 MOV AL,B36022523 INC AL2525 CMP

17、AL,3C2527 JNZ 25462529 MOV B3602,00252C MOV AL,B3603252F INC AL2531 CMP AL,0D2533 JNZ 254B2535 MOV B3603,01253A STI253B POP AX253C MOV AL,20253E OUT 20,AL2540 ITER2541 MOV B3601,AL2544 JMP 253A2546 MOV B3602,AL2549 JMP 253A254B MOV B3603,AL254E JMP 253A2550 MOV B3600,AL2553 JMP 253A显示程序:地址 助记符2555 M

18、OV AH,00;将16进制转换成ASC2557 MOV BL,OA2559 DIV BL255B MOV BL,AH255D ADD AL,30255F MOV AH,012561 INT 102563 MOV AL,BL2565 ADD AL,302567 INT 102568 RET延时程序:3000 PUSH AX3001 MOV CX,00643004 MOV AX,00643007 DEC AX3008 JNZ 3007300A LOOP 3004300C POP AX300D RET3、程序分析(1)调试过程在调试中遇到了很多问题。刚开始将程序输入后,无法执行。此时用反汇编U命令

19、依次的查看输入的源程序,发现2009处,将MOV W0022,AX中的0022写成了0020。而使程序无法执行。改正后,重新执行程序。可以正确的显示时间。但当我达到12:59:59秒,再过一秒后,此时AM并没有发生改变。而正常应该变为PM。按Ctrl+C退出后,检查程序。经仔细分析,发现2535处,MOV B3603,01;及到达0D时,将3606单元重新设置成了1;而在2058处,语句是CMP AL,0D。因为3603单元中的值无法达到0D,所以AM不会变成PM。 发现这个错误后,将2058处的代码改为:CMP AL,01。重新运行,虽然可以顺利的显示12小时制,但发现每隔5秒,LED灯是循

20、环点亮了10次。仔细分析程序,依然不得其解。只好请教老师,经过老师的指教,终于发现了问题的所在:在判断是否达到5秒时,仅仅是判断了是否为5的倍数,而没有判断是否达到了新的1秒。如:若此时就是5秒,程序执行即点亮LED灯。由于程序顺序执行,8253每隔20ms发出一次脉冲,即隔20ms后,又判断是否是5的倍数,而此时根本就没有形成新的秒,但满足是5的倍数的条件,故使LED灯依次的循环点亮。在判断是否是5秒的倍数之前增加一判断语句,看是否形成了新的1m,是的话,然后才判断是否是5的倍数。这样就解决了上述所出现的问题; (2)结果分析在程序的开始,就分别对8259、8255以及8253-A进行了初始

21、化,然后设置了时钟的秒、分以及小时,这个数据是灵活可改的。输入程序、运行后,液晶屏幕上从左至右按照“时:分:秒”的格式显示“AM/PM XX:XX:XX”, 并且秒位以每秒递增1的速度变化,即完成数字电子钟的正常显示。同时,八个发光二极管每隔5秒从1到8依次点亮。七、设计体会通过本次课程设计,我进一步理解了所学的相关可编程芯片的原理、内部结构、使用方法等,学会了相关可编程芯片实际应用以及编程的方法。在老师的指导帮助下,顺利完成了该硬件、软件的设计、调试等工作。通过课程设计,我有了很大的收获。在课程设计中,我对实验原理有了更加深刻的认识,弄懂了TDS-MD微机的汇编方式以及硬件电路设计与微机的兼容性,对8055、8053、8059芯片在实际中的应用有了更加深刻的理解。在调试程序过程中,也使自己的编程与调试程序的能力得到了锻炼,同时理解了汇编、计算机所组成原理以及接口技术这三门课程之间的联系与融合渗透,也使我体会到学习计算机接口技术的乐趣。八、参考文献1 孙德文主编,微型计算机技术M,北京:高等教育出版社,2000。2 赵明富主编,微机原理及接口技术实验指导书,重庆工学院(院内教材)。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1