资料介绍
模拟电路
3 单片机开发工程案例分析与解析
3.1 定时报警器
设计一个单片机控制的简易定时报警器。要求根据设定的初始值(1-
59秒)进行倒计时,当计时到0时数码管闪烁“00”(以1Hz闪烁),按键功能如下:
(1)设定键:在倒计时模式时,按下此键后停止倒计时,进入设置状态;如果已经
处于设置状态则此键无效。
(2)增一键:在设置状态时,每按一次递增键,初始值的数字增1。
(3)递一键:在设置状态时,每按一次递减键,初始值的数字减1。
(4)确认键:在设置状态时,按下此键后,单片机按照新的初始值进行倒计时及显
示倒计时的数字。如果已经处于计时状态则此键无效。
3.1.2 模块1:系统设计
(1)任务分析与整体设计思路
根据题目的要求,需要实现如下几个方面的功能。
计时功能:要实现计时功能则需要使用定时器来计时,通过设置定时器的初始值来控
制溢出中断的时间间隔,再利用一个变量记录定时器溢出的次数,达到定时1秒中的功能
。然后,当计时每到1秒钟后,倒计时的计数器减1。当倒计时计数器到0时,触发另一个
标志变量,进入闪烁状态。
显示功能:显示倒计时的数字要采用动态扫描的方式将数字拆成“十位”和“个位”动态
扫描显示。如果处于闪烁状态,则可以不需要动态扫描显示,只需要控制共阴极数码管
的位控线,实现数码管的灭和亮。
键盘扫描和运行模式的切换:主程序在初始化一些变量和寄存器之后,需要不断循环
地读取键盘的状态和动态扫描数码管显示相应的数字。根据键盘的按键值实现设置状态
、计时状态的切换。
(2)单片机型号及所需外围器件型号,单片机硬件电路原理图
选用MCS-
51系列AT89S51单片机作为微控制器,选择两个四联的共阴极数码管组成8位显示模块,
由于AT89S51单片机驱动能力有限,采用两片74HC244实现总线的驱动