基于单片机的电子时钟设计摘要20 世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
现代生活的人们越来越重视起了时间观念,可以说是时间和金钱划上了等号。
对于那些对时间把握非常严格和准确的人或事来说,时间的不准确会带来非常大的麻烦,所以以数码管为显示器的时钟比指针式的时钟表现出了很大的优势。
数码管显示的时间简单明了而且读数快、时间准确显示到秒。
而机械式的依赖于晶体震荡器,可能会导致误差。
数字钟是采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。
数字钟的精度、稳定度远远超过老式机械钟。
在这次设计中,我们采用LED数码管显示时、分、秒,以24 小时计时方式,根据数码管动态显示原理来进行显示,用 12MHz的晶振产生振荡脉冲,定时器计数。
在此次设计中,电路具有显示时间的其本功能,还可以实现对时间的调整。
数字钟是其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱,因此得到了广泛的使用。
关键字:数字电子钟单片机数字电子钟的背景20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。
忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。
但是,一旦重要事情,一时的耽误可能酿成大祸。
目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着 CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。
下面是单片机的主要发展趋势。
单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。
这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。
单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。
数字电子钟的意义数字钟是采用数字电路实现对 . 时, 分, 秒. 数字显示的计时装置 , 广泛用于个人家庭 , 车站 , 码头办公室等公共场所 , 成为人们日常生活中不可少的必需品 , 由于数字集成电路的发展和石英晶体振荡器的广泛应用, 使得数字钟的精度 , 远远超过老式钟表 ,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
数字电子钟的应用数字钟已成为人们日常生活中:必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。
由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。
电路及功能说明:电路图如图所示:图A图Bv1.0可编辑可修改图 C该数字钟是用一片AT89C51A单片机通过编程去驱动8 个数码管实现的。
通过 6 个开关控制 , 从上到下6 个开关 KEY1~KEY6的功能分别为: KEY1,切换至秒表; KEY2,调节时间 , 每调一次时加1; KEY3, 调节时间 , 每调一次分加1; KEY4,从其它状态切换至时钟状态;KEY5,切换至闹钟设置状态, 也可以对秒表清零; KEY6,秒表暂停 . 控制键分别与 ~口连接.其中:A. 通过 P2 口和 P3 口去控制数码管的显示如图所示P2 口接数码管的a—— g 端,是控制输出编码,P3口接数码管的1—— 8 端 , 是控制动态扫描输出.B.从输出一个信号使二极管发光,二极管在设置的闹钟时间到了时候发光,若有乐曲可以去驱动扬声器实现。
(图 A 是时钟运行状态,图 B 是闹钟运行状态,图C是秒表运行状态)功能说明:1.各个控制键的功能:可对时间进行校准调节(只能加1);按下设置键数字时钟进入闹钟设置状态,设置闹钟的时间;时加1、分加1键是在校准时间时或设置闹钟时间对小时数或分钟数调节而设置的;按下秒切换键就可以进入秒表模式,同时秒表也开始计时,按下秒表暂停、复位键就暂停、归零,如果要重新对秒计时则可以按秒表开始、复位;清零键可以对闹钟清零。
2. AT89C51 单片机,通过编写程序对数码显示进行控制。
3.八个 7 段数码管显示时钟和秒表信号。
二,实验程序流程图:1.主程序流程图:v1.0可编辑可修改开始定时器及中断寄存器初使化是否设定参数Y 执行时钟 ,秒表 ,闹钟设定程序N执行显示程序2.中断程序流程图v1.0可编辑可修改恢复初值保护tcount 加 1Ntcount=100?Y秒数值 time1.second 加1,tcount 归零N判断时间与闹钟时间是否相同time1.second=60?Y Y执行闹钟程序分数值 time1.minute 加P0.0=11,time1.second 归零 ,NN N闹钟程序是否time1.minute=60?执行完Y Y返回主程序时数值 time1.hour 加1,time1.minute 归零N time1.hour>23?Y时数值 time1.hour 归零v1.0可编辑可修改2.秒表中断程序流程图:恢复初值保护10ms计数器加 1Nms>100?Y秒计数器加1,10ms 计数器归零 ,即sec++,ms=0Nsec>60?Y分计数器加 1,秒计数器归零,即 minit++,sec=0.输出字码 ,中断结束 ,返回上级主程序3.按键程序流程图:第一图为时钟和闹钟的调节 .v1.0可编辑可修改程序初使化N判断时加键 判断标志 flag 是 输出时钟时个位加thour 是否按下 ,dat1[6]>9?YYP1.2=0?否为 0,flag=0?1,dat1[6]++, 延时 .NNNY判断分加键盘 输出闹钟时个位加输出时钟时十位加 tminute 是否按1,alarms[6]++, 延时 alarms[6]>9?下 ,P1.1=0?1,dat1[7]++, 延时YYN判断标志 flag 是否为 0,flag=0?输出闹钟时十位加1,alarms[7]++, dat1[7]>2?延时输出闹钟分个位加1,alarms[3]++, NY延时NYN输出时钟分个位加1,dat1[3]++, 延时 .alarms[7]>2?时十位归 alarms[3]>9?零 ,dat1[7]=0N YYdat1[3]>9?时十位归零 ,alarms[7]=0.输出闹钟分十位加1,alarms[4]++, 延时YN输出时钟分十位加 dat1[4]>2?Y分十位归 alarms[4]>2?延时零 ,dat1[4]=01,dat1[4]++,YN分十位归 零,alarms[4]=0.第二图为进入中断和清零v1.0可编辑可修改判断分加键tminute 是否按下 ,P1.1=0?N判断秒表 miaobiao1 是否按进入秒表中断,执行Y返加上级主程序下,P1.0=0?秒表中断程序N判断清零键miaobiao2 是否按N下,P1.3=0?Y清零所有的计数器,各个显示的字码第三章数字钟的硬件设计最小系统设计v1.0可编辑可修改图 3-1 单片机最小系统的结构图单片机的最小系统是由电源、复位、晶振、/EA=1 组成,下面介绍一下每一个组成部分。
1.电源引脚Vcc 40电源端GND 20接地端工作电压为 5V,另有 AT89LV51工作电压则是 ,引脚功能一样。
2.外接晶体引脚v1.0可编辑可修改图 3-2 晶振连接的内部、外部方式图XTAL1 19XTAL2 18XTAL1 是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而 XTAL2悬空。
内部方式时,时钟发生器对振荡脉冲二分频,如晶振为 12MHz,时钟频率就为6MHz。
晶振的频率可以在1MHz-24MHz内选择。
电容取30PF 左右。
系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。
AT89单片机内部有一个用于构成振荡器的高增益反相放大器。
引脚XTAL1和 XTAL2分别是此放大器的输入端和输出端。
这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。
外接晶体谐振器以及电容C1 和 C2 构成并联谐振电路,接在放大器的反馈回路中。
对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。
因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为22μF。
在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。
3.复位RST 9在振荡器运行时,有两个机器周期(24 个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51 芯片便循环复位。
复位后P0-P3 口均置 1 引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。
当复位脚由高电平变为低电平时,芯片为 ROM的 00H处开始运行程序。
复位是由外部的复位电路来实现的。
片内复位电路是复位引脚 RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。
复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路。
当时钟频率选用6MHz时,C取 22 μF,Rs 约为 200Ω, Rk 约为 1K。
复位操作不会对内部RAM有所影响。
常用的复位电路如下图所示:v1.0可编辑可修改图 3-3常用复位电路图4.输入输出引脚(1)P0 端口 [ P0 是一个 8 位漏极开路型双向 I/O 端口,端口置 1(对端口写 1)时作高阻抗输入端。
作为输出口时能驱动8 个 TTL。
对内部 Flash 程序存储器编程时,接收指令字节 ; 校验程序时输出指令字节,要求外接上拉电阻。