单片机数字秒表课程设计与源代码解析

5星 · 超过95%的资源 需积分: 10 38 下载量 19 浏览量 更新于2024-10-31 收藏 60KB DOC 举报
"这是一个关于单片机数字秒表课程设计的源程序,主要涉及单片机技术,使用了8279芯片进行显示控制,并具备两路计数功能。" 在这个项目中,单片机被用来实现一个数字秒表的功能,通过8279芯片来驱动显示和处理输入。8279是一种I/O控制器,常用于微处理器系统中的键盘和显示器接口。程序中定义了8279的状态/命令口地址(Z8279EQU08701H)和数据口地址(D8279EQU08700H),以便与芯片进行通信。 程序的核心部分包括计时、显示和键盘扫描。在`START`子程序中,首先初始化了8279芯片,设置了显示模式(LEDMODEQU00H)和扫描速率(LEDFEQEQU2FH),并清除了显示RAM(LEDCLSEQU0C1H)。然后,程序开始计时,使用TMOD寄存器设置定时器T1为模式1(TMOD=#10H),并设置初值以实现10毫秒的计时周期。定时器T1的中断服务子程序`INT_T1`负责更新时间。 在主循环`WAIT`中,程序不断检测键盘输入,当有按键按下时,会根据按键值(例如,键_D对应3BH)执行相应操作,如启动计时(`START_T`)或显示时间(`DISPLAY1`和`DISPLAY`)。`GETKEY`子程序实现了外部译码键扫描,确保双键互锁,避免按键冲突。同时,有一个标志变量R6用于表示秒的变化,只有在秒变化时才会更新显示,提高了效率。 `INIT8279`子程序是8279的初始化过程,它将8279设置为所需的工作模式,并设置扫描速率和清除显示。程序还用到了延时子程序`DELAY`,以确保操作的稳定。 这个课程设计项目提供了完整的秒表功能,包括计时、显示以及键盘交互,对于学习单片机控制和8279芯片应用是非常有价值的实践案例。