编辑: 645135144 | 2013-04-10 |
1 1
5 5
8 5 规格 AT89C51 7SED
104 10k
560 100
2 电路设计 单片机控制电路省去很多复杂电路,使得电路得到简化.用C语言程序来控制时钟显示,更加简化了时钟的设计.电路构思也比较简单,用框架来描述分三个部分. 每个部分的详细设计用流程图来展现. 2.1 总体设计框架 此设计原理图如图所示,包括三个部分:单片机,键盘,显示电路. 图1 总体构思 2.1.1 总体设计思路 设计的电路有三个模块组成:单片机控制电路,显示电路和校正电路. 整个设计是由单片机为中心,单片机实现时钟的运行,进制,循环,中断,初始化等等.软件程序从开始执行,先通过初始化各个寄存器,时钟正常运行,经过扫描按键来决定是否设定参数来执行相应功能的程序,进而在数码管上显示. 2.1.2 总体流程图 图2 总体流程 2.2 部分设计细节 1.单片机发送的信号通过程序控制最终在数码管上显示出来.通过寄存器里存储的数据通过P2和P3端口来达到显示在数码管上的效果. 2.单片机通过输出各种电脉冲信号来驱动控制各部分正常工作.单片机自带的晶振电路使得单片机有很稳定的脉冲信号输出. 3.为使时钟走时与标准时间一致,校时电路时必不可少的,按键输入的数据存入寄存器后与时钟正常的时间数据相加来调节时间,键盘用来校正数码管上显示的. 2.2.1各部分计思路及电路图 图3 电路图 设计采用C语言程序编程,使单片机控制数码管显示时、分、秒,当秒计数计满60时就向分进位,分计数器计数满60后向时计数器进位,小时计数器按 23到0 规律计数,从0到23循环.时、分、秒的计数结果经过数据处理可以直接送显示器里显示.当计时发生误差时可以校时电路进行校正.设计采用的是时、分、秒显示,单片机对数据进行处理同时在数码管上显示. (1)各个控制键的功能:可对时钟时、分进行校准调节(只可累计加1);
加时
1、加分1键实在校准时间时对小时数或分钟数调节而设置的;
按下秒切换键就进入秒表模式,同时秒表开始计时,按下秒表暂停,复位键就暂停、归零,如果要从新对秒表计时则可以按秒表开始、复位;
(2)AT89C51单片机,通过编写程序对数码显示进行控制. (3)八个7段数码管显示时钟和秒表信号.
3 时钟各功能分析及图解 3.1 时钟运行图 图4 图5 仿真运行开始后,时间显示00-00-00并开始像复位时钟一样一秒跳动一次的运行.如图所示一样,调分键按一次,分钟数个位数值增加一.调时键按一次,小时数个位数值增加一,暂停按键可以让时钟暂停下来,返回时钟是用于进入秒表状态后或暂停后返回时钟界面用的.(图4) 简单操作就是:启动仿真,时钟运行,用调时、调分键校正时间,暂停键用于调秒或秒表,暂停过后想回到时钟界面就点击返回时钟按键.(如图5) 3.2 秒表运行图 图6 当秒表按键被按下后,八位共阳极数码管上显示的是00-00-00,并且最小的跑秒是0.01秒,最后两位(
7、8)数字进位不再是60而是100,数码管的
4、5的进位是60进1,
1、2位则是到60后又返回00的无进位循环. 按键操作:当按动秒表键时,数码管从00-00-00开始计数,六秒后为00-06-48(图6).这时你按下暂停键时,时间就会一直显示这个时间.返回时钟键有复位的功能,当你按下后,会回到时钟界面,回到你按秒表时的时间.当你再按秒表时又会重复上面的步骤.如(图7) 该数字钟是用一片AT89C51单片机通过编程区去驱动8为数码管显示来实现的.通过5个开关控制,分别为调分、调时、秒表、暂停、返回时钟,控制键分别对应P1.0到P1.4端口. AT89C51通过P2口和P3口区控制数码管的显示,P2口接数码管的a-g端面试控制输出编码.P3口接数码管的1-8端,是控制动态扫描输出. 图7