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

上传人:1777****777 文档编号:39774386 上传时间:2021-11-12 格式:DOC 页数:12 大小:168.50KB
返回 下载 相关 举报
基于单片机的水温自动控制系统设计_第1页
第1页 / 共12页
基于单片机的水温自动控制系统设计_第2页
第2页 / 共12页
基于单片机的水温自动控制系统设计_第3页
第3页 / 共12页
点击查看更多>>
资源描述
基于单片机的水温自动控制系统设计一、 题目要求及分析 要求设计一个水温控制系统,能正常控制和测量温度范围,用AT89C51控制DS18B20,读取数据对DS18B20转换后的数据进行处理,转换成实际温度,使用6位数码管显示DS18B20测出的温度。二、 系统总体方案1、 温度传感器选择采用DS18B20单线数字温度传感器做温度检测器。DS18B20能够直接将所采集的信号进行模|数转换2、 LED显示方案系统需要采用6位LED数码管显示,LED显示有动态显示和静态显示。本次采用动态显示,增加74LS245芯片最为LED数码管的驱动,采用共阴极的LED,其中单片机的P1口为LED的段码输出口,P3.0P3.5分别是LED的位码输出口三、 硬件电路组成部分(1) 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位为温度的小数部分。(2) 数码管LED(3) 单片机外部时钟电路(4) 单片机复位电路 四、 软件设计1、主程序 2、DS18B20复位子程序Y3、DS18B20读温度子程序4、DS18B20数据处理子程序五、程序(一)编写、汇编源程序;变量定义DQ BIT P2.4 ;DS18B20数据位FLAG1 BIT 00H SIGN BIT 01H MSB EQU 30HLSB EQU 31HINTEG EQU 32HDECIM EQU 33HSEG-S EQU 34HSEG-I3 EQU 35HSEGI2 EQU 36HSEG-I1 EQU 37HSEG-D1 EQU 38HSEG-C EQU 39H;主程序 ORG 0000HMAIN 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,#3TSR1: MOV R0,#107 DJNZ R0,$ DJNZ R1,TSR1 SETB DQ NOP NOP NOP MOV R0,#25HTSR2: JNB DQ,TSR3 DJNZ R0,TSR2 LJMP TSR4TSR3: SETB FLAG1 LJMP TSR5TSR4 : CLR FLAG1 LJMP TSR6TSR5: MOV R0,#117 DJNZ R0,$TSR6: SETB DQ RET;读出转换后的温度值GET-TEMPER: SETB DQ LCALL INIT-1820 JB FLAG1,TSS2 RETTSS2: MOV A,#0CCH LCALL WRITE-1820 MOV A, #44H LCALL WRITE-1820 LCALL DELAY LCALL INIT-1820 MOV A,#0CCH LCALL WRITE-1820 MOV A,#0BEH LCALL WRITE-1820 LCALL READ-1820 RET;写DS18B20的子程序WRITE-1820: MOV R2,#8 CLR CWR1: CLR DQ MOV R3,#6 DJNZ R3,$ RRC A MOV DQ,C MOV R3,#23 DJNZ R3,$ SETB DQ NOP DJNZ R2,WR1 SETB DQ RET;读DS18B20的程序READ-18200: MOV R4,#2 MOV R1,#31HRE00: MOV R,#8RE01: CLR C SETB DQ NOP NOP CLR DQ NOP NOP NOP SETB DQ MOV R3,#9RE10: DJNZ R3,RE10 MOV C,DQ MOV R3,#23 DJNZ R3,$ RRC A DJNZ R2,RE01 MOV R1,A DEC R1 DJNZ R4,RE00 RET;数据处理子程序DATA-PROC: CLR C CLR SIGN MOV A,MSB RLC A JC NEG LJMP PROCNEG: CLR C SETB SIGN MOV A,LSB CPL A ADD A,#1 MOV LSB,A MOV A,MSB CPL A ADDC A,#0 MOV MSB,APROC: MOV A,LSB ANL A,#0FH MOV DECIM,A MOV A,MSB SWAP A ANL A,#0F0H MOV INTEG,A MOV A,LSB SWAP A ANL A,#0FH MOV R0,INTEG ORL A,R0 MOV INTEG,A RET;生成显示码子程序SEG-GEN: MOV DPTR,#TABLE JB SIGN,S-NEG MOV SEG-S,#00H SJMP S-INTS-NEG: MOV SEG-S,#40HS-INT MOV A,INTEG MOV B,#100 DIV AB MOVC A,A+DPTR MOV SEG-I3,A MOV A,B MOV B,#10 DIV AB MOVC A,A+DPTR MOV SEG-I2,A MOV A,B MOVC A,A+DPTR ORL 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 P3,#0FFH CLR P3.0 MOV P1,SEG-S LCALL DELAY SETB P3.0 CLR P3.1 MOV P1,SEG-I3 CALL DELAY SETB P3.1 CLR P3.2 MOV P1,SEG-I2 LCALL DELAY SETB P3.2 CLR P3.3 MOV P1,SEG-I1 LCALL DELAY SETB P3.3 CLE P3.4 MOV P1,SEG-D1 LCALL DELAY SETB P3.4 CLR P3.5 MOV P1,SEG-C LCALL DELAY SETB P3.5 RET;延时子程序,延时5秒DELAY: MOV R5,#5D1: MOV R6,#248 DJNZ R6,$ DJNZ R5,D1 RET;TABLE: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FHFLOAT-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文件添加到单片机中,然后运行观察结果。(三)结果分析能够从温度传感器中获得温度数据,程序能正常执行,测得结果有一定的误差,总之,效果还行。六、 心的体会本设计以单片机为核心部件的控制系统,利用软件编程,最终实现设计要求。 这次课程设计历时两个星期,从一开始的确定课题,理论学习,到后来的资料查找,再到调试仿真,这一切都使我的理论知识和动手能力进一步提高。 在本次课程设计中,遇到了很多困难,如查找元器件,写程序,调试仿真,但通过仔细分析以及查找资料后解决了问题,提高了自己解决问题的能力。在这个过程中我感受颇多,它不仅是一个对我这学期知识学习情况和我的应用动手能力的检验,而且还是我面对困难的心态,做事的毅力和耐心的考验,同时让我深刻感受到了做课程设计意义的所在,在整个过程中受到了同学的帮助,在此表示感谢!
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 任务书类


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!