基于单片机的电子钟设计.doc
上传人:sy****28 上传时间:2024-09-13 格式:DOC 页数:3 大小:29KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

基于单片机的电子钟设计.doc

基于单片机的电子钟设计.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于单片机的电子钟设计技术要求:用MCS51系列MUC实现能够计时,且可以设置闹铃时间精度在±1S/天内我们为什么要选用单片机来设计电子钟呢?这是因为单片机学习简单,应用方便,用它结合简单的接口电路即可构成电子钟,与传统钟表相比较,它具有高精度,高可靠性,操作方便,价格便宜,智能化等特点,具有一定的实用价值。51单片机定时/计数器的特点:16位的定时器/计数器实质上就是一个加1计数器,其HYPERLINK"http://www.ic37.com/htm_tech/listpage7_6.htm"\o"控制"\t"_blank"控制HYPERLINK"http://www.ic37.com/htm_pro/prolist1714_2.htm"\o"电路"\t"_blank"电路受软件控制、切换。当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出为止。定时器/计数器是一种可编程部件,所以在定时器/计数器开始工作之前,CPU必须将一些命令(称为控制字)写入定时器/计数器。将控制字写入定时器/计数器的过程叫定对器/计数器初始化。在初始化过程中,要将工作方式控制字写入方式寄存器,工作状态字(或相关位)写入控制寄存器,赋定时/计数初值。控制寄存器定时器/计数器TO和Tl有2个控制寄存器-TMOD和TCON,它们分别用来设置各个定时器针数器的工作方式,选择定时或计数功能,控制启动运行,以及作为运行状态的标志等。其中,TCON寄存器中另有4位用于中断系统。方案比较:方案1:纯软件设计方案2:定时计数器计时技术实施:定时实施:定义时、分、秒三个变量,当秒等于60,秒清零,分加1,当分等于60,分清零,时加1,当时等于24时,时清零。关于闹铃,也要设置两个变量时、分变量来决定闹铃时间,当电子钟的时、分与闹钟的时、分相等,闹铃时间到,闹铃响,否则不响。且闹铃在没有任何按键按下时持续时间为一分钟。这里用学习板上的L1灯亮来代表闹铃响,灯灭代表闹铃不响。设置一个按键,使它在闹铃响的时候(即灯亮)按一下,则闹铃马上停止(即灯灭)且之后每隔五分钟闹铃就响一次,如果在闹铃亮的时候连续按两下所设置的那个按键,则闹铃马上停止且不管过多久都不会再响,直到第二次闹铃时间到来才会重新响。设置三种模式,定义为模式0,模式1,模式2。模式0为电子钟正常运转模式。模式1为设定和调试时间模式,在此模式下,我们可以任意设定电子钟的时、分。模式2为设定闹铃模式,在此模式下,可以设置闹铃的时间,时和分。显示方法:我所用的是四个数码管,从左往右,分别为COM4,COM3,COM2,COM1.用COM4显示小时的十位,COM3显示小时的个位,COM2显示分钟的十位和COM1显示分钟的个位。在模式0下,COM3的h所代表的那个圆点在一秒内亮灭各一次,当它连续亮了60次,分钟加1。其他数码管的h点是灭的。在模式1下,电子钟停止自动计时,我们可以手动调试时间,此时COM3的h点也停止闪动,且一直都是亮的,其他数码管的h点是灭的。在模式2下,四个数码管的h点都是一直亮着的,我们可以手动设置闹铃时间。键盘操作:用学习板上的按键K6(键值为4)来切换模式,原本显示的是模式0,按一下K6就变成模式1,按多一下就变成模式2,再按一下又变回模式0,如此循环。在模式0下,除了K6按下转换模式外,按下其他按键对数码管的显示没有任何影响。设置K4(键值为2)和K5(键值为3)在模式1和模式2下分别控制小时和分钟的增加,每按一下K4,小时加1,每按一下K5,分钟加1。设置K8(键值为6)和K9(键值为7)在模式1和模式2下小时和分钟的减小,每按一下K8或K9,小时或分钟就减少1。设置K10(键值为8)控制闹铃,当闹铃响时,按一下K10,闹铃停止,且每过五分钟闹铃都会响一次,如果在闹钟响时连续按两次K10,闹铃停止后不会再响了。