ImageVerifierCode 换一换
格式:DOCX , 页数:90 ,大小:186.79KB ,
资源ID:3799449      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3799449.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机带温度显示的电子万年历设计1王超资料.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机带温度显示的电子万年历设计1王超资料.docx

1、基于单片机带温度显示的电子万年历设计1王超资料摘 要单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC 卡、电子宠物等,这些都离不开单片机。单片机是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。本设计着重要描述的就是基于AT89S52的单片机的电子万年历。本文首先描述系统硬件工作原理,随后说明了本系统所应用的各硬件接口技术(既芯片驱动程序)和各个接口模块的功能及工作

2、过程。本设计的主导思想是软硬件相结合来进行各功能模块的编写。电子万年历以硬件C语言为主体进行软件设计,增加了程序的可读性和可移植性。系统通过LCD液晶输出显示数据,可以显示当前时间、公农历日期、星期、温度,并附有以峰鸣器为提示的闹铃功能。关键词:单片机 电子万年历 公农历 接口模块 C语言 AbstractMCU rapid development of applied technology, we now live Looking at the various fields, from the missiles navigation devices, to the various instr

3、uments on the aircraft control, computer network communications and data transmission, industrial automation to the process of real-time control and data Processing, and we live in the extensive use of the smart IC cards, electronic pets, these are inseparable from the SCM. SCM is set CPU, RAM, ROM,

4、 timing, counting on one interface and a variety of microcontrollers.Its small size, low cost, feature strong, smart widely used in industry and industrial automation.This design is going to describing the calendar based on AT89S52. System hardware of main body is described first, Follow the functio

5、n, principle of work and hardware interface (that means the chips drives) are introduced. The designs main ideas is that composes soft and hardware to achieve the design.The calendar is designed with hardware C language as the Realization tool, which increased procedure readability and transplanting

6、. The system shows the output by LCD1602, which can demonstrate the current time, the lunar calendar date, the week, the temperature and the system, can alter people with a small sounder.Keywords: MCU Electronic calendar Lunar calendar Interface module C Language.引 言近年来,随着我国科技的不断发展,我国经济发展的支柱产业电子产业获得

7、长足发展,近年来各种电子产品琳琅满目,随处可见,随着电子产品的更新速度的加快,各种功能强大,款式新颖的电子产品不断问世。日历时钟便是这一发展趋势中的代表,各种功能的日历应有尽有,且功能不断更新。日历时钟的研究也成为大多数相关专业的学生以及研究人员先研究的对象。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等。因此,研究日历时钟及扩大其应用,有着非常现实的意义。日历是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的

8、发展和石英晶体振荡器的广泛应用使得时钟的精度远远超过老式钟表, 时钟的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。市场上有许多电子钟的专用芯片如:LM8363、LM8365 等,但它们功能单一,电路连接复杂,不便于调试制作!但是考虑到用单片机配合时钟芯片,可制成功能任意的日历时钟,而且可以做到硬件简单、成本低廉。所以本系统采用了以广泛使用的单片机AT89S52 技术为核心,配合时钟芯片DS1302。软硬件结合,使硬件部分大为简化,提高了系统稳定性,并采用LCD 显示电路、键盘电路,使人机交互简便易行。本方案设计出的日历时钟可以显示时间、设置闹铃功能,重点研究实现了

9、单片机时钟芯片这种模式的日历,在很多场合都能用到,也可以把此设计装在镜框中或其它工艺品中,以便更加实用。1 系统方案设计 1.1 单片机芯片的选择方案方案一: 采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。方案二:采用AT89S52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全

10、该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。综上所述,选择采用AT89S52作为主控制系统更适合设计。AT89S52 单片机是一种低功耗高性能的CMOS8位微控制器,内置8KB可在线编程闪存。该器件采用Atmel公司的高密度非易失性存储技术生产,其指令与工业标准 的80C51指令集兼容。片内程序存储器允许重复在线编程,允许程序存储器在系统内通过SPI串行口改写或用同用的非易失性存储器改写。通过把通用的8位 CPU与可在线下载

