基于单片机的水温自动控制系统设计.docx

上传人:牧羊曲112 文档编号:3385048 上传时间:2023-03-12 格式:DOCX 页数:10 大小:39.61KB
返回 下载 相关 举报
基于单片机的水温自动控制系统设计.docx_第1页
第1页 / 共10页
基于单片机的水温自动控制系统设计.docx_第2页
第2页 / 共10页
基于单片机的水温自动控制系统设计.docx_第3页
第3页 / 共10页
基于单片机的水温自动控制系统设计.docx_第4页
第4页 / 共10页
基于单片机的水温自动控制系统设计.docx_第5页
第5页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《基于单片机的水温自动控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的水温自动控制系统设计.docx(10页珍藏版)》请在三一办公上搜索。

1、基于单片机的水温自动控制系统设计基于单片机的水温自动控制系统设计 一、 题目要求及分析 要求设计一个水温控制系统,能正常控制和测量温度范围,用AT89C51控制DS18B20,读取数据对DS18B20转换后的数据进行处理,转换成实际温度,使用6位数码管显示DS18B20测出的温度。 二、 系统总体方案 1、 温度传感器选择 采用DS18B20单线数字温度传感器做温度检测器。DS18B20能够直接将所采集的信号进行模|数转换 2、 LED显示方案 系统需要采用6位LED数码管显示,LED显示有动态显示和静态显示。本次采用动态显示,增加74LS245芯片最为LED数码管的驱动,采用共阴极的LED,

2、其中单片机的P1口为LED的段码输出口,P3.0P3.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

3、位中的低三位和低8为中的高4位构成温度的整数部分。低8位中的低4位为温度的小数部分。 数码管LED 单片机外部时钟电路 单片机复位电路 四、 软件设计 1、主程序 开始初始化、设置常量调DS18S20初始化子程序读取转换温度值调数据处理子程序生成显示码显示温度值2、DS18B20复位子程序 DQ置1DQ置0延时DQ置1短延时,等待DS18B20回应DQ=1?YFLAG1置1N延时FLAG1置0DQ置1返回3、DS18B20读温度子程序 设R1=31H设R4=2(2字节)设R2=8进位标志位清零加DQ提供一个低脉冲将DQ值读入CACC带进位右移一位N以读8位Y将ACC中的值读入QB1R1=R1-

4、1N读完2字节Y返回4、DS18B20数据处理子程序 C清零符号位STGH清零将转换数据高字节最高位移入CC=1?YC清零SIGH置1,表示负数将转换数据低字节逐位取反再加1转换数据高字节加进位C分离整数与小数,整数存入INTEG,小数存入DECIM返回五、程序 编写、汇编源程序 ;变量定义 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

5、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 SETB NOP NOP NOP MOV TSR2: JNB DJNZ LJMP TSR3: SETB LJMP TSR4 : CL

6、R LJMP TSR5: MOV DJNZ TSR6: SETB RET ;读出转换后的温度值 GET-TEMPER: SETB LCALL JB RET TSS2: MOV LCALL MOV LCALL LCALL LCALL MOV LCALL MOV LCALL LCALL RET ;写DS18B20的子程序 R1,TSR1 DQ R0,#25H DQ,TSR3 R0,TSR2 TSR4 FLAG1 TSR5 FLAG1 TSR6 R0,#117 R0,$ DQ DQ INIT-1820 FLAG1,TSS2 A,#0CCH WRITE-1820 A, #44H WRITE-1820

7、DELAY INIT-1820 A,#0CCH WRITE-1820 A,#0BEH WRITE-1820 READ-1820 WRITE-1820: MOV R2,#8 CLR C WR1: CLR DQ MOV R3,#6 DJNZ R3,$ RRC A MOV DQ,C MOV R3,#23 DJNZ R3,$ SETB NOP DJNZ SETB RET ;读DS18B20的程序 READ-18200: MOV MOV RE00: MOV RE01: CLR SETB NOP NOP CLR NOP NOP NOP SETB MOV RE10: DJNZ MOV MOV DJNZ RR

