关于《单片机时钟控制系统》的论文 要有图!
自校准高精度单片机时钟系统
摘要:介绍一种建筑物上塔钟的微机控制系统.系统由单片机构成的电子时钟具有高精度、自
校准功能,塔钟以它为基准走时,并能实现停电后的自动追时.
关 键 词:单片机;塔钟;自校准;自动追时
0 引 言
随着经济的发展,城市建筑物上的塔钟越来越多.但现时的塔钟,一般由小规模集成电路
控制步进电机走时,整个系统体积大,准确性不高,停电后塔钟不能自动追时.用单片机代替集
成电路的控制系统,将克服上述缺陷,使塔钟具有自校准、高精度和自动追时功能.
1 硬件设计
1.1 系统硬件配置
本系统硬件配置如图1,它
是以AT89C51为CPU的单片
机控制系统.由其内部的定时器
构成标准电子时钟,为保证电子
时钟的自校准及高精度,引入北
京时钟报时信号作为AT89C51
的中断信号,用以校准电子时钟
的准确性.同时为保证停电时,系统的电子时钟继续计时,引入MC146818芯片,它是兼有数
据存贮功能的时钟芯片.停电时,除了MC146818接替CPU计时外,所有功能部件都停止工
作.
系统中的塔钟由步进电机带动走时,AT89C51以电子时钟为基准,输出步进电机的控制
信号.同时,根据要求,CPU对塔钟上的相关设备:霓虹灯、音乐片(5530/5535)、扩音器等进行
控制.电子时钟、塔钟的时间数据由六位LED显示器显示.另外,通过按键,可设置电子时钟、
1.2 电子时钟的自校准
电子时钟由AT89C51内部定时器T0中断构成,根据中断间隔时间算出定时初值放在
TL0、TH0中.为使电子时钟具有可校准性,定时初值TH0固定,而TL0可根据每天误差的秒
数重新设置,其重装值放在MC146818的存贮单元中.初运行时,根据走时情况,由人工通过
按键预置一天误差的秒数,由CPU换算成定时初值后,校准TL0的值,使时钟一开始便具有
一定的精度,以后由输入的北京时间信号每天自校准一次,这样T0构成的电子时钟便具有很
高的精度.
北京时间报时信号可通过普通收音机电路获得,从收音机电路的检波输出点取出信号,输
入到带通滤波器,再经过整流和非门电路形成6个间隔相等的矩形波,输入AT89C51的
INT0,作为中断请求信号,如图2.
为防干扰信号的串入,CPU在一天内史允许在ΔT时间(如 8∶00±1/2ΔT)内开放
INT0中断,把T0定时时间和北京时间比较并进行校准,重定TL0的值.自校准时间窗口即ΔT
时间的大小,根据一天误差秒数设定,其值尽可能小,同时必须保证在ΔT窗口收到北京时间
报时信号.
1.3 系统的自动追时
步进电机需220V交流电带动,停电时,步进电机不能工作,塔钟指针不再走时,因此单片
机控制系统没有必要配置UPS不间断电源.在此,仅引入MC146818实时时钟芯片,它兼有数
据存贮功能,带有14个寄存器和50bit供用户使用的静态RAM,它功耗低,适合在断电时用
备用电池工作.系统正常工作时,MC146818芯片与AT89C51的T0定时器并行计时,并且每
隔一分钟由CPU校准一次(MC146818定时精度低于CPU的定时器),检测到即将停电时(由
电源监视及检测电路实现),CPU首先将重要数据放入MC146818提供的静态RAM中,然后
CPU内部所有功能部件都停止工作,仅MC146818芯片由电池供电继续计时.来电后,CPU
从MC146818中读取时标,计算出塔钟停走时间,输出步进电机控制信号,从而控制步进电机
带动塔钟指针走动,实现自动追时功能.
1.4 步进电机的驱动电路
塔钟指针由步进电机带动走时.步进电机的驱动电路采用5G8713芯片.该芯片的引脚
中:CU,CD是双时钟工作的时钟输入端;Ck是单时钟输入端;正反转由U/D端决定:U/D为
“1”,输出端输出正转脉冲,反之,输出反转脉冲;EA、EB为激励方式选择端:“00”双激励方式,
“11”1—2相激励方式,“01”或“10”单激励方式;3/4端为3相或4相选择控制端;A~D为4
个相驱动输出端;EM为激励方式状态标志;C0输入时钟检测端;R复位控制端.本系统选择
步进电机于单进钟输入,3相1 2激励的工作方式.因此,EA、EB为“11”,3/4为“0”,A~C为
输出端. Ck;U/D由CPU控制.如图3
正常走时时,分针的走速为360°/h,每输
入一个脉冲,步进电机绕组状态变化一次,并
相应地旋转一个1.5°的角度.因此1分钟内,
CPU需送出4个Ck脉冲.当需快速追时,只需
增大Ck的频率. U/D信号用于控制顺时针或
逆时针追时.塔钟走时时间由CPU对Ck计数
后换算获得.
另外,本系统音乐片5530/5535是一种高
档多功能的石英钟芯片,只需CPU给予适当预置,便可自动计时,正刻时奏乐,正点时报时,
并由扩音器送出.钟塔上的霓虹灯亦由CPU送出控制信号,实现自动亮灭.
2 软件设计
本系统采用的AT89C51型单片机,内部带有4K存贮量的E2PROM,足够本系统的软件
程序使用.系统软件采用模块式设计,包括:一个主程序(如图4),两个处理子程序和三个中断
服务子程序.
三个中断服务子程序中:
1) T0中断服务程序,每1/16秒
中断一次,形成标准电子时钟.进入
中断后,首先从MC146818存贮单元
取出TL0的值,对TL0进行重新装
入,并且产生步进电机、扩音器、霓虹
灯、是否开放自校准时间窗口、是否
校准MC146818时钟等控制信号的
标志位,以便主程序根据标志位送出
相应的控制信号(图5);
2) INT0中断服务程序,一天仅在自校准窗口时间范围内中断一次,在此中断程序中首先
判断报时信号的真伪,若为真,则用它校准CPU的T0所构成的电子时钟(图6);
3) INT1中断服务程序,对电源进行监测,并判定是停电还是电源干扰,若是停电则进入该
3 结束语
上述系统已通过调试,运行正常,具备自校准和自动追时功能,达到设计要求.对于有的钟
塔需有四面机械钟,我们可在此基础上对软、硬件稍作修改,使其能同时控制四个电机,完成钟
塔四面机械钟的同时准确走时.
参 考 文 献 ]
[1] 何立民.单片机应用技术选编[M].北京:北京航空航天大学出版社,1992.
[2] 王树勋等.MCS-51单片微型计算机原理与开发[M].北京:机械工业出版社,1998.
[3] 刘乐善等.微型计算机接口技术原理及应用[M].武汉:华中理工大学出版社,1995.
(菜鸟问路)电子时钟电路原理图,谁有?
逆计时数显定时控制器(CD40110、CD4040、CD4069)电路图利用交流电源50Hz的输出频率通过分频,可以取得各种不同频率的时基脉冲。该电路选用lmin的时间长度作为定时器的时基标准,通过计数器的计数、译码、最后用数码管将时间显示出来。电路采用逆计数定时方式,先将所需定时时间通过预置开关进行预置,然后通过减法计数使预置时间数逐步减少。当预置时间被减为0时,计数器停止计数并输出控制信号使继电器动作。由于电路可以选择预置定时开或定时关,所以使用十分方便,其电路组成如图所示。
查看原帖>>