ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:636.96KB ,
资源ID:10844061      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10844061.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于DS18B20的水温控制系统 课程设计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于DS18B20的水温控制系统 课程设计.docx

1、基于DS18B20的水温控制系统 课程设计 成绩: 分 电气信息学院 课程大作业说明书课程设计名称: 实用型工程软件的应用 题 目: 基于DS18B20 的水温控制系统 学生姓名: 专 业: 测控技术与仪器 班 级: 2010级 学 号: 教 师: 日期:2013 年 6 月 3日 一、 设计任务及要求1. 设计题目基于DS18B20的水温控制系统。2. 设计要求与目的利用单片机AT89C51控制DS18B20温度传感器对谁问的控制;通过水温控制系统的设计要掌握好对Proteus仿真设计的熟练运用;通过水温控制系统的设计要熟练掌握单片机的各个功能,并且能对单片机有一总体的的把握,再设计的过程中

2、能够凭借对单片机各功能的了解,达到理想的设计效果;本例使用了温度传感器DS18B20和74HC245,通过对单片机的学习能够对它们触类旁通。3. 设计任务设计系统硬件设计系统软件编写设计说明书二、 设计背景简介在生活中,无论是冬天还是夏天我们都离不开热水。把水烧开很容易,但是要把水温控制在一定的温度而且进行自动控制就不是那么随便。所以为了更高效和方便人们的需求。本设计就专门利用单片机和DS18B20温度传感器来实现了一个水温自动控制系统,希望通过本设计能够对未来的趋势有所把握,从而适应社会需要。三、 电路设计 本设计以AT89C51单片机为核心的温度控制系统的工作原理和设计方法。温度信号由温度

3、芯片DS18B20采集,并以数字信号的方式传送给单片机,再由单片机将信号通过数码管显示出来。当水温低于预设温度值时系统开始加热(点亮红色发光二极管表示加热状态),当温度达到预设温度值时自动停止加热。预设温度值和实测温度值分别由两个三位数码管显示,范围为099。1.74HC245芯片相关知识(1)原理说明 总线收发器(bus transceiver),典型的CMOS型三态缓冲门电路。由于单片机或CPU的数据/地址/控制总线端口都有一定的负载能力,如果负载超过其负载能力,一般应加驱动器。另外,也可以使用74HC244等其他缓冲门电路。74HC244是单向,74HC245是双向。(2)引脚定义 74

4、HC245的引脚功能如图3-1所示。图3-1 74HC245的引脚图第1脚DIR,为输入输出端口转换用,DIR=“1”高电平时信号由“A”端输入“B”端输出,DIR=“0”低电平时信号由“B”端输入“A”端输出。第29脚“A”信号输入输出端,A0=B0,A7=B7,A0与B0是一组,如果DIR=“1”OE=“0”则A1输入B1输出,其它类同。如果DIR=“0”OE=“0”则B1输入A1输出,其它类同。第1118脚“B”信号输入输出端,功能与“A”端一样,不再描述。第19脚OE,使能端,若该脚为“1”A/B端的信号将不导通,只有为“0”时A/B端才被启用,该脚也就是起到开关的作用。第10脚GND

5、,电源地。第20脚VCC,电源正极。 表3-1 TRUTH TABLE真值表Control Inputs控制输入Operation 运行GDIRLLB 数据到A 总线LHA 数据到B 总线HX隔开H=高电平 L=低电平 =不定 2.DS18B20芯片相关知识(1)DS18B20简介 DS18B20是由美国DALLAS公司生产的单线数字温度传感器芯片。与传统的热敏电阻有所不同,DS18B20可直接将被测温度转化为串行数字信号,以供单片机处理,它还具有微型化、低功率、高性能、抗干扰能力强等优点。通过编程,DS18B20可以实现912位的温度读数。信息经过单线接口送入DS18B20或从DS18B20

6、送出,因此从微处理器到DS18B20仅需连接一条信号线和地线。读、写和执行温度变换所需的电源可以由数据线本身提供,而不需要外部电源。(2)DS18B20的引脚功能 DS18B20的引脚(图3-2),其功能如表3-2所示。图3-2 DS18B20的引脚表3-2 DS18B20的引脚说明(3)DS18B20的主要特点采用单线技术,与单片机通信只需一个引脚;通过识别芯片各自唯一的产品序列号从而实现单线多挂接,简化了分布式温度检测的应用;实际应用中不需要外部任何器件即可实现测温;可通过数据线供电,电压的范围在35.5V;不需要备份电源;测量范围为-55+125,在-10+85范围内误差为0.5;数字温

