实例93 99.9秒秒表
该案例可参考或移植
设fosc=6MHz,按图8-15电路,要求一键三用:按第一次,秒表运行计时,最大计时99.9s,超过复0。按第二次,秒表停运行,但保持最后显示秒数。按第三次,秒表清0。
先Proteus仿真一下,确认有效。
以上摘自张志良编著《单片机实验实训100例》 ISBN 978-7-5124-1603-1,北航社出版
若需99.99秒,硬件电路增加一位595。软件程序增加0.01s(10ms)计数器,并修改相应计数显示程序。
书中电路和程序设计有详细说明,程序语句条条有注解。
⒈ 电路设计
设计99.9秒秒表电路如图8-15所示,该电路与上例相似,删除3位显示、2个校正按键和4个秒闪烁发光二极管,就组成了99.9秒秒表电路。
由80C51RXD端与控制秒十位输出显示的74HC595 DS端连接,595串行输出端QS与下一片595串行输入端DS端连接,595并行输出端Q0~Q7与数码管笔段a~g、Dp端连接,依次输出3位秒数据;小数点固定在第2位,通过电阻接地;TXD端与3片595 CLK端连接,串行输出时钟脉冲,控制595串行移位;P1.7与3片595 RCK端连接,控制输出触发595片内缓冲寄存器中数据进入输出寄存器的正脉冲;int0与K0连接,按下K0,触发int0中断,控制秒表快速响应,立即计时。
| | | | | | | 74HC595特性已在实例30中介绍,此处不再赘述。 | | | ⒋Proteus仿真 | ⑴ 按实例1所述Proteus仿真步骤,打开Proteus ISIS软件,按表8-7选择和放置元器件,并连接线路,画出Proteus仿真电路如图8-16所示。 |
|
⑵ 鼠标左键双击Proteus ISIS仿真电路中AT89C51,装入Keil调试后自动生成的Hex文件。
⑶ 全速运行后,3位LED显示00.0,然后计时运行。
⑷ 按第一次K0(不闭锁),秒表按0.1s快速计时运行。最大计时99.9s,超过复0。
需要说明的是,本例选用的BUTTON按键有两种运行功能:有锁运行和无锁运行。作有锁运行时,鼠标左键单击按键图形中小红圆点,单击第一次闭锁,第二次开锁。作无锁运行时,鼠标左键单击按键图形中键盖帽“ ”,单击一次,键闭合后弹开一次,不闭锁。
 ⑸ 按第二次 K0(不闭锁),秒表停运行,但保持最后显示秒数。
⑹ 按第三次K0(不闭锁),秒表显示清0。
⑺ 终止程序运行,可按停止按钮。
|