基于AT89C2051的多功能时钟设计
1 引 言
现有时钟设计的可选方案较多,可以利用中小规模集成电路设计,可以利用专用的时钟芯片设计,也可以利用单片机进行设计等,且各有特点。其中利用单片机实现时钟的设计方法,具有电路简单、编程灵活、便于扩展、精确度高、稳定性好等优点,所以这里选择利用单片机设计。
在选择单片机时,考虑到AT89C2051体积较小、性价比较高,在家电产品、工业控制、计算机产品、医疗器械、汽车工业、智能仪器等应用领域已成为用户降低成本的首选产品[1]。所以,该设计选用AT89C2051作为时钟的中心控制单元,结合相关外围电路,实现了时间显示、时钟调整、闹钟设置、整点报时及省电等多种功能。
2 系统设计
2.1 定时器工作方式选择
时钟设计的关键问题是秒信号的产生,在使用MCS-51的定时器/计数器生成秒信号时,若选用12 MHz晶振,选择工作方式0时,最大定时时间为8.19 ms;选择工作方式1时,最大定时时间为65.54 ms;选择工作方式2,3时,最大定时时间为0.26 ms。因为进入中断要做很多判断,如果中断时间太短则不能完成任务,导致时钟误差增大,所以选择中断时间最长的工作方式1。这时定时器最大定时时间只能达到65.5 ms,离1 s还相差甚远。因此,该设计采用硬件定时和软件计数相结合的方式实现秒信号的,即把秒定时时间定为50 ms,软件计数20次为1 s。
2.2 定时初值的计算
MCS-51系列单片机的定时器为加法计数器计满溢出时申请中断,所以在给定时器赋初值时,不能直接输入所需的计数值,而应输入定时器的计数最大值与需要定时值的差值。采用定时器/计数器0,选择工作方式1,在选用12 MHz系统晶振时,要得到50 ms定时,设定时初值为X,则有如下等式:
计算得定时初值X= 15 536,二进制表示为1110010110000B,16进制表示为3CB0H。
为了实现调整时间时的闪烁显示功能,采用T1定时器,定时初值仍可延用上面计算结果。
2.3 存储单元的设置
为了方便实现其他附加功能,将计时存储单元、显示存储单元与闹钟时间存储单元分开。其中显示装置是用6位LED数码管,时钟的时、分和秒各占2位。在闹钟设置时显示闹钟时间,其余时间显示时钟。存储单元设置分别如表1,表2,表3所示。
3 电路设计
3.1 时钟电路原理图
数码管时钟电路以AT89C2051单片机最小系统为基础,显示采用LED动态扫描方式实现,P3.7口接设置按钮,用来实现调时钟、调闹钟、省电3种状态的转换,在闹钟和时钟调整时为上翻键,也是关闭闹钟的按键。为了提供LED数码管的驱动电流,用三极管9012作输出驱动。为了提高秒计时精确度,系统选用12 MHz晶振,即电路主要是由单片机、复位电路、振荡电路和显示电路4部分组成。复位电路采用上电复位,振荡电路选用12 MHz中晶振和2个30 pF的瓷介电容。电路原理如图1所示。
相关文章
- 2023-11-06基于主成分分析的腐蚀缺陷边缘识别研究
- 2023-11-24基于CAN和μC/OS-Ⅱ的新型电子测量仪设计
- 2024-07-04智能脉搏测试仪的设计和实现
- 2024-10-18模具专业《工程力学》课程的教学探讨
- 2024-04-26水热法制备压电双晶片的研究



请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。