基于51单片机的电子日历+温度显示设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 电子日历设计与实现
2.1 任务分析
一、功能
本设计要求具有显示生肖、年、月、日、星期、时、分、秒等功能;阳历与阴历能够自动关联;具有温度计功能;具备年、月、日、星期、时、分、秒校准功能;设计最终达到效果如图2-1。
图2-1 设计效果图
二、系统原理
按照系统设计功能的要求,系统由单片机、时钟模块DS1302、显示模块12864、键盘以及温度采集模块DS18B20共5部分电路组成,电路构成框图如图2-2所示。
图2-2 系统设计原理框图
三、系统硬件要求
本设计电路采用AT89S51单片机为控制核心,AT89S51具有在线编程功能,低功耗,能在3V超低压工作。时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。DS1302内部有一个用于临时性存放数据的31*8RAM寄存器。器件在加电情况下,可自动生成年、月、日、周、时、分、秒时间数据,该器件具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能。
温度的采集采用数字式温度传感器DS18B20,此类传感器为数字式传感器而且仅需要一条数据线进行数据传输,易于与单片机连接,可以去除A/D模块,降低硬件成本,简化系统电路。另外,温度传感器DS18B20还具有测量精度高、测量范围广等优点。显示部分用12864LED液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字、图形,显示多样,清晰可见,能够达到较好的显示效果。
2.2电路设计
一、单片机主控制模块的设计
AT89S51单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3,MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。
单片机的最小系统如图3-1所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出。第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端,单片机电路如图2-3 所示。
图2-3 单片机电路
二、时钟电路模块的设计
DSl302数据操作原理: DSl302在任何数据传送时必须先初始化,把RST脚置为高电平,然后把8位地址和命令字装入移位寄存器,数据在SCLK的上升沿被输入。无论是读周期还是写周期,开始8位指定40个寄存器中哪个将被访问到。在开始8个时钟周期,把命令字节装入移位寄存器之后,另外的时钟周期在读操作时输出数据,在写操作时写入数据。
DS1302的引脚连接如图2-4所示。其中VCC1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由VCC1或VCC2两者中的较大者供电。当VCC2大于VCC1+0.2V时,VCC2给DS1302供电。当VCC2小于VCC1时,DS1302由VCC1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送,与AT89C51的P3.0相连。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在VCC≥2.5V之前,RST 必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),与AT89C51的P3.1相连。SCLK始终是输入端。
图2-4 DS1302的引脚连接图
如果在传送过程中置RST脚为低电平,则会终止本次数据传送,并且I/O 引脚变为高阻态。上电运行时,在Vcc≥2.5 V之前,RST脚必须保持低电平。只有在SCLK为低电平时,才能将RCT置为高电平。
三、温度采集模块设计
如图2-5所示。采用数字式温度传感器DS18B20,它是数字式温度传感器,具有测量精度高,电路连接简单特点,此类传感器仅需要一条数据线进行数据传输,使用P0.7与DS18B20的I/O口连接加一个上拉电阻,Vcc接电源,Vss接地。
+
CC
图2-5 DS18B20温度采集
四、显示模块的设计
液晶显示模块12864是一种图形点阵液晶显示器,它主要是由128×64个液晶显示点组成的一个128列×64行的阵列,可以显示8×4个(16×16点阵)汉字。每个显示点对应一位二进制数,1表示亮,0表示灭。存储这些点阵信息的RA M称为显示数据存储器。要显示某个图形或汉字就是将相应的点阵信息写入到相应的存储单元中。图形或汉字的点阵信息当然由自己设计,问题的关键就是显示点在液晶屏上的位置(行和列)与其在存储器中的地址之间的关系。LCD128 64的主要技术参数和性能见表2.1。
表2.1 12864主要技术参数和性能
参数性能
电源
电源功耗电流显示内容接口总线工作温度储存温度VDD:+5V;模块内自带-10V负压,用于LCD的驱动电压电源功耗电流(Idd)≤2.8mA
128(列)×64(行)点
与CPU接口采用8位数据总线并行输入输出和8条控制线;-20℃~+60℃
-30℃~+70℃,当温度低于–15℃时,不能做动画显示。
液晶显示模块12864的DB0-DB7是用来传输数据的,与AT89S51的P0.0-P0.7相连。片选线2
cs和1cs与AT89C51的P1.1、P1.0相连。GND是接地线,VCC 与AT89C51的电源连接起来。由于设计结果仿真实现,因此12864 的对比度调节控制和背光照明电源等引脚为系统默认,在设计中可以不予处理。12864的电路连接方式见图2-6所示。