版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实训五实训五 ds18b20ds18b20 温度检测控制实训温度检测控制实训 一、实训目的一、实训目的 1.温度传感器电路的工作原理。 2.了解温度控制的基本原理。 3.掌握一线总线接口的使用。 二、实训说明二、实训说明 1.dallas 最新单线数字温度传感器 ds18b20 简介 dallas 半导体公司的数字化温度传感器 ds1820 是世界上第一片支持 “一线总线”接口 的温度传感器。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。 适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。 与前一代产品不同,新的产品支持 3v5.5v 的电
2、压范围,使系统设计更灵活、方便。 ds18b20 测量温度范围为 -55c+125c,在-10+85c 范围内,精度为0.5 c。ds18b20 可以程序设定 912 位的分辨率,及用户设定的报警温度存储在 eeprom 中,掉电 后依然保存。 ds18b20 内部结构 ds18b20 内部结构主要由四部分组成:64 位光刻 rom、温度传感器、非挥发的 温度报警触发器 th 和 tl、配置寄存器。ds18b20 的管脚排列如下: dq 为数字信号输入/输出端;gnd 为电源地;vdd 为外接供电电源输入端(在 寄生电源接线方式时接地) 。 光刻 rom 中的 64 位序列号是出厂前被光刻好的
3、,它可以看作是该 ds18b20 的 地址序列码。64 位光刻 rom 的排列是:开始 8 位(28h)是产品类型标号,接着的 48 位是该 ds18b20 自身的序列号,最后 8 位是前面 56 位的循环冗余校训码 (crc=x8+x5+x4+1) 。光刻 rom 的作用是使每一个 ds18b20 都各不相同,这样就可 以实现一根总线上挂接多个 ds18b20 的目的。 ds18b20 中的温度传感器可完成对温度的测量,以 12 位转化为例:用 16 位符 号扩展的二进制补码读数形式提供,以 0.0625/lsb 形式表达,其中 s 为符号位。 ls byte: bit7bit6bit5bi
4、t4bit3bit2bit1bit0 232221202-12-22-32-4 ms byte: bit15bit14bit13bit12bit11bit10bit9bit8 sssss262524 这是 12 位转化后得到的 12 位数据,存储在 18b20 的两个 8 比特的 ram 中,二进制中的前 面 5 位是符号位,如果测得的温度大于 0,这 5 位为 0,只要将测到的数值乘于 0.0625 即可得 到实际温度;如果温度小于 0,这 5 位为 1,测到的数值需要取反加 1 再乘于 0.0625 即可得到 实际温度。 例如+125的数字输出为 07d0h,+25.0625的数字输出为
5、0191h,-25.0625的数字输 出为 ff6fh,-55的数字输出为 fc90h。 温度数据输出(二进制) 数据输出(十六进制) +1250000 0111 1101 000007d0h +850000 0101 0101 00000550h +25.06250000 0001 1001 00010191h +10.1250000 0000 1010 001000a2h +0.50000 0000 0000 10000008h 00000 0000 0000 00000000h -0.51111 1111 1111 1000fff8h -10.1251111 1111 0101 1110
6、ff5eh -25.06251111 1110 0110 1111fe6fh -551111 1100 1001 0000fc90h ds18b20 温度传感器的存储器 ds18b20 温度传感器的内部存储器包括一个高速暂存 ram 和一个非易失性的可电擦除的 e2ram,后者存放高温度和低温度触发器 th、tl 和结构寄存器。 暂存存储器包含了 8 个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温 度的低八位,第二个字节是温度的高八位。第三个和第四个字节是 th、tl 的易失性拷贝,第 五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。第六、 七、八个字
7、节用于内部计算。第九个字节是冗余检验字节。 该字节各位的意义如下: tmr1r011111 低五位一直都是 1 ,tm 是测试模式位,用于设置 ds18b20 在工作模式还是在测试模式。 在 ds18b20 出厂时该位被设置为 0,用户不要去改动。r1 和 r0 用来设置分辨率,如下表所示: (ds18b20 出厂时被设置为 12 位) 分辨率设置表: r1r0分辨率温度最大转换时间 009 位93.75ms 0110 位187.5ms 1011 位375ms 1112 位750ms 根据 ds18b20 的通讯协议,主机控制 ds18b20 完成温度转换必须经过三个步骤:每一次读 写之前都要
8、对 ds18b20 进行复位,复位成功后发送一条 rom 指令,最后发送 ram 指令,这样才 能对 ds18b20 进行预定的操作。复位要求主 cpu 将数据线下拉 500 微秒,然后释放,ds18b20 收到信号后等待 1660 微秒左右,后发出 60240 微秒的存在低脉冲,主 cpu 收到此信号表 示复位成功。 2、本实训在读取温度的基础上,完成类似空调恒温控制的实训。用加热电阻代替加热电 机,制冷采用自然冷却。温度值通过 led 静态显示电路以十进制形式显示出来,制冷采用自然 冷却。 三、实训步骤三、实训步骤 1.用二号导线分别连接单片机最小应用系统的 p1.4、p2.0 到 ds1
9、8b20 模块的 t-con、 out,连接 rxd(p3.0)、txd(p3.1)到串行静态数码显示模块的 din、clk 端。 2.将 89s52 芯片插到单片机最小应用系统模块的 40p 锁紧插座中,请注意芯片的方向:缺请注意芯片的方向:缺 口朝上。口朝上。用二号导线连接单片机最小应用系统模块的 ea/vp 端到电源模块的+5v。 3.接好 ac 220v 电源,打开相关模块的电源开关, 用 isp 下载器将“th19_ds18b20.hex” 文件下载到 89s52 芯片中运行(ispisp 下载器的使用查看附录二)下载器的使用查看附录二) 。 4.实训现象: 串行静态数码显示模块显示
10、“xx”为十进制温度测量值, “xx”为十进制温 度设定值,当加热到设定的控制温度时如 40 度时,停止加热。 四、实训电路图四、实训电路图 本实训需要用到单片机最小应用系统模块(c 区),ds18b20 模块(a4 区), 串行静态数 码显示模块(a2 区)。单片机最小应用系统电路原理参考附录三, 串行静态数码显示电路原理 参考实训十图 10.1,ds18b20 温度控制接口电路原理参考图 19.1。 r6a4 75/2w gnd 1 dq 2 vcc 3 q3a4 ds18b20 p2a4 out 1 23 q2a4 tip122 +12v_a4 p1a4 t-con led1a4 hea
11、ton q1a4 9013 vcc_a4 r2a4 1k r1a4 10k r4a4 470 r5a4 510 r3a4 2.4k gnd vcc_a4 12 34 56 j1a4 vcc vcc_a4+12v_a4 +12vvcc led2a4 vcc r7a4 510 vcc_a4 图 19.1 ds18b20 温度控制接口电路 五、实训源程序五、实训源程序 temper_l equ 29h ;用于保存读出温度的低 8 位 temper_h equ 28h ;用于保存读出温度的高 8 位 flag1 equ 38h ;是否检测到 ds18b20 标志位 a_bit equ 20h ;数码管
12、个位数存放内存位置 b_bit equ 21h ;数码管十位数存放内存位置 ledbuf equ 30h temp equ 55h din bit p1.0 clk bit p1.1 org 0000h ljmp start org 0100h start: setb p1.4 main: lcall get_temper ;调用读温度子程序 mov a,29h mov c,40h ;将 28h 中的最低位移入 c rrc a mov c,41h rrc a mov c,42h rrc a mov c,43h rrc a mov 29h,a lcall displayresult lcall
13、displayled ;调用数码管显示子程序 lcall delay1 ajmp main init_1820: ;这是 ds18b20 复位初始化子程序 setb p2.0 nop clr p2.0 mov r1,#3 ;主机发出延时 537 微秒的复位低脉冲 tsr1: mov r0,#107 djnz r0,$ djnz r1,tsr1 setb p2.0 ;然后拉高数据线 nop nop nop mov r0,#25h tsr2: jnb p2.0,tsr3 ;等待 ds18b20 回应 djnz r0,tsr2 ljmp tsr4 ; 延时 tsr3: setb flag1 ; 置标
14、志位,表示 ds1820 存在 ljmp tsr5 tsr4: clr flag1 ; 清标志位,表示 ds1820 不存在 ljmp tsr7 tsr5: mov r0,#117 tsr6: djnz r0,tsr6 ; 时序要求延时一段时间 tsr7: setb p2.0 ret get_temper: ; 读出转换后的温度值 setb p2.0 lcall init_1820 ;先复位 ds18b20 jb flag1,tss2 ret ; 判断 ds1820 是否存在?若 ds18b20 不存在则返回 tss2: mov a,#0cch ; 跳过 rom 匹配 lcall write_
15、1820 mov a,#44h ; 发出温度转换命令 lcall write_1820 ;这里通过调用显示子程序实现延时一段时间,等待 ad 转换结束,12 位的话 750 微秒 lcall delay1 lcall init_1820 ;准备读温度前先复位 mov a,#0cch ; 跳过 rom 匹配 lcall write_1820 mov a,#0beh ; 发出读温度命令 lcall write_1820 lcall read_18200 ; 将读出的温度数据保存到 35h/36h ret ;写 ds18b20 的子程序(有具体的时序要求) write_1820: mov r2,#8
16、;一共 8 位数据 clr c wr1: clr p2.0 mov r3,#6 djnz r3,$ rrc a mov p2.0,c mov r3,#23 djnz r3,$ setb p2.0 nop djnz r2,wr1 setb p2.0 ret ; 读 ds18b20 的程序,从 ds18b20 中读出两个字节的温度数据 read_18200: mov r4,#2 ; 将温度高位和低位从 ds18b20 中读出 mov r1,#29h ; 低位存入 29h(temper_l),高位存入 28h(temper_h) re00: mov r2,#8;数据一共有 8 位 re01: clr
17、 c setb p2.0 nop nop clr p2.0 nop nop nop setb p2.0 mov r3,#9 re10: djnz r3,re10 mov c,p2.0 mov r3,#23 re20: djnz r3,re20 rrc a djnz r2,re01 mov r1,a dec r1 djnz r4,re00 ret displayled: ;显示子程序 mov ledbuf+5,#10h mov r0,#ledbuf mov r1,#temp mov r2,#8 dp10: mov dptr,#ledmap mov a,r0 movc a,a+dptr mov r
18、1,a inc r0 inc r1 djnz r2,dp10 mov r0,#temp mov r1,#8 dp12: mov r2,#8 mov a,r0 dp13: rlc a mov din,c clr clk setb clk djnz r2,dp13 inc r0 djnz r1,dp12 ret ledmap: db3fh,6h,5bh,4fh,66h,6dh ;0,1,2,3,4,5 db7dh,7h,7fh,6fh,77h,7ch ;6,7,8,9,a,b db58h,63h,7bh,71h,00h,40h ;c,o,e,f, , - db 63h,39h,63h displayresult: mov ledbuf, #10h mov ledbuf+3, #14h mov ledbuf+4, #13h goon: mov a,29h ;将 29h 中的十六进制数转换成 10 进制 mov b, #10 div ab mov ledbuf+1, a ;3 mov a, b m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《污水处理工艺》课件
- 乡村振兴意义规划
- 《连续油管技术》课件
- 《名仕商务中心》课件
- 几百几十数乘以一位数综合作业题带答案
- 医疗安全与不良事件
- 乙肝感染手术的处理
- 影响因素及异常发育Influencingfactors
- 音乐照护健康评估-老年康体指导 初 级 -1729700396438
- 《透析血液通路》课件
- 微景观制作课件
- 2023学年西藏省重点中学英语九上期末考试试题含解析
- 三位数除两位数的除法练习题
- 小学心理健康教育人教六年级下册目录生命只有一次教学设计
- 小学劳动课教案三年级上册5篇
- 2021版特种设备目录
- 五年级上册美术课件-第4课 未来的交通工具丨赣美版
- 最新爆破安全规程
- 主题班会课防盗
- 支委会委员选举计票单
- 近三年无重大违法违规情况的说明
评论
0/150
提交评论