任务5.2 数字温度计 (课件)-《单片机技术与应用》同步教学(电子工业版)

2024-07-11
| 25页
| 27人阅读
| 2人下载
普通

内容正文:

项目五 测控仪表 任务5.2 数字温度计 明确任务 在工业控制、智能家居等领域的测量系统中,环境温度的测量和控制是非常普遍和重要的。为了能对温度进行检测,需要温度传感器,把温度转换成相应的电信号。常用的模拟量传感器主要是PT100等,但是需要设计人员进行微弱电信号处理,然后再进行AD转换,将数字信息传给单片机进行处理,非常复杂。目前温度传感器正从模拟向数字方法转变,体积小使用方便,在很多场合已经代替了模拟式传感器。 利用数字式温度传感器DS18B20制作一个数字温度计,利用LCD1602进行显示,精度1℃。 DS18B20是DALLAS公司生产的1-Wire,即单总线器件,用它来组成一个测温系统,具有线路简单,体积小的特点。其全部传感元件及转换电路集成在形如一只三极管的集成电路内。另外1-Wire总线协议,节省且经济,可以挂接多个传感器,组建网络。 知识链接 一、DS18B20简介 DQ为数字信号输入/输出端; GND为电源地; VDD为外接供电电源输入端(在寄生电源接线方式时接地) (1)适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电。 (2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。  (3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。 (4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。 (5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃ 。 (6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温 。   (7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快 。  (8)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力 。  (9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 二、DS18B20内部结构 温度寄存器格式 DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位 常用温度表 DS18B20存储器 配置寄存器结构各位的意义如下 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 TM R1 R0 1 1 1 1 1 低5位一直都是"1",TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率 DS18B20的温度分辨率设置 DS18B20的ROM指令 三、DS18B20通信指令 DS18B20的RAM指令 四、DS18B20时序 1.初始化时序 2 写时序 3 读时序 寄生电源供电方式 五、DS18B20供电方式 外部电源供电方式 六、单个采用外部电源供电方式的DS18B20发出温度转换命令 序号 主机 数据(LSB在先) 说明 1 TX 复位 复位脉冲 2 RX 存在应答 应答信号 3 TX CCH 发出跳过ROM指令 4 TX 44H 发出温度转换指令 5 RX 1个字节的数据 读“忙”标志3次,直至数据为FFH 6 TX 复位 复位脉冲 7 RX 存在应答 应答脉冲 8 TX CCH 发出跳过ROM指令 9 TX BEH 读暂存存储器命令 10 RX 9个字节的数据 读暂存存储器以及CRC,并把计算得出的CRC和读出的CRC相比较。如果两者相符,数据有效,主机保存温度值。 11 TX 复位 复位脉冲 12 RX 存在应答 应答脉冲,操作完成 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级 七 硬件电路设计 八 ADC0809驱动程序设计 /******* 18B20初始化*******/ void init_DS18B20( ) { unsigned char x=0; DQ=1; //DQ复位 delay1(8); DQ=0; //将DQ拉高 delay1(80); DQ=1; //拉高总线 delay1(15); x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败 delay1(20); } /********ds18b20读一个字节*******/ unsigned char DS18B20_read_byte( ) { unsigned char i,dat; for(i=0;i<8;i++) { DQ=0; dat>>=1; DQ=1; if(DQ) dat=dat|0x80; delay1(4); } return dat; } /********ds18b20写一个字节*******/ void DS18B20_write_byte(unsigned char dat) { unsigned char i; for(i=0;i<8;i++) { DQ=0; DQ=dat&0x01; delay1(5); DQ=1; dat>>=1; } } /********读取温度********/ unsigned char DS18B20_read_C( ) { unsigned char di,gao,dat; init_DS18B20(); DS18B20_write_byte(0xcc); // 跳过读序号列号的操作 DS18B20_write_byte(0x44); // 启动温度转换 delay1(300); init_DS18B20(); DS18B20_write_byte(0xcc); DS18B20_write_byte(0xbe); //读取温度寄存器,两个就是温度 delay1(300); di=DS18B20_read_byte(); //读取温度值低位 gao=DS18B20_read_byte(); //读取温度值高位 gao<<=4; dat=gao+(di>>4); return dat; } 任务实施 1.学生分组,制定方案。 2.查阅资料,搭接硬件电路。 3.建立工程文件,编程编译下载程序调试。 4.注意安全。 评价总结 1.学生根据自己实施情况填写任务实施评价单。 2.组间互评,提出问题,解决问题。 3.回收元件及工具,清洁实施现场,6S标准。 4.知识整理总结。 $$

资源预览图

任务5.2 数字温度计 (课件)-《单片机技术与应用》同步教学(电子工业版)
1
任务5.2 数字温度计 (课件)-《单片机技术与应用》同步教学(电子工业版)
2
任务5.2 数字温度计 (课件)-《单片机技术与应用》同步教学(电子工业版)
3
任务5.2 数字温度计 (课件)-《单片机技术与应用》同步教学(电子工业版)
4
任务5.2 数字温度计 (课件)-《单片机技术与应用》同步教学(电子工业版)
5
任务5.2 数字温度计 (课件)-《单片机技术与应用》同步教学(电子工业版)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。