7、度计的分辨率用户可以在9位到12位之间选择,可配置实现912位的温度读数;将12位的温度值转换为数字量所需时间不超过750ms;用户定义的,非易失性的温度告警设置,用用户可以自行设定告警的上下限温度。(4)DS18B20的ROM及控制指令 DS18B20的64位ROM的结构如表3-3所示。开始8位是DS18B20的产品类型编号10H,接着是每一个器件的唯一的序号,共有48位,最后8位是前56位的CRC校验码,也是多个DS18B20可以用一根线进行通信的原因。表3-3 DS18B20的64位ROM结构表主机操作ROM的命令有五种如表3-4所示。表3-4 DS18B20控制指令DS18B20的高速

8、暂存器由便笺式RAM和非易失性电擦写EERAM组成,后者用于存储TH、TL值。数据先写入便笺式RAM,经校验后再传给EERAM。便笺式RAM占9个字节,包括温度信息(0、1字节)、TH和TL值(2、3字节)、配置寄存器数据(4字节)、CRC(8字节)等,5、6、7字节不用。暂存器的4字节是配置寄存器,可以通过相应的写命令进行配置,其内容如表3-5所示。表3-5 暂存器的配置方式MSB LSB其中,R0与R1是温度值分辨率位,配置方式如表3-6所示。 表3-6 DS18B20温度值分辨率位配置方式 DS18B20的核心功能部件是它的数字温度传感器,如上所述,它的分辨率可配置为9位、10位、11位

9、或者12位,出厂默认设置是12位分辨率,它们对应的温度分辨率分别是0.5、0.25、0.125、0.0625。温度信息的低位、高位字节内容中还包括了符号位S(是正温度还是负温度)和二进制小数部分,具体形式如表3-7所示。表3-7 温度信息的低位、高位字节内容形式这是12位分辨率的情况,如果配置为低的分辨率,则其中无意义位为0;实测温度和数字输出的对应关系如表3-8所示。表3-8 DS18B20实测温度和数字输出的对应关系 DS18B20的存储控制命令如表3-9所示。表3-9 DS18B20存储控制命令四、 系统硬件设计1. DS18B20温度测量电路根据DS18B20的引脚功能说明,我们可以很

10、快地把VCC接一个5V的电源,而GND接地。由于DS18B20采用了单总线技术,我们只要把DQ与单片机的一个I/O口相连接就可以了,如图3-3所示。图3-3 DS18B20温度测量电路2. 显示电路结果显示是由两个三位数码管来显示099范围的温度值,一个是实测水温值;一个是预设水温值,它们都由74HC245来驱动利用单片机的串口发送或者模拟串口发送把数据发送给74HC164来驱动数码管显示数据。五、 系统软件设计TMPL EQU 29HTMPH EQU 28HFLAG1 EQU 38HDATAIN BIT P3.7 ORG 00H LJMP MAIN1 ORG 03H LJMP ZINT0 O

11、RG 13H LJMP ZINT1 ORG 30HMAIN1: SETB IT0 SETB EA SETB EX0 SETB IT1 SETB EX1 SETB P3.6 SETB P3.2 MOV 74H,#0 MOV 75H,#0 MOV 76H,#9 MOV 77H,#0MAIN: LCALL GET_TEMPER LCALL CVTTMP LCALL DISP1 AJMP MAININIT_1820: SETB DATAIN NOP CLR DATAIN MOV R1,#3TSR1: MOV R0,#107 DJNZ R0,$ DJNZ R1,TSR1 SETB DATAIN NOP

12、NOP NOP MOV R0,#25HTSR2: JNB DATAIN,TSR3 DJNZ R0,TSR2 CLR FLAG1 SJMP TSR7TSR3: SETB FLAG1 CLR P1.7 MOV R0,#117TSR6: DJNZ R0,$TSR7: SETB DATAIN RET GET_TEMPER: SETB DATAIN LCALL INIT_1820 JB FLAG1,TSS2 NOP RETTSS2: MOV A,#0CCH LCALL WRITE_1820 MOV A,#44H LCALL WRITE_1820 ACALL DISP1 LCALL INIT_1820 M

