单片机定时闹钟一、[电路概述]该时钟电路主要以单片机AT89S52为核心而设计的,通过单片机对信息的分析与处理控制外围设备。
电路整体设计思想是想把它做成一个实用的器件,所以在题目要求的前提下,我们又加入了星期程序,温度程序,年、月、日程序以及时间的12—24转换程序。
[关键字]:单片机数码显示温度传感器光识电路二、[题目分析与方案论证]按照系统设计功能的要求,初步确定设计系统由复位模块、时钟模块、温度模块、音乐模块、光识模块及显示模块共五个模块组成,后来在时钟模块的基础上又加载了日历、星期的模块从单片机AT89S52入手,通过使用AT89S52的内部的可编程定时器/计数器,结合对外接晶振的调节来确定一个合适的振荡周期,从而确定出内部的机器周期。
再通过对内部中断程序的设置来设计出时钟程序,即设计出了电子时钟的核心。
根据题目的要求,我们设计了以下方案:[方案一]设计中加载了年、月、日的设计,刚开始时打算用18个共阳数码管,考虑到数码管太多是毕会给硬件电路带来麻烦,经过考虑后,决定把年、月、日与时间设置到一组数码管上来,即六个数码管即能显示时间又能显示年、月、日,这样一来就方便了硬件电路;[方案二]主控芯片使用51系列AT89S52单片机设计时温度模块设计温度元件用AD590,利用AD590以及接口电路把温度转换成模拟电压,经由ADC0804转换成数字信号,然后经AT89S52处理显示温度。
但由于AD590价钱比较贵,且只能转换成模拟电压,这样一来硬件就要增加更多的器件且又不经济,经查找发现18B20温度传感器价钱便宜且可以直接把温度转换成数字量测温范围为-55—125度,最大分辨率可达0.0625度,采用3线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点,所以我们选择了18B20温度传感器。
附18B20温度传感器工作原理:DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并可根据实际要求通过简单的编程实现9—12位的数字值读数方式。
温度传感器DS18B20采集温度信号送该给单片机处理,存储器通过单片机对某些时间点的数据进行存储;,DS18B20的性能特点如下:1、独特的单线接口仅需要一个引脚进行通信;2、多个DS18B20可以并联在唯一的三线上,实现多点组网功能;3、无须外部器件;4、可通过数据线供电,电压范围为3.0---5.5V;5、零待机功耗;6、温度以9或12位数字量读出;7、用户可定义的非易失性温度报警设置;8、报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;9、负电压特性,电源极性接反是,温度计不会因发热而烧毁,但不能正常工作。
三、[系统总体结构框图][按键功能]a 键:P2.1口12---24转换b 键:P2.3口调整定时、计时的时、调整年c 键:P2.5口调整计时的秒和定时状态及日d 键:P2.7口判断定时到否e 键:P2.0口调整星期f 键:P2.2口定时、计时转换g 键:P2.4口调整定时、计时的秒和判断定时状态、调整日 h 键:P2.6口调整定时的报警音乐、省电模式 i 键:复位键j 键:P3.6口年、月、日的显示四、[主要电路原理与设计](1)系统硬件电路的设计:电路是由控制部分和显示部分两大部分组成。
利用单片机程序进行控制,单片机以晶体振荡器的振荡周期(或外部引入的时钟周期)为最小的时序单位,片内的各种微操作都以此周期为时序基准。
振荡频率二分频后形成状态周期或称s 周期,所以,1个状态周期包含有2个振荡周期。
振荡频率foscl2分频后形成机器周期MC 。
所以,1个机器周期包含有6个状态周期或12个振荡周期。
1个到4个机器周期确定一条指令的执行时间,这个时间就是指令周期。
AT89S52单片AT89S52 主控模块光识电路 温度电路音乐电路显示电路时钟电路 复位电路机指令系统中,各条指令的执行时间都在1个到4个机器周期之间。
,并通过数码管进行显示单片机普遍采用锁相环技术,使单片机的时钟频率可由程序控制。
锁相环允许用户在片外使用频率较低的晶振,可以很大地减小板级噪声;而且,由于时钟频率可由程序控制,系统时钟可以在一个很宽的范围内调整,总线频率往往能升得很高。
但是,使用锁相环也会带来额外的功率消耗。
单就时钟方案来讲,使用外部晶振且不使用锁相环是功率消耗最小的一种。
AT89S52单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。
在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。
由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。
内部振荡方式的外部电路如下图所示。
图中,电容器C01,C02起稳定振荡频率、快速起振的作用,其电容值一般在5-30pF。
晶振频率的典型值为12MH2,采用6MHz的情况也比较多。
内部振荡方式所得的时钟情号比较稳定,实用电路中使用较多。
外部振荡方式是把外部已有的时钟信号引入单片机内。
这种方式适宜用来使单片机的时钟与外部信号保持同步。
外部振荡方式的外部电路如下图所示。
如图所示:9V/5W50HZ 220V Speak erS T B1A 2B 3C 21D22I N H23Y 011Y 19Y 210Y 38Y 47Y 56Y 65Y 74Y 818Y 917Y 1020Y 1119Y 1214Y 1313Y 1416Y 1515V D D24G N D12CD4515BCNB I /R B O 4R B I 5L T3A 07A 11A 22A 36a 13b 12c 11d 10e 9f 15g14V C C16G N D8DM74LS47NV S6G N D4G A I N8325B Y P 7G A I N 1LM386N-112LED90129012901290129012Bridge30pF30pF 104J3300UFI N13O U T 2G N DL78051000UF104Je ic b a fd jg h 12CY12.000GNDP 1.01P 1.1/T 2E X 2P 1.23P 1.34P 1.45P 1.56P 1.67P 1.78R E S E T 9P 3.0(R X D )10P 3.1(T X D )11P 3.2(/I N T 0)12P 3.3(/I N T 1)13P 3.4(T 0)14P 3.5(T 1)15P 3.6(/W R )16P 3.7(/W D )17X T A L 218X T A L 119V S S20P 2.021P 2.122P 2.223P 2.324P 2.425P 2.526P 2.627P 2.728/P S E N 29A L E 30/E A ,V P P 31P 0.732P 0.633P 0.534P 0.435P 0.336P 0.237P 0.138P 0.039V D D 40AT89S524.7k100g f e d c b a *gf e d c b a *+5V10k470GND GND 0.0047U0.1U10U 47U GNDGNDGND+5V+5V12LED12LED12LED12LED12LED12LED12LED12LED12LED12LED12LED12LED12LED12LED12LEDGND1K12318b20 4.7k GND12LED2470+5v+5vGND1K8.2K106GNDGNDGND g f e d c b a *9012901290129012901290129012各模块分析:显示模块——电路先通过电源电路送出+5V电压,单片机AT89S52通过74LS47和CD4515(4—16译码器)驱动数码管显示数值, 显示部分采用普通共阳极数码管显示,采用动态扫描,以减少硬件电路。
考虑到一次扫描12位数码管显示时会出现闪烁情况,设计时分两排显示,一排显示时间和年月日,一排显示星期和温度,共阳极数码管中8个发光二极管的阳极(二极管正端)连在一起。
通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。
当某段驱动电路的输入端为低电平时,该端所连接的字段导通并点亮。
根据发光字段的不同组合可显示出各种数字或字符。
此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。
采用动态显示方式,比较节省I/O口,硬件电路也较静态显示简单,但其亮度不如静态显示方式,而且在显示位数较多时,CPU要依次扫描,占用CPU较多时间。
为了提供共阳LED数码管的驱动电压,用三极管9012作电源驱动输出。
采用12MHz晶振,有利于提高秒计时的精确性。
三极管采用9012。
数码管采用红色的共阳型LED数码管,亮度高些,因为是扫描的显示方式,所以各个数码管的abcdefg各脚采用了总线并联,改动510欧姆的电阻可以改变显示亮度;时钟模块——利用芯片内部的振荡器,然后在引脚XTAL1和引脚 XTAL2两端接晶体谐振器,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部的时钟电路,如图外接晶振时,C1和C2的值通常选择30pF;C1、C2对频率有微调作用,晶体谐振器的频率12MHz。
为了减少寄生电容,更好地保证振荡器稳定、可靠地工作,振荡器和电容应尽可能安装得与单片机芯片靠近。
设置了12—24两种显示状态,调整计时的按键、设置定时的按键且定时设置了3次定时、还另加载了星期、年、月、日的调整及闰年的自动调整;温度模块——主要由18B20通过单片机AT89S52中的温度程序不断的检测温度来显示温度温度传感器DS18B20采集温度信号送该给单片机处理,存储器通过单片机对某些时间点的数据进行存储;音乐模块——通过LM386N-1给扬声器信号来发出音乐,这个模块主要是为时钟定时到时发出音乐闹铃,而在软件部分设置了可以一次设置3次定时,每次定时到时,音乐程序中编了6种音乐,它可以自动选择6种音乐中的任一音乐响1分钟,如果中间不想让闹铃响可以按一按键,闹铃就立刻停止;复位模块——单片机复位电路是使CPU 和系统中的其他功能部件都处在一个确定的初始状态,并从该状态开始工作,例如复位后PC=0000H ,使单片机从第一个单元取指令。
无论是在单片机刚接上电源时,还是断电后或者发生故障后都要复位;单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC =0000H ,这表明程序从0000H 地址单元开始执行。
单片机冷启动后,片内R AM 为随机值,运行中的复位操作不改变片内RAM 区中的内容,21个特殊功能寄存器复位后的状态为确定值,见下表。