11、的Flash集成在一个芯片上,AT89S52便成为一个高效的微型计算机。它的应用范围广,可用于解决复杂的控制问题,且成本较低。 AT89S52的主要特性如下:1、兼容MCS51产品2、8K字节可擦写1000次的在线可编程ISP 闪存3、4.0V到5.5V的工作电源范围4、全静态工作:0Hz 24MHz5、3级程序存储器加密6、256字节内部RAM7、32条可编程I/O线8、3个16位定时器/计数器9、8个中断源10、UART串行通道11、低功耗空闲方式和掉电方式12、通过中断终止掉电方式13、看门狗定时器14、双数据指针15、灵活的在线编程(字节和页模式) 1.2 显示模块选择方案方案一:采用

12、LED数码管动态扫描,虽然LED数码管价格适中,对于显示数字也比较合适,然而需要显示多位数字和字母时,编程就会变得很复杂,而且占用的单片机口线多。方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示.方案三:采用LCD液晶显示屏, LCD液晶显示屏尽管价格比较贵,但它的显示功能强大,可显示大量字符,显示多样,清晰可见, ,需要的接口线少。所以综合考虑,采用方案三的LCD液晶显示屏作为显示更适合本设计。 1.3 时钟芯片的选择方案方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年

13、、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。方案二:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V5.5V范围内,2.5V时耗电小于300nA.综上所述,为显示时间更准确,实现功能更多,本设计采用DS1302时钟芯片提供时钟。 1.4 温度传感器的选择方案方案一:使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行

14、A/D转换。此设计方案需用A/D转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误差。方案二:采用数字式温度传感器DS18B20,此类传感器为数字式传感器而且仅需要一条数据线进行数据传输,易于与单片机连接,可以去除A/D模块,降低硬件成本,简化系统电路。另外,数字式温度传感器还具有测量精度高、测量范围广等优点。为提高测量精度,降低成本,所以本设计采用数字式温度传感器DS18B20测量温度。 1.5 电路设计最终方案综上各方案所述,对此次作品的方案选定: 采用AT89S52作为主控制系统; DS1302提供时钟;数字式温度传感器;LCD液晶显示屏作为显示模块。2

15、 系统设计说明2.1 硬件模块图系统的硬件模块图如图2.1所示。DS1302时钟模块(89S52)主控模块键盘输入电路显示电路峰鸣器闹铃模块DS18B20温度模块图2.1 系统硬件模块图模块说明:1、DS1302时钟模块可以输出其当前日期、时间及星期2、键盘输入电路可以调整日期,时间及公农历的转换3、DS18B20温度模块可以测量当前室内的温度4、峰鸣器闹铃模块可以做整点报时5、显示电路则显示当前的系统运行情况 2.2 系统原理本系统是由AT89C51单片机为控制核心;时钟电路由DS1302提供,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能;温度的采集由DS18B20构成;L

16、CD1602用来显示数据;键盘输入电路可以调整日期,时间及公农历的转换。通过用C语言1编程,从DS1302寄存器中读取年、月、日、周日、时、分、秒等数据信息;从DS18B20寄存器中读取温度信息,再编程将以上信息送到LCD1602显示出来。同时,通过键扫描,编程实现调整日期,时间及公农历的转换。2.3 系统的软件流程图系统的软件流程图如图2.2所示。 开始初始化读、写日期、时间和温度分离日期时间温度显示值键扫描子程序显示子程序闹铃子程序结束图2.2 软件流程图3 系统单元模块设计 3.1 主控模块(AT89S52模块)目前,在我国比较流行的就是美国ATMEL公司的89C51它是一种带Flash

17、 ROM的单片机,事实上,89C51目前正在用89S52代替。本系统就是以AT89S52作为主控芯片。图3.1 AT89S52封装图AT89S52采用40Pin封装的双列直接DIP结构,图4.1是它的封装图,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:1、Pin20:接地脚。2、Pin40:正电源脚,正常工作或对片内EPROM烧写程序时,接+5V电源。3、Pin19:时钟XTAL1脚,片内振荡电路的输入端。4、Pin18:时钟XTAL2脚,片内振荡电路的输出端。时钟有两种方式,一种是片内时钟振荡

