基于51单片机的电子闹钟设计.doc
《基于51单片机的电子闹钟设计.doc》由会员分享,可在线阅读,更多相关《基于51单片机的电子闹钟设计.doc(26页珍藏版)》请在沃文网上搜索。
1、 摘要这个设计时基于AT89C2051设计的电子时钟,通过对硬件资源和软件的编写,初步了解设计的思路以及实现过程。电子闹钟是采用电子电路实现对时、分、秒进行数字显示的装置,广泛应用于个人家庭、医院、车站、码头、办公室等公共场所,成为人们日常生活中不可缺少的必需品。本设计基于单片机技术原理,以AT89SC2051作为核心控制器,通过硬件电路的制作及软件程序的编制,设计制作了一种利用四位LED数码管动态扫描显示时间的电子闹钟系统。整个电子闹钟系统主要由时间显示模块、时间设置、闹铃模块、闹钟响应模块。可实现时间显示、时间调整、闹钟设置和整点闹铃功能,具有制作简单、调整方便、稳定性好、便于扩展等特点。
2、电子时钟还通过对比实际的数字电子时钟,来校正和调整,从而找出误差的来源,尽可能的减少误差,是系统可以达到实际数字电子时钟允许的误差范围内。关键词:单片机AT89SC2051、电子闹钟、LED动态显示I目录摘要I1.引 言12 系统设计12.1 设计要求12.2总设计方案12.2.1 系统实现13系统硬件电路设计23.1时钟电路设计33.2显示模块的设计43.3按键模块的设计53.4复位电路设计53.5闹铃的设计63.6 发光二极管闪烁电路设计64 软件设计74.1 程序流程74.1.1主程序84.1.2 时钟走时模块94.1.3时间设置模块104.1.4闹钟设置模块114.1.5 奏乐模块14
3、5 系统测试155.1硬件调试155.2 软件调试156 结论15附录16附录1 器件清单16附录2 调试仪器16附录3 原理图和PCB图17附录4 实物18附录5 程序清单18241. 引 言本文主要介绍用单片机内部的定时/计数器来实现电子闹钟的方法,本设计由单片机AT89C2051芯片和LED数码管为核心,辅以必要的电路,构成了一个单片机电子闹钟。实现以24小时制,同时可以设置多个闹钟,闹钟到的时候,会播放音乐,由于课程设计要求,这个设计的秒没有用数码管显示,用LED灯一秒闪烁一次以替代,分和时在数码管显示。单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用
4、很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面。单片机就是在半导体硅片上集成了CPU、存储器和各种接口,这样一块集成电路芯片具有一台计算机的属性,主要应用于测控领域。电子闹钟是现代电子技术在时钟领域的具体实现方式。如今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式
5、传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行校对,片灵活性好。12 系统设计2.1 设计要求 本系统设计是基于单片机的电子闹钟。1 能实现走时功能,24小时制。 2能设定闹铃时间,至少能设置两个或者以上的闹铃,即预设定时间,到该时间,电子钟能闹铃唱出歌曲。3用四位共阳极LED数码管来显示时间。4二个发光二极管作为秒表,1S闪烁一次。5. 多段时钟提醒闹铃。2.2总设计方案本系统的功能设计目标应该包括以下几个方面:时间走时模块、时间设置模块、闹钟设置模块、闹钟响应(奏乐)模块和按键功能模块及数码管动态显示模块。电子时钟主要有单片机最
6、小系统,按键,显示电路等。2.2.1 系统实现 本设计使用单片机AT89C2051作为核心控制器,LED数码管显示时间,按键输入修改值再加上相应的软件设计可实现上电复位、切换模块、调整时间和调整状态等要求及调整相应闹钟。3系统硬件电路设计AT89C2051简介 AT89C2051是一个低电压,高性能CMOS 8位单片机,片内含2k bytes的可反复擦写的只读Flash程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大AT89C2051单片机可为
7、您提供许多高性价比的应用场合。AT89C2051是一个功能强大的单片机,但它只有20个引脚,15个双向输入/输出(I/O)端口,其中P1是一个完整的8位双向I/O口,两个外中断口,两个16位可编程定时计数器,两个全双向串行通信口,一个模拟比较放大器。 同时AT89C2051的时钟频率可以为零,即具备可用软件设置的睡眠省电功能,系统的唤醒方式有RAM、定时/计数器、串行口和外中断口,系统唤醒后即进入继续工作状态。省电模式中,片内RAM将被冻结,时钟停止振荡,所有功能停止工作,直至系统被硬件复位方可继续运行。 主要功能特性: 兼容MCS51指令系统 2k可反复擦写(1000次)Flash ROM
8、15个双向I/O口 6个中断源 两个16位可编程定时/计数器 2.7-6.V的宽工作电压范围 时钟频率0-24MHz 128x8bit内部RAM 两个外部中断源 两个串行中断 可直接驱动LED 两级加密位 低功耗睡眠功能 内置一个模拟比较放大器 可编程UARL通道 软件设置睡眠和唤醒功能 AT89C2051引脚图如下:图3-0 AT89SC2051引脚图3.1时钟电路设计 振荡器和时钟电路用于产生单片机正常工作时所需要的时钟信号。AT89C2051单片机采用CMOS工艺,内部包含一个振荡器,可以用于CPU 的时钟源;也允许采用外部振荡器,由外部振荡器产生的时钟信号来供内部CPU运行使用。3本设
9、计采用内部时钟模式,需在XTAL1和XTAL2端口加晶振电路,单片机工作速度也是由晶振电路决定的。在晶振电路中,电路中电容C1和C2对振荡频率有微调作用,通常的取值范围3010pF;石英晶体选择12MHz。电路如下图:图3-2 晶振电路设计3.2显示模块的设计LED显示有静态扫描和动态扫描两种,由于本系统要显示四位LED,所以选择的动态扫描方式。所谓动态显示就是一位一位的轮流点亮各个位,对于显示器的每一位来说,每隔一段时间点亮一次。利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。调整参数可以实现较高稳
10、定度的显示。动态显示节省了I/O口,降低了能耗。由于AT89C2051单片机的I/O口的带载能力不强,故本系统选用共阳型的八段LED数码管。P1口传送的是显示段码,P3.2P3.5口传送的是显示位码。P3.0用于控制两个LED灯的选亮。动态扫描周期的确定,所谓动态驱动实际就是分时点亮不同位置的数码管,由于人眼的惰性,当亮度熄灭的时间小于1/25秒时,给人们感觉是亮度没变。每段LED正常显示是的电流为2mA20mA,此处每段LED接330的电阻,则每段LED的电流为数码管的电流为(5-1.8)/470=6.8mA,满足要求。5 电路如图3-5所示:图3-4 数码管显示电路3.3按键模块的设计 独
11、立式按键是最简单的键盘输入设计,每个键盘单独占用一个I/O口,当按下和释放按键时,输入到I/O口的电平是不一样的。按照端口电平的不同判断是否有按键按下,并执行相应的程序段。6本设计中将4个按键分别接P3.1和P3.2P3.5口。设计中按键解释:SW1:功能按键,在设置闹钟时是确定键,按下即返回时钟走时模块;SW2:数码管闪烁按键,在设置时间时配合SW1返回时钟走时模块;SW3:赋值键,按下一次加一;Sw4:闹钟设置按键,依次按下则显示不同的闹钟时间;电路如下图: 图3-5 按键部分原理图3.4复位电路设计在理论上复位电路的实质是一阶充放电电路,系统上电时该电路提供有效的复位信号RST(高电平)
12、直至系统电源稳定后撤销复位信号(低电平)。7理论上说,AT89C2051单片机复位引脚只要外加2个机器周期的有效信号即可复位,即只要保证tRC2M(机器周期)。由于本系统所用的晶振为12M,则单片机的一个机器周期为1uS,所以可选电解电容为104,点电阻为10K。则高电平时间为左右,满足要求。单片机运行期间,还可以利用按键完成复位。由于设计的是时钟,故没有设置按键复位,即上电时,时钟就会自动上电复位,其复位电路如下图所示:图3-6 按键上电复位电路 3.5闹铃的设计本块实验板,是通过无源蜂鸣器其基本工资原理: 无源蜂鸣器是靠压电效应的原理来发声的,压电材料,一般常见的是各种压电陶瓷. 这种材料
13、的特别之处在于,当电压作用于压电材料时,就会随电压和频率的变化产生机械变形.另一方面,当振动压电陶瓷时,则会产生电荷.就是说这种材料能把机械变形和电荷相互转化,压电式蜂鸣器里面的起振片,就是一种压电陶瓷.如上所述,要让它振动,除了压电陶瓷本身,还需要适当大小和频率变化的电压作用于压电陶瓷.压电式(有源)蜂鸣器内部带有多谐振荡器,可以产生 1.52.5kHZ 的电压信号. 由此压电式蜂鸣器才能发声。电路原理图如下: 图3-7 闹铃电路3.6 发光二极管闪烁电路设计 本系统当时间为走时时间时,两个发光二极管闪烁。在一秒钟闪烁一次,(亮暗一次)代表时钟的秒表;电路如下:图3-8 发光二极管闪烁电路4
14、 软件设计设计并实现基于AT89C2051单片机的电子闹钟,软件实现的功能有: 上电时,LED数码管显示7120一秒尔后所有数码管显示00:00,发光二极管LED开始1S闪烁1次,并且开始走时。 根据需要设置现在的时间:k0为功能键和确认键,按下k0键,发光二极管LED停止闪烁,表明进入时间设置的状态或者确认设置的时间。k2键分别为增加键即是赋值键,按下键可以相应时间的加1。k3为调整键和关闭闹钟键,当按下k3时可以跳到相应的小时、分钟之间的相互转换或者是关闭闹钟。K1是数码管闪烁标志位(flh)的设置位,当要对数码管赋值送显时,要根据(flh)的闪烁位,对应对该位赋值,当闹钟时间和走时时间相
15、同时,蜂鸣器奏乐40秒。 当走时时间正常走时时,蜂鸣器没有奏乐,相应的LED灯一秒闪烁一次。 当有设置闹钟,并将闹钟设置完后,按下确定键(flh=5且k2按下),则开启闹钟,当走时时间等于闹钟时间时,则蜂鸣器播放音乐。 设置闹钟时,时钟继续走时,按下k0键则返回时钟走时模块,设置当前时间时,LED不闪烁,当设置完成时,同时按下k0和k1则从设置的时间开始走时。 定时器t0来实现关闭闹钟和读取节拍、音频的功能。4.1 程序流程4.1.1主程序 主程序主要完成系统的初始化和按键的捕获,在键没有按下时调用显示子程序。程序流程图如图4-1所示。图4-1 系统主流程图4.1.2 时钟走时模块 本设计在空
16、闲模块时电子闹钟的数码管显示走时间,LED发光二极管以每0.5s闪烁。当走时时间与设置的闹钟时间相同、走时时间为整点、走时时间为设置的提醒时间时,扬声器奏乐。 空闲模块的程序流程图如下:4.1.3时间设置模块 每次上电时,数码管显示00:00:00,然后开始走时。若要设置为当前时间,需经过一系列的按键调整设置。在时间设置状态下,LED发光二极管不闪烁。时间设置模块的程序流程图如下:图4-3时间设置模块流程图4.1.4闹钟设置模块 在时钟正常走时状态下,按下K3,LED发光二极管不闪烁。则跳转到闹钟设置模块,第一次按下K3,对第一个闹钟进行设置,再次按下,对第二个闹钟进行设置,设置好闹钟响应的时
17、间时,按下K1,另数码管的闪烁值等于5即,数码管不闪烁后,按下K2,开启闹钟。尔后,按下K0,返回时钟走时模块,等到现在时间和闹钟设置时间一样时,蜂鸣器奏乐。闹钟设置模块的程序流程图如下所示:图4-4 闹铃时间设置流程图4.1.5 奏乐模块单片机奏乐原理单片机演奏一个音符,是通过引脚,周期性的输出一个特定频率的方波。 这就需要单片机,在半个周期内输出低电平、另外半个周期输出高电平,周而复始。 周期为频率的倒数,可以通过音符的频率 计算出半周期。 演奏时,要根据音符频率的不同,把对应的、半个周期的定时时间初始值,送入 定时器,再由定时器按时输出高低电平。 有两个数据表, 其中存放了事先算好的、
18、各种音符频率所对应的、 半周期的定时时间初始值。 有了这些数据,单片机就可以演奏从低音、中音、高音和超高音,四个八度共 28 个音符。 演奏乐曲时,就根据音符的不同数值,从半周期数据表中找到定时时间初始值, 送入定时器即可控制发音的音调。 比如把表中的 0xF2 和 0x42 送到定时器,定时器按照这个初始值来产生中断,输 出的方波,人们听起来,这就是低音 1。 乐曲的数据,也要写个数据表,程序中以 code unsigned char sszymmh 命名。 这个表中每三个数字,说明了一个音符,它们分别代表: 第一个数字是音符的数值 1234567 之一,代表多来咪发.; 第二个数字是 01
19、23 之一,代表低音、中音、高音、超高音; 第三个数字是时间长度,以半拍为单位。 乐曲数据表的结尾是三个 0。 程序如下: #include sbit speaker = P37; unsigned char timer0h, timer0l, time; 单片机晶振采用 12MHz / 频率-半周期数据表 高八位 本软件共保存了四个八度的 28 个频率数据。如下,对世上只有妈妈好的数据表加以解释。单片机晶振采用12MHz频率-半周期数据表高八位,本软件共保存了四个八度的28个频率数据code uchar FREQH = 0xF2, 0xF3, 0xF5, 0xF5, 0xF6, 0xF7,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 电子 闹钟 设计
