- 7
- 0
- 约1.24万字
- 约 12页
- 2016-10-14 发布于贵州
- 举报
基于单片机的水自动控制系统设计
基于单片机的水温自动控制系统设计
题目要求及分析
要求设计一个水温控制系统,能正常控制和测量温度范围,用AT89C51控制DS18B20,读取数据对DS18B20转换后的数据进行处理,转换成实际温度,使用6位数码管显示DS18B20测出的温度。
系统总体方案
温度传感器选择
采用DS18B20单线数字温度传感器做温度检测器。DS18B20能够直接将所采集的信号进行模|数转换
LED显示方案
系统需要采用6位LED数码管显示,LED显示有动态显示和静态显示。本次采用动态显示,增加74LS245芯片最为LED数码管的驱动,采用共阴极的LED,其中单片机的P1口为LED的段码输出口,P3.0~P3.5分别是LED的位码输出口
硬件电路组成部分
DS18B20温度采集电路
DS18B20有3个引脚,GND接地信号、DQ数据输入\输出引脚、VDD外接供电电源输入端。如图示:
DS18B20温度值格式表,如下图所示。这是12位转换后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得温度大于0,这5位为0,只要将测得得数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1测得的数值需要取反加1再乘0.0625即可得到实际温度。
高8为中的高五位是符号位,表示温度是零上还是零下。高8位中的低三位和低8为中的高4位构成温度的整数部分。低8位中的低4位为温度的小数部分。
数码管LED
单片机外部时钟电路
单片机复位电路
软件设计
1、主程序
2、DS18B20复位子程序
3、DS18B20读温度子程序
4、DS18B20数据处理子程序
五、程序
(一)编写、汇编源程序
;变量定义
DQ BIT P2.4 ;DS18B20数据位
FLAG1 BIT 00H
SIGN BIT 01H
MSB EQU 30H
LSB EQU 31H
INTEG EQU 32H
DECIM EQU 33H
SEG-S EQU 34H
SEG-I3 EQU 35H
SEGI2 EQU 36H
SEG-I1 EQU 37H
SEG-D1 EQU 38H
SEG-C EQU 39H
;主程序
ORG 0000H
MAIN LCALL INIT-1820
LCALL GET-TEMPER
LCALL DATA-PPOC
LCALL SEG-GEN
LCALL DISPLAY
SJMP MAIN
;DS18B20复位初始化子程序
INIT-1820: SETB DQ
NOP
CLR DQ
MOV R1,#3
TSR1: MOV R0,#107
DJNZ R0,$
DJNZ R1,TSR1
SETB DQ
NOP
NOP
NOP
MOV R0,#25H
TSR2: JNB DQ,TSR3
DJNZ R0,TSR2
LJMP TSR4
TSR3: SETB FLAG1
原创力文档

文档评论(0)