8、C DJNZ MOV DEC DJNZ RET ;数据处理子程序 DATA-PROC: CLR CLR MOV RLC JC DQ R2,WR1 DQ R4,#2 R1,#31H R,#8 C DQ DQ DQ R3,#9 R3,RE10 C,DQ R3,#23 R3,$ A R2,RE01 R1,A R1 R4,RE00 C SIGN A,MSB A NEG LJMP PROC NEG: CLR C SETB SIGN MOV A,LSB CPL A ADD A,#1 MOV LSB,A MOV A,MSB CPL A ADDC MOV PROC: MOV ANL MOV MOV SWAP

9、ANL MOV MOV SWAP ANL MOV ORL MOV RET ;生成显示码子程序 SEG-GEN: MOV JB MOV SJMP S-NEG: MOV S-INT MOV MOV DIV MOVC MOV MOV MOV DIV MOVC MOV MOV MOVC ORL A,#0 MSB,A A,LSB A,#0FH DECIM,A A,MSB A A,#0F0H INTEG,A A,LSB A A,#0FH R0,INTEG A,R0 INTEG,A DPTR,#TABLE SIGN,S-NEG SEG-S,#00H S-INT SEG-S,#40H A,INTEG B,#1

10、00 AB A,A+DPTR SEG-I3,A A,B B,#10 AB A,A+DPTR SEG-I2,A A,B A,A+DPTR A,#80H MOV SEG-I1,A MOV DPTR,#FLOAT-TAB MOV A,DECIM MOVC A,A+DPTR MOV DPTR,#TABLE MOVC A,A+DPTR MOV SEG-D1,A MOV SEG-C,#39H RET ;显示子程序 DISPLAY: MOV CLR MOV LCALL SETB CLR MOV CALL SETB CLR MOV LCALL SETB CLR MOV LCALL SETB CLE MOV L

11、CALL SETB CLR MOV LCALL SETB RET ;延时子程序,延时5秒 DELAY: MOV D1: MOV DJNZ DJNZ RET ; TABLE: DB P3,#0FFH P3.0 P1,SEG-S DELAY P3.0 P3.1 P1,SEG-I3 DELAY P3.1 P3.2 P1,SEG-I2 DELAY P3.2 P3.3 P1,SEG-I1 DELAY P3.3 P3.4 P1,SEG-D1 DELAY P3.4 P3.5 P1,SEG-C DELAY P3.5 R5,#5 R6,#248 R6,$ R5,D1 3FH,06H,5BH,4FH,66H DB

12、 6DH,7DH,07H,7FH,6FH FLOAT-TAB DB00,01,01,02,03,03,04,04,05,06,06,07,08,08, DB09,09 END 程序仿真 1、 先在protues仿真软件中搭建硬件电路; 2、 根据设计思想和硬件电路在keil2中编写程序代码调试通过并生成.axm文件; 3、 双击protues仿真电路中的单片机,将.axm文件添加到单片机中,然后运行观察结 果。 结果分析 能够从温度传感器中获得温度数据,程序能正常执行,测得结果有一定的误差,总之,效果还行。 六、 心的体会 本设计以单片机为核心部件的控制系统,利用软件编程,最终实现设计要求。 这次课程设计历时两个星期,从一开始的确定课题,理论学习,到后来的资料查找, 再到调试仿真,这一切都使我的理论知识和动手能力进一步提高。 在本次课程设计中,遇到了很多困难,如查找元器件,写程序,调试仿真,但通过仔细分析以及查找资料后解决了问题,提高了自己解决问题的能力。在这个过程中我感受颇多,它不仅是一个对我这学期知识学习情况和我的应用动手能力的检验,而且还是我面对困难的心态,做事的毅力和耐心的考验,同时让我深刻感受到了做课程设计意义的所在,在整个过程中受到了同学的帮助,在此表示感谢!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号