单片机 第五章课件

loading 分享 2026-9-5 下载文档

《微机原理及应用》教案

第十六讲

课题: 应用系统样例——温控系统

教学目的:掌握18B20数字温度传感器工作原理以及应用;掌握温

控系统的基本框架并提高应用I/O接口和设备的能力。

教学难点、重点:以上接口的典型应用

I、

课程复习、引入 LED数码管的显示 键盘的原理

有键按下

后,逐行输出0,进行键号判断

II、 本课内容

第五章 MCS-51 系统扩展技术——应用系统样例分析

一个应用18B20的应用系统样例(参见书本相关章节和微机实验8) 测控系统:

16-1

《微机原理及应用》教案

一、了解器件——18B20

1、概述:Dallas 半导体公司的数字化温度传感器DS1820是世界上第一片支持 “一线总线”接口的温度传感器。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。

2、功能:数字温度传感器DS18B20测量温度范围为 -55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。DS18B20可以程序设定9~12位的分辨率,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。

3、详情

? DS18B20内部结构

DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如下:

DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。

光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,

16-2

《微机原理及应用》教案

接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。

DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。

? LS Byte: Bit7 2

? MS Byte: Bit15 S Bit14 S Bit13 S Bit12 S Bit11 S Bit10 2 63Bit6 2 2Bit5 2 1Bit4 2 0Bit3 2 -1Bit2 2 -2Bit1 2 -3Bit0 2 -4Bit9 2 5Bit8 2 4这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘以0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘以0.0625即可得到实际温度。

例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。 温度 +125℃ +85℃ +25.0625℃ +10.125℃ +0.5℃ 0℃ -0.5℃ -10.125℃ -25.0625℃ -55℃ 数据输出(二进制) 0000 0111 1101 0000 0000 0101 0101 0000 0000 0001 1001 0001 0000 0000 1010 0010 0000 0000 0000 1000 0000 0000 0000 0000 1111 1111 1111 1000 1111 1111 0101 1110 1111 1110 0110 1111 1111 1100 1001 0000 数据输出(十六进制) 07D0H 0550H 0191H 00A2H 0008H 0000H FFF8H FF5EH FE6FH FC90H ? DS18B20温度传感器的存储器

DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。

暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。第六、七、八个字节用于内部计算。第九个字节是冗余检验字节。

该字节各位的意义如下:

16-3

《微机原理及应用》教案

TM R1 R0 1 1 1 1 1 低五位一直都是1 ,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表所示:(DS18B20出厂时被设置为12位)

分辨率设置表: R1 0 0 1 1 R0 0 1 0 1 分辨率 9位 10位 11位 12位 温度最大转换时间 93.75ms 187.5ms 375ms 750ms 根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。

#include #include

#define uchar unsigned char #define uint unsigned int #define _Nop() _nop_() #define set_temp 40

sbit DQ = P2^0 ; //定义ds18B20总线IO

sbit CONTROL = P1^4 ; //定义温度控制端口control

sbit dat_pin = P1^0 ;//静态显示的Din端口定义 sbit clk_pin = P1^1 ;//静态显示的CLK端口定义

uchar led_dat[13]={0xFC, 0x60, 0xDA, 0xF2, 0x66, 0xB6, 0xBE, 0xE0, 0xFE, 0xF6, 0xC6, 0x9C, 0x00}; // 数码管段码数据0 1 2 3 4 5 6 7 8 9 o C 不显示

void Delay(uint num) {

while(num--) ; }

void Init_DS18B20(void)//初始化ds1820

16-4


单片机 第五章课件.doc 将本文的Word文档下载到电脑
搜索更多关于: 单片机 第五章课件 的文档
相关推荐
相关阅读