基于51单片机的万年历设计 下载本文

洛 阳 理 工 学 院 课 程 设 计 报 告

(5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃。 (6)可编程 的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。

(7)在9位分辨率时最多在 93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。

(8)测量结果直接输出数字温度信号,以\一 线总线\串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。

(9)负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。

2、DS18B20的内部结构

DS18B20内部结构主要由四部分组成:64位光刻ROM 、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器(如图2.3)。

存储器和控制器温度灵敏元件位64电源检测和单线接口高速缓存存储器图2.3 DS18B20的内部结构组成

DS18B20的供电方式有两种:寄生电源供电方式和外部电源供电方式。本设计采用外部电源供电方式(如图2.4),DS18B20工作电源由VDD引脚接入,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度。外部电源供电方式是DS18B20最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统。

ROM低温触发器TL高温触发器TH配置寄存器8位CRC生成器 7

洛 阳 理 工 学 院 课 程 设 计 报 告

U2GNDDS18B2012VCCP3.34K73VCCVDDDQ 图2.4 DS18B20引脚接线

引脚说明:GND为接地引脚;DQ为数据输入输出脚。用于单线操作,漏极开路;VCC接电源正;

2.3.3显示模块的设计

本设计中由于要对时间、温度进行显示,所以选择液晶显示屏1602模块作为输出。1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线。它可以显示两行,每行16个字符,采用单+5V电源供电,外围电路配置简单,价格便宜,具有很高的性价比。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。将L1602的RS端和P2.0,R/W端和P2.1, E 端和P2.2相连,当RS=0时,对LCD1602写入指令;当RS=1时,对LCD1602写入数据。当R/W端接高电平时芯片处于读数据状态,反之处于写数据状态,E端为使能信号端。当R/W为高电平,E端也为高电平,RS为低电平时,液晶显示屏显示需要显示的示数。

2.4本章小结

本章主要介绍了系统硬件设计,其中对时钟芯片DS1302、1602液晶显示屏、DS18B20温度传感器和STC89C52最小系统的设计做了详细阐述。此外还介绍了各模块和单片机的连接方法、其特性及电路原理,最后确定系统的整体硬件设计方案。

8

洛 阳 理 工 学 院 课 程 设 计 报 告

三、系统的软件设计

3.1程序流程图

3.1.1 系统总流程图

系统总流程图如图3.1所示。流程图分析:首先系统初始化,系统开始运行,当有设置键按下时进入修改时间模式,无按键按下时读取时间、温度等数据送入液晶屏显示;在修改时间模式下设置时间完成后再送数据到液晶屏显示。

开始系统初始化设置键有否按下?YN进入修改时间模式读时间N设置时间读温度设置完成?Y显示 图3.1系统总流程图

3.1.2 温度程序流程图

温度读取流程图如图3.2所示。流程图分析:开始进入初始化DS18B20,就是通过主机拉低单线产生复位脉冲然后释放该线,如果有应答脉冲,即发起ROM命令当成功的执行操作命令后,就使用Convert T命令即开始温度转换,当转换完后,又初始化DS18B20是否有应答脉冲,若有,就发起Read Scratchpad(读取暂存器和CRC字节)命令,既同时读出第1,2个字节,即为温度的数据。

9

洛 阳 理 工 学 院 课 程 设 计 报 告

No应答脉冲开始初始化DS18B20 发起SkipRom命令 读取第1,2字节即为温度数据发起Convert T命令 延时1s等待温度转换完成发起Read Scratchpad命令 初始化DS18B20 No应答脉冲? Yes 图3.2 温度显示流程图

Yes

3.1.3 DS1302时钟程序流程图

时钟流程图如图5.3所示。流程图分析:DS1302开始计时时,首先进行初始化,当有中断信号时,读取时钟芯片的数据送入液晶屏显示。这时若有设置键按下时,进行时间修改,完成后将数据送入时钟芯片;若没有按键按下,则直接存入EPROM,送入液晶屏显示。

开始初始化开中断读时钟芯片送显示设置键是否有按下?NY是否修改当前时间?Y送时钟芯片N送EPROM

图3.3 时钟流程图

10