用8031控制机械钟表精确走时
机械钟表的准确走时存在一些问题。例如巨型建筑用钟(塔钟)、站台双面钟等公共场所使用的指针式钟表,因长时间工作,日积月累的走时误差往往超过几分钟,而人工调整又不方便,利用单片机对机械钟表走时控制,实现机械指针的自动校正就显得十分必要的,本文介绍一种利用单片机8031控制机械钟表精确走时的实现方法。
一、8031对钟表走时的控制方法
8031单片机对机械钟表走时控制的一种电路结构如图1。图中,晶振电路产生非常准确的时钟信号(4.i943O4MHz),经19次和22次分频后产生SHz和iHz信号。钟表正常走时由IHz信号驱动步进电机,1秒钟步进电机动作一次,钟表指针走动一秒间隔,钟表快追针用SHz信号驱动步进电机,为正常走时的8倍。钟表停止走针时两个信号均不通过,钟表指针不受驱动。走时控制电路采用简单的与或门实现,用两位数据信号D1、D0分别控制SHz和IHz信号。8031CPU是控制核心,EPROM用于存放固化程序。标准时间电路采用精确的实时钟集成电路(如DS1216,MCi46sis等)提供一天的标准时间,与指针指示时间比较,决定钟表指针正常走、快走或停走。按键开关和显示电路用于对8031输人控制命令和数据,并显示标准时间。指针指示时间电路指示钟表盘面时针指出的整点时间,由12进制计数器对分针整时反馈信号计数实现。
分针整时反馈信号是这样提供的:在分针走到整点时触动一轻触开关,轻触开关的触动闭合信号通过光电藕合电路送到12进制计数器,其计数值表示指针指示时间。这部分电路如图2。
图2
图中,K是轻触开关,Kl是手动调整开关。12进制计数器由两片十进制计数器40192ICI、ICZ采用反馈预置实现。计数值为1,2,……,12用于表示时针指示小时数。指针指示时间的显示由两块LED数码块完成,两片45nIC3、IC4完成七段译码和LED显示驱动。ICS和4012为四与或非门。8031通过IC674LS245读取指针指示时间值。
二、8031对走时控制编程
从以上电路结构看出,8031对走时控制编程实质是确定D1D0。在钟表正常工作时,8031定时对标准时间和指针指示时间小时数进行比较,当指针指示时间与标准时间相等时正常走时,D1D0=01;当指针指示时间比标准时间快1小时时指针停走,D1D0=00;当指针指示时间比标准时间慢(或快1小时以上)时指针快走,D1D0=10。
为了使指针追针时追上标准时间小时数以后能够继续追针。直至追上标准时间的分秒数,设一追针标志F。当指针追针时置F~1,在指针追上标准时间小时数时清掉此标志F~0,同时记下此时标准时间的分秒数并换算成秒数,用两字节数保存起来,作为继续追针的初始时间差△t。追针是正常走时的8倍速,继续追针时间t由下式确定:
相关文章
- 2024-03-21引进二氧化硅分析仪特点及存在问题
- 2024-08-08高速电主轴系统的在线动平衡及其仿真研究
- 2024-06-25太阳能溴化锂吸收式空调制冷技术在高原高海拔地区应用
- 2022-06-07一种基于VC++程序的FPGA重配置方案设计
- 2024-08-01利用PC机实现B&K2230型声级计性能的拓展



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