1、 1 目录 一、 设计要求2 二、 设计目的2 三、 设计的具体实现2 1. 系统概况2 2. 硬件电路设计2 2.1 显示模块3 2.2 时钟运算模块3 2.3 对时模块4 3. 软件程序设计4 3.1 8259A 的主要功能4 3.2 8255 的主要功能4 3.3 8253 的主要功能4 4. 程序框图5 四、 结论与展望8 五、 心得体会及建议8 六、 附录9 七、 参考文献19 2 电子钟的设计报告 一、 设计要求 设计一个电子时钟,使其具有二十四小时循环记时功能,走 时要准。并且有时钟的对时功能。 二、 设计目的 熟练掌握 TND86/88 教学系统的基本操作和调试程序的各种指令。
2、 熟悉编程及调试程序的方法。 掌握 8259 中断控制器的工作原理和应用编程方法,练习编写中 断程序的方法。 掌握 8255 的各种工作方式及其应用编程。 掌握 8253 定时/计数器的工作原理、工作方式及其应用编程。 练习 LED-KEYBOARD UNIT 的使用方法和数码管的显示编程方法。 三、 设计的具体实现 摘要 1通过 8253 定时器产生秒脉冲信号,进而实现定时中断。在中 断服务程序中实现秒、分、小时的进位(24 小时制) 。 2将当前时分在数码管上显示(0823) 3可调整电子钟的时间当前值(对准时间) 。 具体实现 1系统概况 电子时钟主要由显示模块、对时模块和时钟运算模块三
3、大部 分组成。其中对时模块和时钟运算模块要对时、分、秒的数值进 行操作,并且秒计算到 60 时,要自己清零并向分进 1;分计算到 60 时,要自己清零并向时进 1;时计算到 24 时,要清零。这样, 才能实现循环计时。显示时只显示时和分,不显示秒,利用实验 箱上的 4 个数码管来显示当前时间。前两个显示小时,后两个显 示分钟。时钟的运算是利用中断来实现的,利用 8253 的方式三输 出一定频率的方波作为触发中断的条件。在中断服务程序中计算 时间,并通过 8255 并行输出到数码管显示。 2硬件电路设计 电子时钟主要由 8259A 中断控制器、 8253 定时/计数器、 8255A 接口芯片、
4、LED 数码显示管和两个按键组成。 主要用 8259A 的 IRQ7 3 的中断服务程序完成秒、分、时的运算即计时功能,IRQ6 的中断 服务程序完成调时、调分功能。8253 用来产生 40ms 的脉冲信号作 为 IRQ7 的中断请求信号。 按键 KK1+和 KK2+分别作为 IRQ2 和 IRQ6 的中断请求信号。按键 KK1+启动/关闭对时功能。它决定是否屏蔽 IRQ7 和 IRQ6 中断源。8255A 负责将内存里的时位和分位值输出到 数码管。 2.1 显示模块 利用数码管的显示功能来设计。数码管是由八个条形发光二 极管组成的,这些发光二极管的阴极是互相连接在一起的,所以 称为共阴极数码
5、管。通过在这八个发光二极管的阳极加+5 V 或 0 V 的电压使不同的二极管发光,形成不同的字符和数字。电子时钟 用到的是 0 到 9 十个数字,他们所对应的字符表依次是 3FH、06H、 5BH、4FH、66H、6DH、7DH、07H、7FH、6FH。该模块显示时先将 保存在数据单元的当前时间包括小时和分钟读取出来,把十六进 制数字转化成十进制用四个字节分别存放小时和分钟,并把这四 个数值通过 8255B 端口并行输出给数码管显示。该模块中用到的 主要硬件是 TND86/88 的 LED-KEYBOARD UNIT 以及 8255 的 A 端口 和 B 端口。 2.2 时钟运算模块 该模块的主要功能是对时、分、秒的运算,并把运算出的最 终结果存到事先已经开辟的内存单元里,以便显示模块即时地显 示出来。该模块可以细分为秒定时模块和运算模块。秒定时模块 负责提供中断信号,由于 CPU 运算模块中的指令消耗一定的时间, 所以中断信号最好通过硬件来实现,选择的是 TND86/88 实验箱中 的 8253 定时/计数器,但又因为 8253 所能提供的信号的周期是毫 秒级的,因此必须通过软件的方法在运算模块中设置一个统计中 断次数的变量,并且这一变量必须事先在内存里开