18、方式,但需在18和19脚外接石英晶体(2-12MHz)和振荡电容,振荡电容的值一般取10p-30p。另外一种是外部时钟方式,即将XTAL1接地,外部时钟信号从XTAL2脚输入。输入输出(I/O)引脚:Pin32-Pin39为P0.0-P0.7输入输出脚,Pin1-Pin8为P1.0-P1.7输入输出脚,Pin21-Pin28为P2.0-P2.7输入输出脚,Pin10-Pin17为P3.0-P3.7输入输出脚,这些输入输出脚的功能阐述如下:P0口(32脚39脚):是双向8位三态I/O口,在外接存储器时,与地址总线的低8位及数据总线复用,能以吸收电流的方式驱动8个TTL负载。P1口(1脚8脚):是

19、8位准双向I/O口。由于这种借口输出没有高阻状态,输入也不能锁存,故不是真正的双向I/O口。P1口能驱动(吸收或输出电流)4个TTL负载。P2口(21脚28脚):是8位准双向I/O口。访问外部存储器时,它可以作为高8位地址总线送出高8位地址。P2可以驱动(吸收或输出电流)4个TTL负载。P3口(10脚17脚):是8位准双向I/O口,P3口能驱动(吸收或输出电流)4个TTL负载。P3口除了作为一般的准双向通用I/O口使用外,每个引脚还有第二功能。P3口的8条线都定义有第二功能6,如表4.1所列。表3.1 P3口的第二功能表引脚第二功能P3.0RXD(串行口输入端)P3.1TXD(串行口输出端)P

20、3.2INT0(外部中断0请求输入端,低电平有效)P3.3INT1(外部中断0请求输入端,低电平有效)P3.4T0(定时器/计数器0的技数脉冲输入端)P3.5T1(定时器/计数器0的技数脉冲输入端)P3.6WR(片外数据存储器写选通信号输出端,低电平有效)P3.7RD(片外数据存储器写选通信号输出端,低电平有效) Pin9:RESET/Vpd复位信号复用脚,当单片机通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指钟写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低

21、电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,单片机复位后的状态如下:P0P3=FFH,各口可用于输出,也可用于输入;SP=07H,第一个入栈内容将写入08H单元;IP、IE和PCON的有效位为0,各中断源处于低优先级且均被关断,串行通讯的波 特率不加倍;PSW=00H,当前工作寄存器为0组。 Pin30:ALE/PROG当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当

22、访问外部程序存储器,ALE会跳过一个脉冲。如果单片机是EPROM,在编程其间,PROG将用于输入编程脉冲。Pin29:PESN当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。Pin31:EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的8031,EA端必须接地。3.

23、2 DS1302时钟模块3.2.1 DS1302简介DS1302是DALLAS公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31字节静态RAM。通过简单的串行接口与单片机进行通信,实时时钟/日历电路提供秒分时日月年的信息,每月的天数和闰年的天数可自动调整。时钟操作可通过AM/PM指示决定采用24或12小时格式。DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线。1.RES复位,2.I/O数据线,3.SCLK串行时钟。时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信。DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW。DS1302是由

24、DS1202改进而来,增加了以下特性:双电源管脚用于主电源和备份电源供应,Vcc1为可编程涓流充电电源,附加七个字节存储器,备份电源可由大容量电容(1F)替代。它广泛应用于电话传真便携式仪器以及电池供电的仪器仪表等产品领域。主要性能如下:1、时钟具有能计算2100年之前的秒,分,时,日,星期,月,年的能力,还有闰年调整的能力。2、31*8位暂存数据存储RAM3、串行I/O口方式使得管脚数量最少4、宽范围工作电压:2.0V5.5V5、工作电流:2.0V时,小于300nA6、读/写时钟或RAM时,有两种传送方式:单字节传送和多字节传送(字符组方式)7、8脚DIP封装或可选的8脚SOIC封装8、简单

