基于单片机的可调数字万年历.docx
- 文档编号:26877829
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:22
- 大小:455.16KB
基于单片机的可调数字万年历.docx
《基于单片机的可调数字万年历.docx》由会员分享,可在线阅读,更多相关《基于单片机的可调数字万年历.docx(22页珍藏版)》请在冰豆网上搜索。
基于单片机的可调数字万年历
目录
1引言1
2设计方案2
2.1概述2
2.2设计方案的选择3
2.3最终设计方案选择4
3电路组成及工作原理4
3.1电路设计框图4
3.2系统的硬件4
3.2.1系统原理总体概述4
3.2.2主要单元电路原理概述4
3.3系统的软件12
4调试14
5结论14
参考文献14
附录一15
基于单片机的可调数字万年历
Xxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
摘要:
首先在引言中详细介绍了电子钟的发展背景以及研究现状;接着列举了几种设计方案,并对其进行了比较,最终选定了设计方案;本文也具体讲解了基于单片机可调数字万年历的工作原理与组成部分,并对其各个组成部分进行了系统的介绍;然后简单的介绍了如何测试所做电路系统的方法;最后写了自己这次论文设计的心得体会与结论。
关键词:
AT89S52;时钟电钟;DS1302;温度采集;DS18B20
Abstract:
intheintroductionofthefirstintroducedthedevelopmentbackgroundoftheelectricclockandcurrentstudies;Thenenumeratedseveraldesignscheme,andcarriesonthecomparison,eventuallyselectedthedesignplan;Thispaperalsoexplainedtheadjustabledigitalcalendarbasedonsinglechipmicrocomputerprincipleofworkandpart,anditscomponentpartsofthesystemareintroduced;theAndthensimpleintroducedhowtodothetestcircuitsystemmethod;Finallythepaperwrotehisdesignexperienceandconclusion.
Keywords:
AT89S52devices;TheclockDianZhong;DS1302;Temperaturegathering;DS18B20
1引言
随着社会与科技的快速发展,人们的生活水平得到了提高,生活节奏得到了加快,人们对时间的要求也越来越高,精准数字计时的消费需求也是越来越多。
因此,新产品、新技术层出不穷,不断创新,不断发展,越来越多的高科技产品的产生来适应人们的需求,这使电子技术的发展更是日新月异。
以前人们是利用观察太阳来看时间,接着摆钟的出现使人们对时间有了更进一步的了解,现在人们是用电子钟来记录时间,在这漫漫的发展过程中,人类不断地研究,不断地创新......
二十一世纪是科技与创新的新时代,用来计时的电子产品也越来越多,其中最具代表性最受欢迎的的计时产品就是电子万年历,它不仅具有一般计时产品的功能,还具有闹铃、报警等创新功能。
目前它已经不再仅仅局限于以书本的形式出现。
而是以电脑软件或者电子产品的形式出现的万年历被称为电子万年历。
它与传统书本形式的万年历相比,不仅方便快捷,简单直观,还有很卓越的功能,所以电子万年历得到了越来越广泛的应用,采用电子时钟作为时间显示已经成为一种时尚。
它是近代世界钟表业界的第三次革命。
第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。
第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。
第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求,给消费者带来了很大的方便!
所以电子万年历就是钟表计时业界跨跃性的一朵奇葩。
目前市场上的电子时钟种类繁多,但大多数都只是只针对时间显示,功能单一不能满足人们日常生活需求,所以现在不能仅局限于这种电子钟。
我国生产的电子万年历有很多种,总上来说以研究多功能电子万年历为主,使万年历除了原有的显示时间,日期等基本功能外,还具有闹铃,报警等功能。
商家生产的电子万年历更从质量,价格,实用上考虑,不断的改进电子万年历的设计,使其更加的具有市场。
对于美
国DALLAS公司推出的具有涓细电流充电能的低功耗实时时钟电路DS1302,它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。
对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。
该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。
综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,更能满足人们的需求,这使电子钟具有很广阔的市场前景。
2设计方案
2.1概述
本文主要提出了一种基于AT89S52单片机的万年历设计方案,此设计方案是以AT89S52单片机作为主控核心,并采用集成化的时钟芯片DS1302、按键、LED显示等模块组成硬件系统。
此设计主要采用软件和硬件结合的方法,控制LED数码管输出,分别用来显示年、月、日、时、分、秒,并且在硬件系统中设有独立按键和LED显示器,能显示丰富的信息,根据使用者的需要可以随时对时间进行校准、选择时间等。
其可以实现以下几个基本功能:
(1)具有显示年、月、日、星期、时、分、秒等功能;
(2)具有年、月、日、星期、时、分、秒校准功能;
(3)时间与阴、阳历能够自动关联;
(4)具有温度计功能;
这种万年历是基于AT89S52单片机的设计,其具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。
它最大特点就是硬件电路简单,安装方便易于实现,软件设计独特,可靠。
对于AT89S52单片机,它是由ATMEL公司推出的一种小型单片机,其95年出现在中国市场,它的主要特点有以下几点:
(1)采用Flash存贮器技术,这样可以降低了制造成本,具有优异的性能价格比。
(2)控制功能强。
为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以及位处理功能。
单片机的逻辑控制功能及运行速度均高于同一档次的微机。
(3)集成度高、体积小、有很高的可靠性。
单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。
另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。
(4)单片机的系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。
(5)低功耗、低电压,便于生产便携式产品。
(6)外部总线增加了IC及SPI等串行总线方式,进一步缩小了体积,简化了结构。
2.2设计方案的选择
(1)单片机芯片的选择方案:
方案一:
采用传统的AT89C51芯片作为硬件核心,它主要是采用FlashROM,它内部具有4KBROM存储空间,能够在3V的超低压工作,而且能够与MCS-51系列单片机完全兼容,虽然此单片机算术运算功能强,软件编程灵活、自由度大,但是运用于电路设计中时由于不具备ISP在线编程技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。
方案二:
采用FTC10F04单片机,还带有非易失性Flash程序存储器。
它是一种高性能、低功耗的8位CMOS微处理芯片,市场应用最多。
其主要特点如下:
8KBFlashROM,可以擦除1000次以上,数据保存10年。
方案三:
采用AT89S52,片内ROM全都采用FlashROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KBROM存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。
(2)时钟芯片的选择方案:
方案一:
直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。
采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。
所以不采用此方案。
方案二:
采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V~5.5V范围内,2.5V时耗电小于300nA.
(3)温度传感器的选择方案:
方案一:
可以采用热敏电阻,热敏电阻是开发早、种类多、发展较成熟的敏感元器件,可以使用热敏电阻作为传感器,热敏电阻由半导体陶瓷材料组成,它利用的原理是温度引起电阻变化。
用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行A/D转换。
此设计方案需用A/D转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误差。
方案二:
采用数字式温度传感器DS18B20,此类传感器为数字式传感器而且仅需要一条数据线进行数据传输,单总线易于与单片机连接,具有经济性好,抗干扰能力强,适合于恶劣环境的现场温度测量,使用方便等优点。
可以去除A/D模块,降低硬件成本,简化系统电路。
另外,数字式温度传感器还具有测量精度高、测量范围广等优点。
(4)显示模块的选择方案:
方案一:
采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示。
方案二:
采用LED液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用LED液晶显示屏。
方案三:
采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。
2.3最终设计方案选择
通过以上各个方案的比较,对此次作品的最终方案选定为:
采用以AT89S52作为主控制系统;DS1302时钟芯片实现时钟;数字式温度传感器作为温度采集模块;LED数码管动态扫描作为显示模块。
3电路组成及工作原理
3.1电路设计框图
3.2系统的硬件
3.2.1系统原理总体概述
本电路主要是由AT89S52单片机为控制核心,AT89S52单片机具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由DS1302芯片提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31*8的用于临时性存放数据的RAM寄存器。
可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;温度的采集模块是由DS18B20构成;对于显示模块,由21个数码管,74ls138、74ls47译码器构成。
使用动态扫描显示方式对数字的进行显示。
3.2.2主要单元电路原理概述
一、单片机主控制模块
(1)概述
单片机AT89S52为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3,MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。
与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:
0Hz~33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。
(2)AT89S52引脚图
AT89S52的引脚图如图1所示:
图1AT89S52引脚图
4个8位的I/O口(P0、P1、P2、P3)的功能介绍:
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在flash编程和校验时,P1口接收低8位地址字节。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),第二功能具体如下所示:
P1.0T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5MOSI(在系统编程用)
P1.6MISO(在系统编程用)
P1.7SCK(在系统编程用)
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在flash编程和校验时,P3口也接收一些控制信号。
此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。
P3口亦作为AT89S52特殊功能(第二功能)使用,第二功能具体如下所示:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2INTO(外中断0)
P3.3INT1(外中断1)
P3.4TO(定时/计数器0)
P3.5T1(定时/计数器1)
P3.6WR(外部数据存储器写选通)
P3.7RD(外部数据存储器读选通)
(3)AT89S52电路连接图
单片机AT89S52在电路中的连接如图2所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出。
第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端。
图2AT89S52在电路中的连接图
二、时钟电路模块
(1)时钟芯片DS1302的工作原理:
时钟芯片DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置“0”,接着把RST端置“1”,最后才给予SCLK脉冲;读/写时序如下图4所示。
图5为DS1302的控制字,此控制字的位7必须置1,若为0则不能把对DS1302进行读写数据。
对于位6,若对程序进行读/写时RAM=1,对时间进行读/写时,CK=0。
位1至位5指操作单元的地址。
位0是读/写操作位,进行读操作时,该位为1;该位为0则表示进行的是写操作。
控制字节总是从最低位开始输入/输出的。
表6为DS1302的日历、时间寄存器内容:
“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。
“WP”是写保护位,在任何的对时钟和RAM的写操作之前,WP必须为0。
当“WP”为1时,写保护位防止对任一寄存器的写操作。
(2)时钟芯片DS1302引脚介绍
DS1302的引脚排列如图3所示。
各引脚的功能为:
1、Vcc1:
5V电源。
当Vcc2>Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2 23、X1、X2是外接晶振脚(32.768KHZ的晶振) 4、地(GND) 5、CE/RST: 复位脚 6、I/O: 数据输入输出口; 7、SCLK: 串行时钟,输入; 8、Vcc2: 备用电池端; 图3DS1302引脚图 (3)时钟芯片DS1302电路连接图 DS1302在电路中的连接图如图4所示。 DS1302有主电源/后备电源双电源引脚,其中Vcc1在单电源与电池供电的系统中提供低电源,并提供低功率的电磁备份,为后备电源,Vcc2在双电池系统中提供主电源。 在这种运行方式中,Vcc1里连接到后备电源,以便在没有主电源的情况下能保存时间信息以及数据。 即在主电源关闭的情况下,也能保持时钟的连续运行。 DS1302由Vcc1或Vcc2两者中的较大者供电。 当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。 当Vcc2小于Vcc1时,DS1302由Vcc1供电。 X1和X2是振荡源,外接32.768KHz晶振。 RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。 RST输入有两种功能: 首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。 当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。 如果在传送过程中RSTS置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。 上电动行时,在Vcc大于等于2.5V之前,RST必须保持低电平。 中有在SCLK为低电平时,才能将RST置为高电平,I/O为串行数据输入端(双向)。 SCLK始终是输入端。 图4DS1302在电路中的连接图 (4)DS1302的控制字节 DS1302的控制字如表-1所示。 控制字节的高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位(A4~A0)1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输入/输出。 表-1 RAMRD 1A4A3A2A1A0 /CK/WR (5)DS1302的寄存器 DS1302一共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表-2。 表-2 通过学习知道DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。 时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类: 一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。 (6)数据输入输出(I/O) 在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。 同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。 如下图5所示 图5DS1302读/写时序图 三、温度采集模块 (1)DS18B20特性介绍 DS18B20单线数字温度传感器,即“一线器件”,其具有以下独特的优点: 1)采用单总线的接口方式与微处理器连接时仅需要一条口线即可实现微处理与DS18B20的双向通讯。 单总线具有经济性好,抗干扰能力强,适合于恶劣环境的现场温度测量,使用方便等优点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。 2)测量温度范围宽,测量精度高DS18B20的测量范围为-55℃~+125℃;在-10~+85°C范围内,精度为±0.5°C。 3)在使用中不需要任何外围元件。 支持多点组网功能,多个DS18B20可以并联在惟一的单线上,实现多点测温。 4)测量参数可配置DS18B20的测量分辨率可通过程序设定9~12位。 5)负压特性电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 6)供电方式灵活DS18B20可以通过内部寄生电路从数据线上获取电源。 因此,当数据线上的时序满足一定的要求时,可以不接外部电源,从而使系统结构更趋简单,可靠性更高。 7)掉电保护功能DS18B20内部含有EEPROM,在系统掉电以后,它仍可保存分辨率及报警温度的设定值。 8)DS18B20具有体积更小、适用电压更宽、更经济、可选更小的封装方式,更宽的电压适用范围,适合于构建自己的经济的测温系统,因此也就被设计者们所青睐。 (2)DS18B20引脚图 DS18B20的引脚排列如图6所示。 各引脚的功能为: 1.GND为电源地; 2.DQ为数字信号输入/输出端; 3.VDD为外接供电电源输入端,在寄生电源接线方式时接地; 图6DS18B20引脚图 (3)DS18B20电路连接图 如图7所示。 采用数字式温度传感器DS18B20,它是数字式温度传感器,具有测量精度高,电路连接简单特点,此类传感器仅需要一条数据线进行数据传输,使用P0.7与DS18B20的I/O口连接加一个上拉电阻,Vcc接电源,Vss接地。 图7DS18B20在电路中的连接图 (4)DS18B20内部结构 DS18B20内部结构主要由四部分组成: 64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。 光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。 64位光刻ROM的排列是: 开始8位(地址: 28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,并且每个DS18B20的序列号都不相同,因此它可以看作是该DS18B20的地址序列码;最后8位则是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。 由于每一个DS18B20的ROM数据都各不相同,因此微控制器就
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 可调 数字 万年历