基于单片机的数字钟.doc
《基于单片机的数字钟.doc》由会员分享,可在线阅读,更多相关《基于单片机的数字钟.doc(56页珍藏版)》请在沃文网上搜索。
1、摘 要基于单片机的定时和控制装置在许多行业有着广泛的应用,而数字钟是其中最基本的,也是最具有代表性的一个例子。在基于单片机系统的数字钟电路中,除了基本的单片机系统和外围电路外,还需要外部的控制和显示装置。本电路主要以单片机AT89S52为核心而设计的,通过单片机对信息的分析与处理,控制外围设备。系统由复位模块、时钟模块、温度模块、音乐模块、光识模块及显示模块共六个模块组成,后来在时钟模块的基础上又加载了日历、星期的模块。本设计以单片机AT89S52为切入点,通过使用AT89S52的内部的可编程定时器/计数器,结合对外接晶振的调节来确定一个合适的振荡周期,从而确定出内部的机器周期。再通过对内部中
2、断程序的设置来设计出时钟程序,即设计出了电子时钟的核心。然后在核心电路的基础上设计出了相应的扩展电路,使本设计更加实用。关键词:单片机;数码显示;温度传感器目 录1. 引言12. 关于单片机22.1单片机的发展22.2 单片机的开发背景42.2 单片机的开发背景52.3 AT89S52单片机62.3.1 AT89S52单片机引脚功能72.3.2 AT89S52单片机硬件结构的特点82.3.3 AT89S52单片机的硬件原理103. 方案设计与论证124. 系统总体结构框图135. 系统的硬件设计145.1 显示部分电路的设计145.1.1 LED数码显示管的基本原理145.1.2 数码管显示模
3、块分析145.1.3 LED显示电路155.2 控制部分电路的设计155.2.1 时钟模块155.2.2 温度模块165.2.3 音乐模块165.2.4 复位模块165.2.5 光识模块176. 系统的软件设计186.1 各模块的程序设计186.1.1 计时程序186.1.2 定时闹钟程序186.1.3 温度程序186.2 系统程序设计的总体框图197. 系统电路的制作与调试207.1 电路硬件焊接制作207.2 调试的主要方法207.3 系统调试207.3.1 硬件调试207.3.2 软件调试207.3.3 联机调试217.3.4调试中遇到的问题及解决方法21结论23参考文献24附录1 数字
4、钟电路图26附录2 程序清单27附录3 英文资料59附录4 英文资料翻译69致谢77II1. 引言20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意
5、义。基于单片机的定时和控制装置在许多行业有着广泛的应用,数字钟作为其中最基本的一个应用实例,具有结构简单应用广泛的特点。数字钟中使用了单片机中最为常用的输入输出设备按键开关和数码管;数字钟程序主要应用单片机的定时器和中断实现计时和显示功能。当今数字种作为一个单元电路被广泛应用于电子表、电子万年历等产品中,带来广泛的经济效益。随着半导体工艺技术的发展及系统设计水平的提高,单片机还会不断产生新的变化和进步。在不久的将来,最终单片机与微机系统之间的距离越来越小,甚至难以辨认。2. 方案设计与论证按照系统设计功能的要求,初步确定设计系统由复位模块、时钟模块、音乐模块、光识模块及显示模块共五个模块组成,
6、后来在时钟模块的基础上又加载了日历、星期的模块,为了使本设计中的数字钟的功能更加完善和强大,最后又将温度显示加入了设计方案中。首先以单片机AT89S52为入手点,通过使用AT89S52的内部的可编程定时器/计数器,结合对外接晶振的调节来确定一个合适的振荡周期,从而确定出内部的机器周期。再通过对内部中断程序的设置来设计出时钟程序,即设计出了电子时钟的核心。根据题目的要求,我设计了以下方案:设计中加载了年、月、日的设计,刚开始时打算用18个共阳数码管,考虑到数码管太多是毕会给硬件电路带来麻烦,经过考虑后,决定把年、月、日与时间设置到一组数码管上来,即六个数码管即能显示时间又能显示年、月、日,这样一
7、来就方便了硬件电路。主控芯片使用51系列AT89S52单片机,温度模块设计中,温度元件采用AD590,利用AD590以及接口电路把温度转换成模拟电压,经由ADC0804转换成数字信号,然后经AT89S52处理显示温度。但由于AD590价钱比较贵,且只能转换成模拟电压,这样一来硬件就要增加更多的器件且又不经济,经查找发现18B20温度传感器价钱便宜且可以直接把温度转换成数字量测温范围为-55125度,最大分辨率可达0.0625度,采用3线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点,所以我选择了18B20温度传感器。在音乐模块的设计中,我决定采用音乐芯片,这样可以避免对铃声音乐
8、的编程,即节省了时间,又减少了在程序中发生错误的可能性。3. 系统总体结构框图AT89S52主控模块光识电路温度电路音乐电路显示电路 电路时钟电路复位电路图4-1在本设计中,以按键开关作为输入装置,LED七段数码显示管作为显示装置,因此,各按键开关的功能为:S1键:P1.0口 时间调整 S2键:P1.1口 日期调整 S3健; p1.2口 闹铃设置S4健: p1.3口 闹铃开关4. 系统的硬件设计电路是由控制部分和显示部分两大部分组成。利用单片机程序进行控制,并通过数码管进行显示。4.1 显示部分电路的设计4.1.1 LED数码显示管的基本原理用单片机驱动LED数码管有很多方法,按显示方式分,有
9、静态显示和动态显示,按译码方式可分为硬件译码和软件译码。静态显示是显示驱动电路具有输出锁存功能,单片机将要显示的数据送出后不再控制LED,直到下次显示时再传送一次新的显示数据。静态显示的数据稳定,占用CPU时间少。动态显示要CPU时刻对显示器件进行刷新,显示数据有闪烁感,占用CPU时间多。这两种显示方式各有利弊:静态显示虽然数据显示稳定,占用很少的CPU时间,但每个显示单元都需要单独的显示驱动电路,使用的电路硬件较多;动态显示虽然有闪烁感,占用的CPU时间多,但使用的硬件少,能节省线路板空间。动态扫描显示接口是单片机中应用最广泛的一种显示方式。其接口电路是把所有LED显示器的8个笔划段AD、D
10、P的同名端连在一起,而每一个数码管的公共端COM是各自独立地受I/O线控制。CPU向字段输出口送出字形码时,所有显示器接受到相同的字形码,但究竟是哪个显示器亮,则取决于COM端,而这一端是由I/O控制的,可以自行决定何时显示哪一位了。而所谓动态扫描就是指我们采用分时的方法,轮流控制各个显示器的COM端,是各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的,约1ms左右,但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。从上述的论述中,可以看出动态显示方案具备一定的实用性
11、,也是目前单片机数码管显示中较为常用的一种显示方法。所以,本设计也采用动态显示方案。4.1.2 数码管显示模块分析电路先通过电源电路送出+5V电压,单片机AT89S52通过74LS47和CD4515(416译码器)驱动数码管显示数值, 显示部分采用普通共阳极数码管显示,采用动态扫描,以减少硬件电路。考虑到一次扫描12位数码管显示时会出现闪烁情况,设计时分两排显示,一排显示时间和年月日,一排显示星期和温度, 共阳极数码管中8个发光二极管的阳极(二极管正端)连在一起。通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的输入端为低电平时,该端所连接的字段导通并点亮。根据
12、发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。采用动态显示方式,比较节省I/O口,硬件电路也较静态显示简单,但其亮度不如静态显示方式,而且在显示位数较多时,CPU要依次扫描,占用CPU较多时间。 为了提供共阳LED数码管的驱动电压,用三极管9012作电源驱动输出。采用12MHz晶振,有利于提高秒计时的精确性。;4.1.3 LED显示电路图4-15.2 控制部分电路的设计5.2.1 时钟模块利用芯片内部的振荡器,然后在引脚XTAL1和引脚XTAL2两端接晶体谐振器,就构成了稳定的自激振荡器,其发出的脉冲
13、直接送入内部的时钟电路,如图外接晶振时,C1和C2的值通常选择30pF; C1、C2对频率有微调作用,晶体谐振器的频率12MHz。为了减少寄生电容,更好地保证振荡器稳定、可靠地工作,振荡器和电容应尽可能安装得与单片机芯片靠近。设置了1224两种显示状态,调整计时的按键、设置定时的按键且定时设置了3次定时、还另加载了星期、年、月、日的调整及闰年的自动调整。5.2.2 温度模块主要由18B20通过单片机AT89S52中的温度程序不断的检测温度来显示温度。18B20温度传感器工作原理:DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相
14、比,它能直接读出被测温度,并可根据实际要求通过简单的编程实现912位的数字值读数方式,DS18B20的性能特点如下: 1、独特的单线接口仅需要一个引脚进行通信; 2、多个DS18B20可以并联在唯一的三线上,实现多点组网功能; 3、无须外部器件; 4、可通过数据线供电,电压范围为3.0-5.5V; 5、零待机功耗; 6、温度以9或12位数字量读出; 7、用户可定义的非易失性温度报警设置; 8、报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件; 9、负电压特性,电源极性接反是,温度计不会因发热而烧毁,但不能正常工作。5.2.3 音乐模块通过LM386N-1给扬声器信号来发出音乐,这个
15、模块主要是为时钟定时到时发出音乐闹铃,而在软件部分设置了可以一次设置3次定时,每次定时到时,音乐程序中编了6种音乐,它可以自动选择6种音乐中的任一音乐响1分钟,如果中间不想让闹铃响可以按一按键,闹铃就立刻停止。5.2.4 复位模块单片机复位电路是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从该状态开始工作,例如复位后PC=0000H,使单片机从第一个单元取指令。无论是在单片机刚接上电源时,还是断电后或者发生故障后都要复位。 电路图为:图5-25.2.5 光识模块同样也是为定时服务的,只要定时到,组成心字的18只发光二极管就会按程序全亮全灭20次,如此循环。 电路图为:AT89S5
16、2 P1图5-36. 系统的软件设计6.1 各模块的程序设计6.1.1 计时程序计时程序是实现电子时钟的核心内容,本程序用中断time0来控制,计时显示的单元从50h开始,50h=秒的个位,51h=秒的十位,52h=分的个位,53h=分的十位,54h=时的个位,55h=时的十位org 000bh 53 jmp time0mov tmod,#00010001b mov ie,#10001010b mov ip,#00000010bmov th0,#(65536-2000)/256mov tl0,#low(65536-2000)mov 4fh,#02;两个中断250次为1秒6.1.2 定时闹钟程序
17、作用是判断时间是否与设置的闹钟时间相等,如相等则开启闹钟。片机内定时振铃开关使用软件开关,即用标志寄存器,且程序设置了3次定时,可见要使电子时钟定时打铃,必须同时具备两个条件,第一:定时振铃开;第二:当前定时项数不为0项。 因为要使电子时钟定时打铃,必须同时具备上述的两个条件,所以在单片机执行查询定时各项的程序之前,主程序会首先查询这两个条件是否同时满足,如果满足的话,则进行一轮查询,所谓一轮查询定时,即将当前时间与定时各项一一比较,看是否相符,如果查到某项相符,则调用音乐程序。每查完一项,寄存器中的值会自动减1(即为定时时间的项数)。当定时时间的项数值自动减为时,则表示这一轮查询定时时间完毕
18、,只要条件允许(定时音乐开且定时项数不为),有可以进行一轮新的查询定时时间。定时1:33h=分,34h=时,定时2:35h=分,36h=时,定时3:37h=分,38h=时,定时状态=39h;定时显示的单元从60h开始,60h=定时状态,61h=此时;定时状态的音乐种类,62h=分的个位,63h=分的十位;64h=时的个位,65h=时的十位6.1.3 温度程序57h=温度的十位,58h=温度的个位,6.2 系统程序设计的总体框图开始系统初始化 显示计时、温度值判断按键是否有按下年、月、日调整计时调整定时调整星期12-24转换省电模式图6-17. 系统电路的制作与调试7.1 电路硬件焊接制作电路硬
19、件焊接是毕业设计的重要内容之一,其焊接工艺的好坏直接关系到系统的整体性能。本设计的样品制作采用手工焊接,在焊接制作中应遵守手工焊接的工艺流程和技术要求。7.2 调试的主要方法 测试单片机软件功能的完善性。这是针对整个单片机系统功能的测试,测试软件是否写的正确完整。单片机是否能正常工作。 上电、掉电测试。在使用中用户必然会遇到上电和掉电的情况,可以进行多次开关电源,测试单片机系统的可靠性。 老化测试。测试长时间工作情况下,单片机系统的可靠性。必要的话可以放置在高温,高压以及强电磁干扰的环境下测试。 D和EFT等测试。可以使用各种干扰模拟器来测试单片机系统的可靠性。例如使用静电模拟器测试单片机系统
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 数字