资源描述
. .
本 科 生 毕 业 设 计
题目:水温检测与存储系统设计
姓 名:XXXXXX
学 号:XXXXXXXXXXXX
所在学院:信息工程学院
专业班级:XXXXXXXXXXXXXXXXX班
指导教师:XXXXXX
20XX年 X月 XX日
. .word.zl.
. .
声 明
本人X重声明:所呈交的毕业论文〔设计〕,是本人在指导教师指导下,独立进展研究工作所取得的成果。尽我所知,除文中已经注明引用的内容外,本毕业论文〔设计〕的研究成果不包含任何他人享有著作权的内容。对本论文〔设计〕所涉及的研究工作做出奉献的其他个人和集体,均已在文中以明确方式标明。
本人签名:
日 期: 年 月 日
目 录
摘 要- 3 -
Abstract- 4 -
前 言- 5 -
第一章 系统整体设计方案- 6 -
1.1硬件总体设计- 6 -
1.1.1 硬件系统子模块- 6 -
1.2软件总体设计- 6 -
第二章 硬件系统设计- 7 -
2.1硬件电路分析和设计报告- 7 -
2.1.1 单片机最小系统电路- 7 -
2.1.2 键盘电路- 12 -
2.1.3 LCD12864显示电路- 13 -
2.1.4 温度采集电路- 20 -
2.1.5数据存储电路- 25 -
2.1.6加热控制电路- 28 -
第三章 软件系统设计- 29 -
3.1 系统软件设计整体思路- 29 -
3.1.1 主程序- 29 -
3.1.2 LCD12864液晶显示- 32 -
3.1.3 AT24C02数据存储模块- 38 -
3.1.4 18B20温度模块软件设计- 41 -
3.1.5 键盘扫描处理流程- 48 -
第四章 系统调试- 53 -
4.1硬件电路调试- 53 -
4.2软件调试- 53 -
4.3 系统操作说明- 54 -
总结- 55 -
参考文献:- 56 -
致 谢- 57 -
附录A:水温检测与存储系统设计原理图- 58 -
附录B:软件程序- 59 -
摘 要
随着现代工业的飞速开展,生产流程的技术提高和加工工艺的不断完善。温度——这一在工业生产中不可或缺的因素,一次又一次影响着、甚至很大程度上决定着生产产品质量的优劣。随之而来的,温度的检测与控制-----这一延续多年的课题依旧在日益扩X的工业化进程中起着举足轻重的作用。同样作为温度监测监控分支的水温监测监控系统,也在居民生活和工农业生产中发挥着它不可或缺的作用。
本系统已STC89C52RC单片机为控制核心,由显示电路、存储电路、按键电路、测温电路、晶闸管温控电路等组成。通过LCD12864显示温度和按键组成人机交互页面,使用单总线温度传感器DS18B20采集温度,使用晶闸管电路控制加热功率从而来实现调节温度。本文详细阐述了基于单片机的温度控制系统的硬件组成、软件设计及相关的接口电路设计。并且充分考虑了系统的可靠性,采取了相应的措施予以保证。
关键词:LCD12864 DS18B20 晶闸管 测温
The water temperature detection and data storage
Abstract
With the rapid development of modern industry, production processes and technology to improve the process of continuous improvement. Temperature - The industrial production indispensable factor, once again affecting, even to a large extent determine the production quality of the pros and cons. Followed, temperature measurement and control ----- continue for many years to this subject still plays an important role in the expanding industrialization process. The same as the temperature monitoring and control system for monitoring the temperature of the water branch, but also residents and industrial and agricultural production, it plays an indispensable role.
The system has been STC89C52RC microcontroller core, the show circuit, memory circuit, key circuit, temperature measurement circuit, thyristor temperature control circuit. By LCD12864 display the temperature and position of interactive buttons page, single-bus temperature sensor DS18B20 collecting temperature, using a thyristor circuit controls the heating power so as to achieve temperature control. This paper describes the position of the microcontroller-based temperature control system hardware, software, design and related interface circuit design. And fully consider the reliability of the system, take the appropriate measures to guarantee.
Keywords:LCD12864 ;DS18B20; temperature ;Thyristor
前 言
随着社会的开展、科技的进步、以及测温仪器在各个领域的应用,自动化已是现代温度控制系统开展的主流方向。特别是近年来,温度控制系统已广泛应用于人们生活的各个方面。
及时准确地得到温度信息并对其进展适时的控制,在许多工业场合中都是重要的环节.水温的变化影响各种系统的自动运作,例如冶金、机械、食品、化工各类工业中,广泛使用的各种加热炉、热处理炉、反响炉等,对工件的水处理温度要求严格控制。对于不同控制系统,其适宜的水质温度总是在一个X围。超过这个X围,系统或许会停顿运行或遭受破坏,所以我们必须能实时获取水温变化。对于,超过适宜X围的温度能够报警。同时,我们也希望在适宜温度X围内可以由检测人员根据实际情况加以改变。
单片机对对温度的控制是工业生产中经常使用的控制方法.自从1976年Intel公司推出第一批单片机以来,80年代单片机技术进入快速开展时期,近年来,随着大规模集成电路的开展,单片机继续朝快速、高性能方向开展。单片机主要用于控制,它的应用领域普及各行各业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。单片机将微处理器、存储器、定时/计数器、I/O接口电路等集成在一个芯片上的大规模集成电路,本身即是一个小型化的微机系统。单片机技术与传感与测量技术、信号与系统分析技术、电路设计技术、可编程逻辑应用技术、微机接口技术、数据库技术以及数据构造、计算机操作系统、汇编语言程序设计、高级语言程序设计、软件工程、数据网络通信、数字信号处理、自动控制、误差分析、仪器仪表构造设计和制造工艺等的结合,使得单片机的应用非常广泛。同时,单片机具有较强的管理功能。采用单片机对整个测量电路进展管理和控制,使得整个系统智能化、功耗低、使用电子元件较少、内部配线少、本钱低,制造、安装、调试及维修方便。
传统的温度采集电路相当复杂,需要经过温度采集、信号放大、滤波、AD转换等一系列工作才能得到温度的数字量,并且这种方式不仅电路复杂,元器件个数多,而且线性度和准确度都不理想,抗干扰能力弱。现在常用的温度传感器芯片不但功率消耗低、准确率高,而且比传统的温度传感器有更好的线性表现,最重要的一点是使用起来方便。
第一章 系统整体设计方案
1.1硬件总体设计
设计并制作一个基于单片机的水温检测和数据存储的电路其构造框图如图1-1所示
电源
单片机stc89c52
LCD12864显示
可控硅驱动
温度传感器
DS18B20
存储
键盘
指示灯
图1-1 硬件构造框图
1.1.1硬件系统子模块
(1) 单片机最小系统电路局部
(2) 键盘扫描电路局部
(3) 液晶LCD12864温度显示
(4) 温度采集电路局部
(5) 晶闸管控制局部
(6) 存储局部
1.2软件总体设计
良好的设计方案可以减少软件设计的工作量,提高软件的通用性,扩展性和可读性。
本系统的设计方案和步骤如下:
(1) 根据需求按照系统的功能要求,逐级划分模块。
(2) 明确各模块之间的数据流传递关系,力求数据传递少,以增强各模块的独立性,便于软件编制和调试。
(3) 确定软件开发环境,选择设计语言,完成模块功能设计,并分别调试通过。
(4) 按照开发式软件设计构造,将各模块有机的结合起来,即成一个较完善的系统。
首先接通电源系统开场工作,系统开场工作后,通过按键设定温度值的上限值功率的上限值,确定按键将设定的温度值存储到指定的地址空间,温度传感器开场实时检测,调用显示子程序显示检测结果,调用比拟当前显示温度值与开场设定的温度值比拟,如果当前显示值低于设定值就通过晶闸管起动加热装置,直到到达设定值停顿加热,之后进展保温。
第二章 硬件系统设计
2.1硬件电路分析和设计报告
本次设计主要思路是通过对单片机编程将由温度传感器DS18B20采集的温度外加驱动电路显示出来,包括对继电器的控制,进展升温。P2.0和P2.1是设定功率增加和减小的,P2.2和P2.3是设定温度上升和下降的,P2.4是用来存储数据的,P2.5是用来调用存储数据的。整个电路都是通过软件控制实现设计要求。
2.1.1单片机最小系统电路
本系统采用的单片机为STC89C52RC。STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。
主要特性如下:
增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.
工作电压:5.5V~3.3V〔5V单片机〕/3.8V~2.0V〔3V单片机〕
工作频率X围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz
用户应用程序空间为8K字节
片上集成512字节RAM
通用I/O口〔32个〕,复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
ISP〔在系统可编程〕/IAP〔在应用可编程〕,无需专用编程器,无需专用仿真器,可通过串口〔RxD/P3.0,TxD/P3.1〕直接下载用户程序,数秒即可完成一片
具有EEPROM功能
具有看门狗功能
共3个16位定时器/计数器。即定时器T0、T1、T2
外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒
通用异步串行口〔UART〕,还可用定时器软件实现多个UART
工作温度X围:-40~+85℃〔工业级〕/0~75℃〔商业级〕
PDIP封装
STC89C52RC单片机的工作模式
掉电模式:典型功耗<0.1μA,可由外部中断唤醒,中断返回后,继续执行原程序
空闲模式:典型功耗2mA
正常工作模式:典型功耗4Ma~7mA
掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备
STC89C52RC引脚图
STC89C52RC引脚功能说明
VCC〔40引脚〕:电源电压
VSS〔20引脚〕:接地
P0端口〔P0.0~P0.7,39~32引脚〕:P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1〞时,可以作为高阻抗输入。在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。此时,P0口内部上拉电阻有效。在Flash ROM编程时,P0端口接收指令字节;而在校验程序时,那么输出指令字节。验证时,要求外接上拉电阻。
P1端口〔P1.0~P1.7,1~8引脚〕:P1口是一个带内部上拉电阻的8位双向I/O口。P1的输出缓冲器可驱动〔吸收或者输出电流方式〕4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流〔〕。
此外,P1.0和P1.1还可以作为定时器/计数器2的外部技术输入〔P1.0/T2〕和定时器/计数器2的触发输入〔P1.1/T2EX〕,具体参见下表:
在对Flash ROM编程和程序校验时,P1接收低8位地址。
表XX P1.0和P1.1引脚复用功能
引脚号
功能特性
P1.0
T2〔定时器/计数器2外部计数输入〕,时钟输出
P1.1
T2EX〔定时器/计数器2捕获/重装触发和方向控制〕
P2端口〔P2.0~P2.7,21~28引脚〕:P2口是一个带内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可以驱动〔吸收或输出电流方式〕4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。P2作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流〔〕。
在访问外部程序存储器和16位地址的外部数据存储器〔如执行“MOVX DPTR〞指令〕时,P2送出高8位地址。在访问8位地址的外部数据存储器〔如执行“MOVX R1〞指令〕时,P2口引脚上的内容〔就是专用存放器〔SFR〕区中的P2存放器的内容〕,在整个访问期间不会改变。
在对Flash ROM编程和程序校验期间,P2也接收高位地址和一些控制信号。
P3端口〔P3.0~P3.7,10~17引脚〕:P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动〔吸收或输出电流方式〕4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流〔〕。
在对Flash ROM编程或程序校验时,P3还接收一些控制信号。
P3口除作为一般I/O口外,还有其他一些复用功能,如下表所示:
表XX P3口引脚复用功能
引脚号
复用功能
P3.0
RXD〔串行输入口〕
P3.1
TXD〔串行输出口〕
P3.2
〔外部中断0〕
P3.3
〔外部中断1〕
P3.4
T0〔定时器0的外部输入〕
P3.5
T1〔定时器1的外部输入〕
P3.6
〔外部数据存储器写选通〕
P3.7
〔外部数据存储器读选通〕
RST〔9引脚〕:复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。看门狗计时完成后,RST引脚输出96个晶振周期的高电平。特殊存放器AUXR〔地址8EH〕上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。
ALE/〔30引脚〕:地址锁存控制信号〔ALE〕是访问外部程序存储器时,锁存低8位地址的输出脉冲。在Flash编程时,此引脚〔〕也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
如果需要,通过将地址位8EH的SFR的第0位置“1〞,ALE操作将无效。这一位置“1〞,ALE仅在执行MOVX或MOV指令时有效。否那么,ALE将被微弱拉高。这个ALE使能标志位〔地址位8EH的SFR的第0位〕的设置对微控制器处于外部执行模式下无效。
〔29引脚〕:外部程序存储器选通信号〔〕是外部程序存储器选通信号。当AT89C51RC从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而访问外部数据存储器时,将不被激活。
/VPP〔31引脚〕:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,必须接GND。注意加密方式1时,将内部锁定位RESET。为了执行内部程序指令,应该接VCC。在Flash编程期间,也接收12伏VPP电压。
XTAL1〔19引脚〕:振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2〔18引脚〕:振荡器反相放大器的输入端。
单片机最小系统的原理图如图2-1所示,单片机最小系统主要由晶振电路和复位电路组成。单片机XIAL1和XIAL2分别接30PF的电容,中间再并个12MHZ的晶振,形成单片机的晶振电路。ALE引脚悬空,复位引脚接到复位电路、VCC接电源、VSS接地、EA接电源。
图2-1 单片机最小系统
2.1.2键盘电路
键盘是单片机应用系统中的主要输入设备,单片机使用的键盘分为编码键盘和非编码键盘。编码键盘采用硬件线路来实现键盘的编码,每按下一个键,键盘能够自动生成按键代码,并有去抖功能。因此使用方便,但硬件较复杂。非编码键盘仅仅提供键开关状态,由程序来识别闭合键,消除抖动,产生相应的代码,转入执行该键的功能程序。非编码键盘中键的数量较少,硬件简单,在单片机中应用非常广泛。
该系统总共使用了6个按键,每个按键的功能都由软件决定,按键功能如图2-2所示。
图2-2 按键功能图
按键电路图如图2-3所示。
图2-3 按键电路图
2.1.3LCD12864显示电路
该系统的显示采用液晶LCD12864液晶进展显示,LCD12864能够显示汉字和字符。相对与数码管显示更灵活,显示内容更加丰富,人机交互页面更加人性化。
LCD112864是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不管硬件电路构造或显示程序都要简洁得多,且该模块的价格也略低于一样点阵的图形液晶模块。
LCD12864的根本特性
(1) 、低电源电压〔VDD:+3.0--+5.5V〕
〔2〕、显示分辨率:128×64点
〔3〕、内置汉字字库,提供8192个16×16点阵汉字(简繁体可选)
〔4〕、内置 128个16×8点阵字符
〔5〕、2MHZ时钟频率
〔6〕、显示方式:STN、半透、正显
〔7〕、驱动方式:1/32DUTY,1/5BIAS
〔8〕、视角方向:6点
〔9〕、背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5—1/10
〔10〕、通讯方式:串行、并口可选
〔11〕、内置DC-DC转换电路,无需外加负压
〔12〕、无需片选信号,简化软件设计
〔13〕、工作温度: 0℃ - +55℃ ,存储温度: -20℃ - +60℃
管脚号
管脚名称
电平
管脚功能描述
1
VSS
0V
电源地
2
VCC
3.0+5V
电源正
3
V0
-
比照度〔亮度〕调整
4
RS(CS〕
H/L
RS=“H〞,表示DB7——DB0为显示数据
RS=“L〞,表示DB7——DB0为显示指令数据
5
R/W(SID)
H/L
R/W=“H〞,E=“H〞,数据被读到DB7——DB0
R/W=“L〞,E=“H→L〞, DB7——DB0的数据被写到IR或DR
6
E(SCLK)
H/L
使能信号
7
DB0
H/L
三态数据线
8
DB1
H/L
三态数据线
9
DB2
H/L
三态数据线
10
DB3
H/L
三态数据线
11
DB4
H/L
三态数据线
12
DB5
H/L
三态数据线
13
DB6
H/L
三态数据线
14
DB7
H/L
三态数据线
15
PSB
H/L
H:8位或4位并口方式,L:串口方式〔见注释1〕
16
NC
-
空脚
17
/RESET
H/L
复位端,低电平有效〔见注释2〕
18
VOUT
-
LCD驱动电压输出端
19
A
VDD
背光源正端〔+5V〕〔见注释3〕
20
K
VSS
背光源负端〔见注释3〕
*注释1:如在实际应用中仅使用并口通讯模式,可将PSB接固定高电平,也可以将模块上的J8和“VCC〞用焊锡短接。
*注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。
*注释3:如背光和模块共用一个电源,可以将模块上的JA、JK用焊锡短接。四.模块主要硬件构成说明
控制器接口信号说明:
1、RS,R/W的配合选择决定控制界面的4种模式:
RS
R/W
功能说明
L
L
MPU写指令到指令暂存器〔IR〕
L
H
读出忙标志〔BF〕及地址记数器〔AC〕的状态
H
L
MPU写入数据到数据暂存器〔DR〕
H
H
MPU从数据暂存器〔DR〕中读出数据
2、E信号
E状态
执行动作
结果
高——>低
I/O缓冲——>DR
配合/W进展写数据或指令
高
DR——>I/O缓冲
配合R进展读数据或指令
低/低——>高
无动作
● 忙标志:BF BF标志提供内部工作情况.BF=1表示模块在进展内部操作,此时模块不承受外部指令和数据.BF=0时,模块为准备状态,随时可承受外部指令和数据.利用STATUS RD 指令,可以将BF读到DB7总线,从而检验模块之工作状态.
● 字型产生ROM〔CGROM〕 字型产生ROM〔CGROM〕提供8192个此触发器是用于模块屏幕显示开和关的控制。DFF=1为开显示〔DISPLAY ON),DDRAM 的内容就显示在屏幕上,DFF=0为关显示〔DISPLAY OFF)。DFF 的状态是指令DISPLAY ON/OFF和RST信号控制的。
● 显示数据RAM〔DDRAM〕模块内部显示数据RAM提供64×2个位元组的空间,最多可控制4行16字〔64个字〕的中文字型显示,当写入显示数据RAM时,可分别显示CGROM与CGRAM的字型;此模块可显示三种字型,分别是半角英数字型(16*8)、CGRAM字型及CGROM的中文字型,三种字型的选择,由在DDRAM中写入的编码选择,在0000H—0006H的编码中〔其代码分别是0000、0002、0004、0006共4个〕将选择CGRAM的自定义字型,02H—7FH的编码中将选择半角英数字的字型,至于A1以上的编码将自动的结合下一个位元组,组成两个位元组的编码形成中文字型的编码BIG5〔A140—D75F〕,GB〔A1A0-F7FFH〕。
● 字型产生RAM(CGRAM) 字型产生RAM提供图象定义(造字)功能, 可以提供四组16×16点的自定义图象空间,使用者可以将内部字型没有提供的图象字型自行定义到CGRAM中,便可和CGROM中的定义一样地通过DDRAM显示在屏幕中。
● 地址计数器AC地址计数器是用来贮存DDRAM/CGRAM之一的地址,它可由设定指令暂存器来改变,之后只要读取或是写入DDRAM/CGRAM的值时,地址计数器的值就会自动加一,当RS为“0〞时而R/W为“1〞时,地址计数器的值会被读取到DB6——DB0中。
光标/闪烁控制电路
此模块提供硬体光标及闪烁控制电路,由地址计数器的值来指定DDRAM中的光标或闪烁位置。
LCD12864的写数据时序,如图2-4所示
图2-4 液晶写数据时序
LCD12864的读数据时序,如图2-5所示
图2-5 液晶读数据时序
LCD12864的指令集如表格所示
指令表1:〔RE=0:根本指令〕
指
指 令 码
功 能
令
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
去除
显示
0
0
0
0
0
0
0
0
0
1
将DDRAM填满"20H",并且设定DDRAM的地址计数器(AC)到"00H"
地址
归位
0
0
0
0
0
0
0
0
1
X
设定DDRAM的地址计数器(AC)到"00H",并且将游标移到开头原点位置;这个指令不改变DDRAM 的内容
显示状态开/关
0
0
0
0
0
0
1
D
C
B
D=1: 整体显示 ON
C=1: 游标ON
B=1:游标位置反白允许
进入点
设定
0
0
0
0
0
0
0
1
I/D
S
指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位
游标或显示移位控制
0
0
0
0
0
1
S/C
R/L
X
X
设定游标的移动与显示的移位控制位;这个指令不改变DDRAM 的内容
功能
设定
0
0
0
0
1
DL
X
RE
X
X
DL=0/1:4/8位数据
RE=1: 扩大指令操作
RE=0: 根本指令操作
设定CGRAM
地址
0
0
0
1
AC5
AC4
AC3
AC2
AC1
AC0
设定CGRAM 地址
设定DDRAM
地址
0
0
1
0
AC5
AC4
AC3
AC2
AC1
AC0
设定DDRAM 地址〔显示位址〕
第一行:80H-87H
第二行:90H-97H
读取忙标志和地址
0
1
BF
AC6
AC5
AC4
AC3
AC2
AC1
AC0
读取忙标志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值
写数据到RAM
1
0
数据
将数据D7——D0写入到内部的RAM (DDRAM/CGRAM/IRAM/GRAM)
读出RAM的值
1
1
数据
从内部RAM读取数据D7——D0
(DDRAM/CGRAM/IRAM/GRAM)
指令表2:〔RE=1:扩大指令〕
指
指 令 码
功 能
令
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
待命
模式
0
0
0
0
0
0
0
0
0
1
进入待命模式,执行其他指令都棵终止
待命模式
卷动地址开关开启
0
0
0
0
0
0
0
0
1
SR
SR=1:允许输入垂直卷动地址
SR=0:允许输入IRAM和CGRAM地址
反白
选择
0
0
0
0
0
0
0
1
R1
R0
选择2行中的任一行作反白显示,并可决定反白与否。初始值R1R0=00,第一次设定为反白显示,再次设定变回正常
睡眠
模式
0
0
0
0
0
0
1
SL
X
X
SL=0:进入睡眠模式
SL=1:脱离睡眠模式
扩大
功能
设定
0
0
0
0
1
CL
X
RE
G
0
CL=0/1:4/8位数据
RE=1: 扩大指令操作
RE=0: 根本指令操作
G=1/0:绘图开关
设定绘图RAM
地址
0
0
1
0
AC6
0
AC5
0
AC4
AC3
AC3
AC2
AC2
AC1
AC1
AC0
AC0
设定绘图RAM
先设定垂直(列)地址AC6AC5…AC0
再设定水平(行)地址AC3AC2AC1AC0
将以上16位地址连续写入即可
该系统的LCD12864液晶硬件电路的复位电路采用上电复位,比照度的调节采用精细电位器调节。液晶电路如图2-7所示。
图2-7 液晶电路
2.1.4温度采集电路
〔1〕 DS18B20介绍
Dallas最新单线数字温度传感器DS18B20简介新的“一线器件〞体积更小、适用电压更宽、更经济。Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线〞接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20、DS1822“一线总线〞数字化温度传感器同DS18B20一样,DS18B20也支持“一线总线〞接口,测量温度X围为 -55℃~+125℃,在-10℃~+85℃X围内,精度为±0.5℃。DS1822的精度较差为±2℃。现场温度直接以“一线总线〞的数字方式传输,大大提高了系统的抗干扰性。其DS18B20的管脚配置和封装构造如图2-8所示。
图2-8 DS18B20封装
引脚定义:
① DQ为数字信号输入/输出端;
② GND为电源地;
③ VDD为外接供电电源输入端〔在寄生电源接线方式时接地〕。
〔2〕DS18B20的单线〔1-wire bus〕系统
单线总线构造是DS18B20的突出特点,也是理解和编程的难点。从两个角度来理解单线总线:第一,单线总线只定义了一个信号线,而且DS18B20智能程度较低〔这点可以与微控制器和SPI器件间的通信做一个比拟〕,所以DS18B20和处理器之间的通信必然要通过严格的时序控制来完成。第二,DS18B20的输出口是漏级开路输出,这里给出一个微控制器和DS18B20连接原理图。这种设计使总线上的器件在适宜的时间驱动它。显然,总线上的器件与〔wired AND〕关系。这就决定:〔1〕微控制器不能单方面控制总线状态。之所以提出这点,是因为相当多的文献资料上认为,微控制器在读取总线上数据之前的I/O口的置1操作是为了给DS18B20一个发送数据的信号。这是一个错误的观点。如果当前DS18b20发送0,即使微控制器I/O口置1,总线状态还是0;置1操作是为了是I/O口截止〔cut off〕,以确保微控制器正确读取数据。〔2〕除了DS18B20发送0的时间段,其他时间其输出口自动截止。自动截止是为确保:1时,在总线操作的间隙总线处于空闲状态,即高态。2时,确保微控制器在写1的时候DS18B20可以正确读入。
由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S52单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。
① DS18B20的复位时序,如图2-9
图2-9 DS18B20的复位时序图
② DS18B20的读时序
对于DS18B20的读时序分为读0时序和读1时序两个过程。
对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。DS18B20的读时序图如图2-10所示。
图2-10 DS18B20的读时序
③ DS18B20的写时序
对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。
对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0〞电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。如图2-11所示。
图2-11 DS18B20的写时序图
〔3〕DS18B20的供电方式
在图2-12中示出了DS18B20的寄生电源电路。当DQ或VDD引脚为高电平时,这个电路便“取〞的电源。寄生电路的优点是双重的,远程温度控制监测无需本地电源,缺少正常电源条件下也可以读ROM。为了使DS18B20能完成准确的温度变换,当温度变换发生时,DQ线上必须提供足够的功率。
有两种方法确保 DS18B20 在其有效变换期内得到足够的电源电流。第一种方法是发生温度变换时,在 DQ 线上提供一强的上拉,这期间单总线上不能有其它的动作发生。如图2-8 所示,通过使用一个 MOSFET 把 DQ 线直接接到电源可实现这一点,这时DS18B20 工作在寄生电源工作方式,在该方式下 VDD 引脚必须连接到地。
图2-12 DS18B20供电方式1
另一种方法是 DS18B20 工作在外部电源工作方式,如图2-13 所示。这种方法的优点是在 DQ 线上不要求强的上拉,总线上主机不需要连接其它的外围器件便在温度变换期间使总线保持高电平,这样也允许在变换期间其它数据在单总线上传送。此外,在单总线上可以并联多个 DS18B20,而且如果它们全部采用外部电源工作方式,那么通过发出相应的命令便可以同时完成温度变换。
图2-13 DS18B20供电方式2
〔4〕DS18B20设计中应注意的几个问题
DS18B20具有测温系统简单、测温精度高、连接方便、占用接口线少等优点,但在实际应用中也应注意以下几方面的问题:较小的硬件开销需要相对复杂的软件进展补偿,由于DS18B20 与微处理器间采用
展开阅读全文