13、OV A,#0CCH LCALL WRITE_1820 MOV A,#0BEH LCALL WRITE_1820 LCALL READ_1820 RETWRITE_1820: MOV R2,#8 CLR CWR1: CLR DATAIN MOV R3,#6 DJNZ R3,$ RRC A MOV DATAIN,C MOV R3,#23 DJNZ R3,$ SETB DATAIN NOP DJNZ R2,WR1 SETB DATAIN RETREAD_1820: MOV R4,#2 MOV R1,#29HRE00: MOV R2,#8RE01: CLR C SETB DATAIN NOP NOP

14、 CLR DATAIN NOP NOP NOP SETB DATAIN MOV R3,#9RE10: DJNZ R3,RE10 MOV C,DATAIN MOV R3,#23RE20: DJNZ R3,RE20 RRC A DJNZ R2,RE01 MOV R1,A DEC R1 DJNZ R4,RE00 RETCVTTMP: MOV A,TMPH ANL A,#80H JZ TMPC1 CLR C MOV A,TMPL CPL A ADD A,#1 MOV TMPL,A MOV A,TMPH CPL A ADDC A,#0 MOV TMPH,A MOV 73H,#0BH SJMP TMPC1

15、1TMPC1: MOV 73H,#0AHTMPC11: MOV A,TMPL ANL A,#0FH MOV DPTR,#TMPTAB MOVC A,A+DPTR MOV 70H,A MOV A,TMPL ANL A,#0F0H SWAP A MOV TMPL,A MOV A,TMPH ANL A,#0FH SWAP A ORL A,TMPLH2BCD: MOV B,#100 DIV AB JZ B2BCD1 MOV 73H,AB2BCD1: MOV A,#10 XCH A,B DIV AB MOV 72H,A MOV 71H,BTMPC12: NOPDISBCD: MOV A,73H ANL

16、A,#0FH CJNE A,#1,DISBCD0 SJMP DISBCD1DISBCD0: MOV A,72H ANL A,#0FH JNZ DISBCD1 MOV A,73H MOV 72H,A MOV 73H,#0AHDISBCD1: RETTMPTAB: DB 0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9DISP1: MOV R1,#70H MOV R0,#74H MOV R5,#0FEHPLAY: MOV P1,#0FFH MOV A,R5 MOV P2,A MOV A,R1 MOV DPTR,#TAB MOVC A,A+DPTR MOV P1,A MOV A,R0

17、MOVC A,A+DPTR MOV P0,A MOV A,R5 JB ACC.1,LOOP1 CLR P1.7 CLR P0.7LOOP1: LCALL DL1MS INC R1 INC R0 MOV A,R5 JNB ACC.3,ENDOUT RL A MOV R5,A MOV A,73H CJNE A,#1,DD2 SJMP LEDHDD2: MOV A,72H CJNE A,#0AH,DD3 MOV 72H,#0DD3: MOV A,76H CJNE A,72H,DDH SJMP DDLDDH: JNC PLAY1 SJMP LEDHDDL: MOV A,75H CJNE A,71H,D

18、DL1 SJMP LEDHDDL1: JNC PLAY1LEDH: CLR P3.6 SJMP PLAYPLAY1: SETB P3.6 SJMP PLAYENDOUT: MOV P1,#0FFH MOV P2,#0FFH RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H,0FFH,0BFH DL1MS: MOV R6,#50DL1: MOV R7,#100 DJNZ R7,$ DJNZ R6,DL1 RETZINT0: PUSH ACC INC 75H MOV A,75H CJNE A,#10,ZINT01 MOV 75H,

19、#0ZINT01: POP ACC RETIZINT1: PUSH ACC INC 76H MOV A,76H CJNE A,#10,ZINT11 MOV 76H,#0ZINT11: POP ACC RETIZZZ1: MOV DPTR,#TAB MOVC A,A+DPTR MOV P0,A RETI END 六、 系统仿真参照5.3.3节建立程序文件,加载目标代码文件,进入调试环境,执行程序,在Proteus ISIS界面中,分别调节十位设置按键和个位设置按键来预设水温,当DS18B20的温度低于预设温度值时,红色发光二极管点亮表示进入热状态(如图6-1所示);调节DS18B20元件上的按钮可人工模拟实际水温的升高和下降。可以看到,当实测温度达到预设温度后,红色发光二极管便自动熄灭,表示停止加热。如图6-2所示。图6-1 加热状态时的仿真图图6-2 加热到预期温度时的仿真图

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1