25、的3线串行I/O接口9、与TTL/COMS兼容(VCC=5V时)10、可选工业级温度范围:-40oC+85oC3.2.2 DS1302结构与工作原理3.2.2.1 引脚及功能表1、DS1302的脚功能如表3.2所示,引脚如图3.2所示引脚号引脚名称功能1Vcc2主电源引脚2,3X1,X2振荡源,外接32.768KHz晶振4RST接地5GND复位/片选端6I/O串行数据输入/输出端(双向)7SCLK串行时钟输入端8Vcc1备用电源表3.2 引脚功能图3.2 DS1302的引脚图3.2.2.2 工作原理串行时钟芯片主要由寄存器、控制寄存器、振荡器、实时时钟以及RAM组成。为了对任何数据传送进行初始

26、化,需要将RST 置为高电平且将具有地址和控制信息的8位数据(控制字节)装入移位寄存器。数据在SCLK的上升沿串行输入,前8位指定访问地址,命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输入数据。时钟脉冲的个数在单字节方式下为8加8(8位地址加8位数据),在多字节突发模式方式下为8加最多可达248的数据。 3.2.3 控制命令字节与寄存器1、控制命令字节控制命令字节的格式如表3.3表3.3 控制命令字节的格式表D7 D6 D5 D4D3D2 D1D01RAM/CKA4A3A2A1A0RD/ W控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS13

27、02中;位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。2、寄存器(1)历、时钟寄存器DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据为BCD码形式。其日历、时间寄存器及其控制字如表3.5所示。寄存器的选择由命令字而定,日历,时钟各个寄存器与控制字对照表如表3.4所示。最后一位RD/W为0表示要进行写操作,为1表示进行读操作。表3.5为主要寄存器命令字、取值范围以及各位内容对照表。表3.4 日历、时钟寄存器与控制字对照表寄存器名称D7D

28、6D5D4D3D2D1D01RAM/CKA4A3A2A1A0 RD/W秒寄存器1000000分寄存器1000001小时寄存器1000010日寄存器1000011月寄存器1000100星期寄存器1000101年寄存器1000110写保护寄存器1000111慢充电寄存器1010000时钟突发寄存器1011111表3.5 DS1302的日历、时钟寄存器表寄存器名称命令字 取值范围各位内容写操作读操作765430秒寄存器80H81H0059CH10SECSEC分寄存器82H83H0059010MINMIN小时寄存器84H85H0112或002312/24010A/PHRHR日寄存器86H87H0128

29、,29,30,310010DATEDATE月寄存器88H89H011200010MMONTH星期寄存器8AH8BH01070000DAY年寄存器8CH8DH010910YEARYEAR写保护寄存器8EH8FHWP0000慢充电寄存器90H91HTCSTCSTCSTCSDSDSRSRS时钟突发寄存器BEHBFH特殊位的说明:CH:时钟暂停位。当此位设置为1时,振荡器停止,DS1302处于低功耗空闲状态,这时芯片消耗电流将小于100NA;当此位为0时,振荡器启动,时钟开始启动。12/24:12或24小时方式选择位。为1时选择12小时方式,在12小时方式下,位5是AM/PM选择位,此位为1时表示PM。为0时选择24小时方式,在24小时方式下,位5是第2个小时位(2023时)。WP:写保护位。写保护寄存器的开始7位(06)置为0,在读操作时总是读出0。在对时钟或RAM进行写操作之前,位7(WP)必须为0,当它为高电平时,写保护位防止对任何其他寄存器进行写操作。TCS:控制慢充电的选择,为了防止偶然因素使DS1302工作,只有1010模式才能使慢速充电。DS:二极管选择位。如果DS为01,那么选择一个二极管;如果DS为10,则选择两个二极管;如果DS为11或00,那么充电器被禁止,与TCS无关。RS:选择连接在VCC2与VCC1之间的电阻,如果RS为00,那么充电器被禁止,与TCS无

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1