综合实验报告
2015-2016 学年 第一 学期
课程名称: 微型计算机原理与接口技术
题 目: 电子钟表和显示星期的设计 院 系: 电控学院-建筑电气与智能化 班 级: 学 号: 姓 名: 指导教师: 胡欣 日 期: 2015-12-28~2016-01-08
设计任务书
摘要
本次设计采用8086芯片、8253计数器/定时器、8255并行接口、74273锁存器、74154译码器、数码管等基本器件组成一个能显示时间和星期的电子钟系统,并且能实现时间和星期交替显示,具有整点报时功能。可以通过外设按键来调整时间和日期。
关键词:电子钟;星期显示;交替显示;按键设置
Abstract
The design uses a 8086 chip 8253, counter/timers, 8255 parallel port, 74273 latch, 74154 essential devices such as decoders, digital control components can display time and week clock system and alternating time and week, with hourly chime function. Can peripheral keys to adjust the time and date.
Keywords:
Key words: electronic Bell; Week display; Alternate display; key settings
1
目录
设计任务书 ................................................................................................. 1 摘要 ............................................................................................................. 1 Abstract ....................................................................................................... 1 Keywords: ................................................................................................... 1 目录 ............................................................................................................. 2 前言 ............................................................................................................. 3 内容 ............................................................................................................. 3 一、 设计要求 .................................................................................. 3 二、 设计步骤 .................................................................................. 3 三、 软件环境及调试过程 .............................................................. 4 四、 设计原理 .................................................................................. 5 五、 软件流程及程序设计 .............................................................. 6 六、 系统调试 .................................................................................. 8 七、 仿真结果与分析 ...................................................................... 8 设计总结 ................................................................................................... 11 参考文献: ............................................................................................... 11 附录: ....................................................................................................... 12
2
前言
微机原理和接口技术是一门实践性强的学科,其中很多的原理、规则、现象等仅仅靠学习教科书是无法完全掌握的,必须通过实践才能比较直观和深刻的理解。在进行课程设计的过程中,可以让学生体验分析问题、提出解决方案、通过编程等手段实现解决方案、不断调试最终达到设计要求的全过程,从而帮助学生系统地掌握微机原理的接口技术的相关知识,达到将知识融会贯通的目的。本次设计是基于8086芯片工作在最小模式下,通过外接可编程定时/计数器8253,可编程并行接口8255等其他基本元器件设计出一个能显示星期和时间的电子钟表,具有结构简单,易于设计等特点,方便学生进一步学习和理解本课程的基础知识。
内容
一、 设计要求
1.选择合适的设计方案,并进行理论阐述。
2.编制相应的控制程序,要求有程序流程图,程序加注释。 3.绘制实现电路原理图,所有图纸均用计算机绘制。
二、 设计步骤
1. 设计时钟运算和星期模块
该模块的主要功能是对时、分、秒的运算、星期的运算,并把运算出的最终结果存到事先已经开辟的内存单元里,以便显示模块即时地显示出来。该模块可以细分为秒定时模块和运算模块。秒定时模块负责提供中断信号,由于CPU运算模块中的指令消耗一定的时间,所以中断信号最好通过硬件来实现,选择的是8253定时/计数器,因为后面要实现交替显示时间和星期,因此必须通过软件的方法在运算模块中设置一个统计中断次数的变量,并且这一变量必须事先在内存里开辟存储单元。中断信号是8253的计数器2工作方式为方式2时,同过设置计数器2的初值来产生一个1s的脉冲信号。运算模块负责时、分、秒的计算,该模块主要通过8086的NMI信号中断来实现,首先将秒定时模块提供的中断信号为8086的NMI中断请求信号。同时必须设置一个全局变量来统计中断请求的次数,当次数达到与两秒相对应时,显示程序里面得运算星期现实部分。同时在
3
中断服务程序里,必须对秒、分、时和星期的单元内的数值进行判断,当秒加到60时,分必须加1 、秒清零;当分加到60时,时加1、分清零。当时加到24啊,直接清零,并且使星期部分加一。当星期加到7时,直接置1。 2.设计显示模块
利用数码管的显示功能来设计。数码管是由八个条形发光二极管组成的,这些发光二极管的阴极是互相连接在一起的,所以称为共阴极数码管。通过在这八个发光二极管的阳极加+5 V或0 V的电压使不同的二极管发光,形成不同的字符和数字。电子时钟用到的是0到9十个数字,他们所对应的字符表依次是3FH、06H、5BH、4FH、66H、6DH、7DH、07H、7FH、6FH。该模块显示时先将保存在数据单元的当前时间包括小时和分钟读取出来,把十六进制数字转化成十进制用四个字节分别存放小时和分钟,并把这四个数值通过74ls273端口输出给数码管显示。
3.设计按键设置模块
该模块主要功能是修改小时、分钟内存单元的数值。在对时的时候,调整秒的数字时,分单元内的数值不能变,在对分进行调整的时,时单元内的数值不变。由以上分析可见,对时、分、秒的调整用一个优先级高于NMI的中断来完成。当该按键按下时,8255扫描到有信号输入,反馈到8253并停止计时,同时选中8255的相对应的位选接口地址,这时按下另一按键,修改能存单元中的数据,通过8255对应的位选输出端口即可设定相应的时间参数。两个中断源的中断请求信号只需直接接在两个按键即可起到对时作用。
三、 软件环境及调试过程
软件环境:proteus
调试过程:将编写好的源程序输入,编译后出现很多问题,经过反复修改程序终于运行通过。数码管显示的数字并不与理论计算值相符合,经过反复分析源程序发现问题出现在内存单元里时位和分位在转化为十进制时出错,经过更改内存但愿数据。一开始数字闪动,后来发现在显示子程序里,缺少延时程序。编写延时子程序,并在显示子程序调用它;编译源程序,装入生成的可执行文件,并运行。数码管显示的数字与理论值相符合,并能正常计时。
4