基于单片机的智能数字闹钟设计与实现.docx
《基于单片机的智能数字闹钟设计与实现.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能数字闹钟设计与实现.docx(22页珍藏版)》请在冰豆网上搜索。
![基于单片机的智能数字闹钟设计与实现.docx](https://file1.bdocx.com/fileroot1/2023-2/6/19604c6d-9765-4ed2-9bab-4dce28244dfe/19604c6d-9765-4ed2-9bab-4dce28244dfe1.gif)
基于单片机的智能数字闹钟设计与实现
Lastupdatedat10:
00amon25thDecember2020
基于单片机的智能数字闹钟设计与实现
基于51单片机的智能数字闹钟设计与实现
摘要
单片机自20世纪70年代问世以来,因为单片机极高的性能价格比,越发受到了人们的重视和关注,应用领域广泛、发展很快。
而51单片机是各单片机中最为典型的,也是最具有代表性的一种。
本设计是一款基于AT89C51的智能数字钟,该数字钟表由主控模块、按键模块、定时模块、温度检测模块和显示模块构成。
主控模块由主控芯片AT89C51、晶振电路和复位电路构成;定时模块采用时钟芯片DS1302实现精确定时;用温度传感器DS18B20作为温度采集源,检测当前温度;用液晶显示器1602显示年、月、日、时间及温度。
通过这种方法的实现,使智能数字闹钟的电路简单,性能可靠,实时性好,时间和温度精度高,操作简单。
在Proteus和Keilμvision4的环境下,完成了电路原理图的绘制以及程序的编译后,用焊接的方法在电路板上焊接实物,将Keilμvision4中生成的.hex文件的程序烧到电路中,检测并调试电路,实现智能数字闹钟的功能。
该智能数字闹钟可以应用于人们的生活和工作中,也可通过改装,将智能数字闹钟的性能提高,还可以增加新的功能,让智能数字闹钟显示更多方面的内容与功能,给人们的生活和工作带来更多的方便。
关键词:
单片机,时钟芯片,温度传感器,液晶显示器,智能数字钟
AT89S52basedDigitalClockDesignofIntelligentAbstract
Abstract
SCMsincetheadventofthe1970s,becauseofhighperformanceandlowcostsinglechip,hasbeenmoreandmorepeople'sattentionandconcern,widelyusedinthefield,hasdevelopedrapidly.Themicrocontroller51isthemosttypicaleachMCUisthemostrepresentativeone.
ThedesignerisonesectionbasedonAT89C51intelligentdigitclock,thisclockandwatchbythemastercontrolmodule,fixedtimethemodule,thetemperatureexaminesthemoduleandthedisplaymoduleconstitution.MastercontrolmodulebymastercontrolchipAT89C51,crystaloscillatorelectriccircuitandresetcircuitconstitution;FixedtimethemoduleusesclockchipDS1302torealizepreciselyfixedtime;GathersthesourcewithtemperaturesensorDS18B20asthetemperature,theexaminationcurrenttemperature;1602demonstratetheyear,themonth,Japan,thetimeandthetemperaturewiththeliquid-crystaldisplay.Themethodhastheadvantageofbeingsimplecircuit,reliableperformance,goodreal-time,highprecisionofthetimeandtemperature,simplyoperation【19】.
UndertheenvironmentofProteusandKeilμvision4,afterfinishingdrawingcircuitschematicandcompilingprogram,Weldingmaterialonthecircuitboardbyweldingmethod.Then,.Hexfiles,thegenerationofKeilμvision4,ismadeintothecircuit.Finally,testinganddebuggingthecircuit,andtorealizethefunctionofIntelligentdigitalalarmclock.
Theelectronicclockcanbeappliedtothegenerallivingandworking,canalsobemodifiedtoimproveperformanceaddnewfunctionsandbringsmoreconvenienttopeople’slifeandwork.
KeyWords:
NCmachining;NCverification;Machiningenvironment;Helpfiles
第一章引言
智能数字闹钟的研究背景和意义
随着当今社会的快速发展,人类面临着很多问题,时间和空间的不足就是其问题之一。
作为新一代技术型人才,日益发展的社会势必会面临这一严峻的问题。
围绕这个即将到来的问题,本课题定为智能数字闹钟设计。
钟表只是一种简单的显示时间的工具,本身不能给人们带来想要抓住时间的紧迫感,但如能把时钟时间的显示精确到分、秒,那么面对这种时间飞逝的重压感,人们就会重视它并有效地利用它,更懂得把握分寸,不白白浪费时间。
当然若在钟表的显示中融入了其他人们日常工作出行必须的功能,智能并简单利用,可以大大为我们节省出空间来。
人们生活水平逐渐提高,并且越来越重视人性化事物,传统的指针式时钟也只能简单的满足人们的针对时间的需求,但是人们更着重追求高科技新事物,在现在日益充满物质的社会里,人们也追求在小的范围内显示更多的信息。
而普通的时钟是模电技术、数电技术和单片机技术的结合,才使得现在的时钟实现更多功能。
早期运用的时间控制器都是用模拟电路设计制作的,准确性及各方面的性能都不是很理想。
随着单片机性价比的不断提高,新的产品应用越来越广泛,逐渐取代了昔日的模拟化产品,变得高端上档次。
单片机系列产品已经遍布到工业控制,以及各个重要的公共场所,单片机的快速发展与应用更加大范围的扩展,在人们的日常生活中日需常见化,更加依赖单片机,给人类生活带来了极大的便利,单片机将与人们的生活、娱乐等不同方面都存在密不可分的关系。
单片机在智能数字闹钟的应用中具有相当普遍的意义,是一件必不可少的元器件,在生活中起着关键性作用。
由于时代的大变化发展,加快了数字集成电路技术的发展步伐,石英技术更加精进,使得数字钟能够走时准确,能够实现更多的功能,携带在身上很便捷,性能高。
单片机内部结构有定时器/计数器,能够实现自动计时功能,单片机的使用大范围地出现在人们的周围,无处不在【16】。
这种具有人们所需要的智能化特性产品为人们节省了大量时间和空间,扩大了数字化的范围,为家庭数字化奠定了基础。
智能数字闹钟的功能
电路采用了单片机AT89C51、温度传感器DS18B20、时钟芯片DS1302、1602LCD显示器,通过独立式按键可以切换模式,修改显示时间的数据。
电路设计合理,具备了三大特点:
简单,操作方便,美观大方。
本设计智能数字闹钟的主要功能为:
(1)连接电源,1602LCD显示器上可显示正常的时间、日期及温度的显示;
(2)可实现12小时/24小时时间显示的切换;
(3)通过独立式按键手动修改时间日期;
(4)可以设置三个闹钟时间,当到闹钟响铃时间,可手动关闭;
智能数字闹钟的发展趋势
基于51单片机的智能数字闹钟体现了现代化电子产品的高性价比,成本低,电路简单,功能齐全。
对于家庭生活中,具有了相当普遍性和实用性,使得人们在生活中对智能数字闹钟产生了依赖性,在各个方面不可缺少的,用一句夸张的话说:
离开了它就不能活了,感觉身边总是少了些什么。
时钟的发展已经从老式钟表发展到如今电子时钟以及智能化数字时钟的时代,通过时代的发展,高科技研制和广泛应用,智能数字闹钟的发展前景将不可估量,智能数字闹钟所实现的功能不仅仅只有报时功能,在不久的未来,智能数字闹钟可以设置闹钟,可以实现通话功能,可以是一本记事本,随时记录发生的事情,或许可以实现导航功能等,以上功能只要一个小小的智能数字闹钟就可实现,人们的生活更加方便。
同时,智能数字闹钟的电路只需使用简单芯片,加以合理设计,使得电路简单、操作非常方便、美观实用,但是其精确度不是很高。
首先,伴随着更多性能更好新材料、更完善的设计方法、更先进的大规模集成电路的发展以及驱动技术的进步,时钟系统将会更加高精度,也将会更加完善。
其次,随着显示器件,如液晶显示器件性能的拓展,传统的机械时钟显示形式也将演变成高清晰度的显示方式。
最后,时钟系统在未来的应用将更加广泛,以其高精度的显示以及其多内容的显示界面将更受到人们的青睐。
第二章方案的论证与选择
方案的论证
方案一:
基于低成本数字集成电路及七段译码器组成的数字闹钟设计【10】
系统由数字逻辑集成芯片构成纯硬件电路,其电路由秒信号发生器、走时电路、校时电路、闹钟电路等部分组成。
秒信号发生器使用LM555构成多谐振荡器,调整电阻可改变频率,使之产生秒信号。
走时电路包括秒计时器、分计时器、时计时器,每个部分都由两片计数器级联构成。
其中秒计数器和分计数器都是用十进制与六进制计数器级联构成,时计数器由三进制计数器与十进制计数器级联构成。
时计数器需要个位为十进制、十位只要计到2即可,不过需要清零电路。
当个位计数到“4”,同时十位计数到“2”时立即清零,时钟就会从零开始重新计数。
当时间与标准时间不吻合的时候,需要校准时间,对照标准时间将此时的时间的秒信号加速运行,加快时钟的计时速度,当到达标准时间后再切换回正确的输入信号,达到校准目的。
闹钟是在在预定的时间到达时能输出闹铃声。
这种方案的电路搭建起来非常的庞大,大小不同芯片,总共需要用到18个,工程非常的繁琐,需要花费很长的时间在电路的排版和连线上。
方案二:
基于VHDL的数字时钟设计【5】
基于VHDL的数字时钟设计主要由晶体振荡器、分频器、计数器、译码器显示器组成。
基于VHDL的数字时钟设计中需要有一个时钟脉冲信号,因此用一个石英晶体振荡器产生一个高频脉冲信号,然后要用分频器将这个时钟脉冲信号分频,得到1Hz的时钟信号,将这个时钟信号分别接入计数器中,然后再为其他模块提供时钟。
计数器用一个100进制的计数器和两个60进制的计数器进行级联。
最后在三个计数器的输出接到七段译码管,总共要用到8个这样的数码管。
方案三:
基于单片机智能数字闹钟设计【13】
基于单片机的数字时钟设计是要分好几个模块,单独对各类模块设计,以单片机AT89C51作为主控芯片,控制其他模块的运作,将数据控制输出到显示模块。
对各个模块进行程序的编写,最后将编译链接生成一个.hex文件,将这个文件烧到AT89C51单片机芯片中,从而实现时钟的功能。
当时钟电路上电后,电路初始化,系统保持原有的显示,通过按下不同的按键,切换到不同的模式中,实现12/24小时的切换,以及修改年、月、日、时、秒的时间设置;当进入闹钟设置模式下,可设置三个闹钟时间,到设定时间蜂鸣器鸣响,无人操作时鸣响30s自动关闭闹钟;当需要设置更多功能时,只需多设置相应的功能按键就可实现。
对上述方案进行比较,方案一由硬件构成,比较容易实现,但由硬件搭建的电路不够稳定,译码管显示效果差,功能单一不能扩展,且电路功耗大,在将这种方案做成实物的过程中很漫长,更需要投入很多的精力,因出现故障而检查电路时很复杂,难找。
方案二利用FPGA精度高、处理速度快的特点,利用外部50M石英晶振提供高精度系统频率,能够满足更高精度的要求,并且设计比较人性化。
方案三显示准确、直观、易于调整。
方案的选择
本次设计采用方案三,即以AT89C51作为主控芯片,采用1602液晶作为显示器件,独立轻触式按键作按键模块,DS1302为定时来源,能准确定时,DS18B20作温度采集源。
确定系统组成框图如图所示,各功能模块如下:
图系统框架
主控模块:
由主控芯片AT89C51,外接时钟电路、复位电路和P0口的上拉电阻构成,能够驱动程序的运行,在显示屏上实现智能数字闹钟的各个功能。
温度模块:
由芯片DS18B20和上拉电阻构成,实现温度采集,当周围有高温物体时,温度的示数会逐渐的增加,离开时温度会慢慢下降。
定时模块:
由DS1302、晶振,的纽扣电池构成,能够提供年、月、日、时、分和日期,纽扣电池可以支持时钟的走时,即使显示屏没电不显示时,时间也在计时。
显示模块:
由1602LCD液晶显示屏构成,把单片机传来的数据进行显示,显示的位数多,。
按键模块:
由五个独立轻触式按键构成,可切换各种模式状态,能对数据进行修改。
第三章硬件电路的设计
本设计采用AT89C51单片机作为本次设计的主要控制模块。
单片机可把由DS18B20、DS1302中的数据利用软件来进行处理,从而把数据传输到显示模块,此模块实现温度、时间的显示。
以1602LCD液晶显示器为显示模块,把单片机传来的数据显示出来,在显示电路中,主要靠按键来实现各种显示要求的选择与切换。
主控电路模块
主控电路模块采用AT89C51作为核心元件来控制各部分,其电路原理图如图。
单片机引脚功能的说明,见下表
表单片机的引脚功能
引脚号
符号
引脚功能
1~8
P1口
8位,准双向I/O口,具有内部上拉电阻
9
RST
复位,高电平有效
10~17
P3口
8位,准双向I/O口,具有内部上拉电阻
18、19
XTAL
时钟引脚
20
VSS
接数字地
21~28
P2口
8位,准双向I/O口,具有内部上拉电阻
29
片外程序存储器的读选通信号,低电平有效
30
ALE
为CPU访问外部程序存储器或外部数据存储器提供一个地址锁存信号
31
外部存储器允许访问控制端
32~39
P0口
8位,漏极开路的双向I/O口,作为通用I/O口使用时,需加上上拉电阻
40
Vcc
接+5V电源
下面给出了单片机的内部结构图,如图
图单片机的内部结构图
由图单片机的内部结构图中看出,单片机是在半导体硅片上集成了中央处理器、存储器、并行I/O口、串行I/O口、定时器/计数器、中断系统、系统时钟电路及系统总线的微型计算机。
通常把单片机称为嵌入式控制器或微控制器。
单片机的最小系统只需要最小的配置能够让单片机里的程序运行,如果要用IO口去驱动LCD显示,写好程序就能运行。
单片机的P0口接上上拉电阻,排除外界对其有效电平的干扰,电路的抗干扰能力大大增强。
单片机最小系统构成主要是由时序电路以及复位电路两个部分构成。
1、时序电路的介绍,下面给出了时序电路图:
时序电路由晶振与电容构成,其主要目的是滤波,这样可以使晶振输出的波形更加平滑,方便给予单片机适用的信号,至于大小应该是一个经验值,这样的滤波效果最好。
电路中的电容C1和C2的典型值通常选择为30pF,该电容的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。
晶体的频率越高,系统的时钟频率越高,单片机的运行速度也就越快【7】。
但反过来。
运行速度快对存储器的速度要求就高,对印制电路板的工艺要求也高,即要求线间的寄生电容要小。
2、复位电路的介绍,下面给出了复位电路图:
复位电路主要由电阻、电容、独立轻触式开关构成,利用复位电路把电路恢复到起始状态,就像计算器的清零按钮的作用一样,或者你输入错误,计算失误时都要进行清零操作。
以便回到原始状态,重新进行计算。
复位电路启动可以有三种方式,一是在给电路通电时马上进行复位操作;二是在必要时可以由手动操作;三是根据程序或者电路运行的需要自动地进行。
主控模块运用了单片机的最小系统,需要外接时钟电路和复位电路。
但是,在智能数字闹钟的设计中,由于一定的原因,省略了接复位电路的连接,然而这种接法对电路不会造成很大的影响,仍然能够实现智能数字闹钟的功能。
按键电路模块
按键模块电路主要是由5个独立式按键组成,其电路图如图。
图按键模块电路
图按键模块电路中,S1、S2、S3、S4、S5分别接单片机AT89C51的P3口的、、、、,经单片机的控制,可通过不同按键的接通实现相应的功能(参数设置、闹钟设置等)。
独立式按键的结构很简单,使用时只需要接其中两个引脚即可。
开机后,电路进入初始化状体,初始化完成过后,按下开关S1进入调节模式,依次按下S1设置年、月、日、星期、时、分、秒和三个闹钟时间,S2递增调节,S3递减调节,按下S4关闭闹钟/退出调节模式,显示屏上正常显示。
S5按键12小时、24小时的切换。
定时电路模块
定时电路模块主要由芯片DS1302控制,电路图如图。
图定时模块电路
DS1302芯片各管脚描述如下,见表
表DS1302功能引脚说明
引脚号
符号
引脚功能
1、8
Vcc2、Vcc1
为电源供电管脚
2、3
X2、X3
接的晶振
4
GND
接地
5
RST
复位端
6
I/O
为数据输入/输出引脚
7
SCLK
接串行时钟
DS1302有12个寄存器,其中7个寄存器与日历、时钟相关,存放的数据形式是BCD码,其寄存器及控制字见表
表DS1302的日历、时钟寄存器及其控制字
寄存器名
命令字
取值范围
各位内容
写操作
读操作
7
6
5
4
3
2
1
0
秒寄存器
80H
81H
00-59
CH
10SEC
SEC
分钟寄存器
82H
83H
00-59
0
10MIN
MIN
小时寄存器
84H
85H
01-12或00-23
12/24
0
HR
HR
日期寄存器
86H
87H
01-28,29,30,31
0
0
10DATE
DATE
月份寄存器
88H
89H
01-12
0
0
0
10M
MONTH
周日寄存器
8AH
8BH
01-07
0
0
0
0
0
DAY
年份寄存器
8CH
8DH
00-99
10YEAR
YEAR
单片机容易受外界环境的影响,时钟时常会出现混乱现象,导致时钟的精度不高。
DS1302的作用主要用来记录数据,特别是对某些具有特殊意义的数据点的记录,除此之外,DS1302能够同时记录两个时间,一是记录数据的时间,二是出现该数据的时间,因此在测量系统中广泛应用。
采用时钟芯片DS1302可以准确记录数据出现的时间,不需要占用硬件资源,不消耗单片机的资源。
使用DS1302芯片,可以提供稳定精确地走时,单片机只需要在第一次上电时进行必要的时间设定,以后需要时间的时候只需要从DS1302中读取数据即可。
DS1302芯片自带长短月、闰年补偿等功能,只用51实现时间的各种功能会非常麻烦。
掉电后只需要微弱的电流即可保持精准走时,因此,在DS1302芯片的连接中连有的纽扣电池,可以在掉电后支持时间的走时。
温度电路模块
温度采集电路模块由DS18B20对温度进行采集测试,其电路图如图。
图温度模块电路
DS18B20的引脚介绍,见表
表DS18B20的引脚介绍
序号
名称
引脚功能
1
GND
接地端
2
DQ
数据输入/输出引脚。
开漏单总线接口引脚。
当被用着在寄生电源下,也可以向器件提供电源。
3
Vcc
接+5V电源
DS18B20产品具有以下特点:
(1)只要求一个端口即可实现通信。
(2)在DS18B20中的只有三个引脚即可实现温度的采集,不需要外部任何的电路。
(3)测量温度范围在-50℃到+120℃之间;数字温度计的分辨率用户可以从9位到12位选择。
(4)内部设置温度上、下限告警。
DS18B20将采集到的信号送入单片机口,给电路提供一个温度数据。
R2为上拉电阻,为DS18B20提供能量,最好能够外接+5V的电源,有些电路仅仅依靠一个的上拉电阻是远远不够的,不能给其芯片足够的能量,如果采用多个DS18B20来采集温度数据时,这的电阻将供不应求,无法满足其需求【11】。
温度采集电路还可将DS18B20的1脚和3脚同时接地,但是这样有可能由于电压的不足而造成温度读书不准确。
如图中的接法即使电源电压只有4V电路也可以正常工作,DS18B20采集的温度数据也不会有很大的误差,因此这种接法在合适不过。
由图温度模块电路中所示,DS18B20只有三个引脚,3脚接+5V电源,1脚接地,2脚接信号输出口,同时接了一上拉电阻,因为DS18B20是单线温度传感器,数据线是漏极开路,如果DS18B20没接电源,则需要数据线强上拉,给DS18B20供电;如果DS18B20接有电源,则需要一个上拉即可稳定的工作。
用小循环来移动8次,将内部寄存器的8位数据全读出来,再通过数学处理来显示温度。
显示电路模块
显示电路模块是用1602LCD液晶显示屏显示时间、温度等数据,其电路图如图。
图显示模块电路图
1602液晶显示屏的引脚定义,见表
表1602液晶显示屏的引脚定义
引脚号
引脚名
电平
输入/输出
作用
1
Vss
电源地
2
Vcc
电源(+5V)
3
Vee
对比调整电压
4
RS
0/1
输入
0=输入指令
1=输入数据
5
0/1
输入
0=向LCD写入指令或数据
1=从LCD读取信息
6
E
1,1→0
输入
使能信号,1时读取信息,1→0(下降沿)行指令
7
DB0
0/1
输入/输出
数据总线line0(低位)
8
DB1
0/1
输入/输出
数据总线line1
9
DB2
0/1
输入/输出
数据总线line2
10
DB3
0/1
输入/输出
数据总线line3
11
DB4
0/1
输入/输出
数据总线line4
12
DB5
0/1
输入/输出
数据总线line5
13
DB6
0/1
输入/输出
数据总线line6
14
DB7
0/1
输入/输出
数据总线line7(最高位)
15
A
+Vcc
LCD背光电源正极
16
K
接地
LCD背光电源负极
与数码管相比该模块有如下优点:
1、显示字数多,可显示32位,使用数码管,这样的数据以及其位置的摆放是相当的庞大。
2、显示的内容丰富,可显示所有数字和大、小写字母。
3、程序简单,如果用数码管动态显示,刷新显示时间长,但160