本课程设计通过汇编语言编写程序,实现了整点报时和秒表计时两大实用功能,旨在提升学生对硬件操作及时间管理算法的理解。
汇编语言课程设计要求实现一个整点报时的时钟程序,并且已经通过实测确认无误。该设计旨在掌握如何综合使用基本输入输出设备、通用接口芯片及专用接口芯片,同时学习实时处理程序的设计与调试方法。
具体实验任务是创建一个定时显示装置,利用实验仪上的八个LED数码管来展示时间(采用24小时制格式),如14-35-45。此项目需要实现以下功能:
1. 通过键盘设置初始时间。
2. 整点报时:当分秒值为59:55时,蜂鸣器开始每秒钟响一次直至整点到达为止。
3. 设置闹钟:在设定的时间触发后,蜂鸣器响起最长不超过半分钟。可以通过按键停止闹铃。
键盘操作定义如下:
- F键(启停键):程序启动后按下此键可以启动时钟;再次按则暂停计时并显示当前时间。
- C键(设置键):用于设定初始的小时、分钟和秒数,需注意不能超出23:59:59的最大值限制。
- D键(闹钟设置键):用来调整闹铃的时间点。
- E键(停止闹铃控制键):当听到闹铃时按下此按键可以中断响声。
实验所需设备包括8255系列模块、8253定时器及8259A芯片。在编程过程中,将使用这些硬件来完成键盘的控制与LED显示任务,并通过8253生成精确的一秒时间信号以实现计时功能;整点报时则由外部中断触发。
整个项目程序包含主控模块和中断服务子程序两大部分:
- 主程序主要负责初始化各种芯片、设置中断向量以及扫描键盘来响应按键指令。
- 中断处理部分每秒钟运行一次,用于更新时间显示并执行相关逻辑如整点报时等操作。