项目12 设计制作数字温度计(课件)- 《单片机技术与应用教程(第2版)》同步教学(清华大学版)

2024-07-11
| 30页
| 29人阅读
| 1人下载
普通

内容正文:

项目十二 设计制作数字温度计 项目12 设计制作数字温度计 本项目学习目标 1)了解单总线协议; 2)掌握MCS-51系列单片机与单总线器件DS18B20 接口应用技术。 3)熟练C51程序设计。 项目12 设计制作数字温度计 项目描述 1.项目名称 项目名称:设计制作数字温度计 2.项目要求 1)用KeilC51、Proteus作开发工具; 2)用AT89C51单片机作控制; 3)用DS18B20作测温器件,测温环境温度为0-99℃,温度精确到1℃; 4)数码管作显示,显示**℃; 5)发挥功能:提高测温精度,当温度超过25℃时蜂鸣报警等。 项目12 设计制作数字温度计 项目描述 3.设计制作任务 1)拟定总体设计制作方案; 2)设计硬件电路; 3)编制软件流程图及设计相应源程序; 4)仿真调试数字温度计; 5)安装元件,制作数字温度计,调试功能指标; 6)完成项目报告。 项目12 设计制作数字温度计 相关知识 1.单总线简介 美国的达拉斯半导体公司推出了一项特有的单总线(1-Wire Bus)技术。该技术采用单根信号线,既可传输时钟,又能传输数据,而且数据传输是双向的,因而这种单总线技术具有线路简单,成本低廉,便于总线扩展和维护等优点。 项目12 设计制作数字温度计 相关知识 (1)单总线单总线工作原理 单总线只有一根数据线,系统的数据传递、控制都由它完成,设备通过一个漏极开路或三态端口连接它,使设备在不发送数据时能释放总线,让其它设备使用总线。 总线外接上拉电阻,闲置时为高电平,主机与从机之间的通信通过初始化单总线器件->识别器件->交换数据三个步骤完成。 只有主机呼叫从机时,才能产生应答,主机访问从机时严格遵守初始化->ROM命令->功能命令的命令序列。 项目12 设计制作数字温度计 相关知识 (2)单总线信号的方式 单总线器件有严格的通信协议,以保证数据的完整性。协议定义了复位脉冲、应答脉冲、写0、读0和读1时序等几种信号类型。所有的单总线命令序列(初始化,ROM命令,功能命令)都是由这些基本的信号类型组成的。在这些信号中,除了应答脉冲外,其它均由主机发出同步信号,并且发送的所有命令和数据都是字节的低位在前。 项目12 设计制作数字温度计 相关知识 2.DS18B20引脚及内部结构 DS18B20有TO-92小体积封装和8引脚SOIC封装两种形式,外观及引脚排列如图。 项目12 设计制作数字温度计 相关知识 项目12 设计制作数字温度计 相关知识 DS18B20中的温度传感器完成对温度的测量,经AD转换后,用16位带符号的二进制补码读数输出,温度值数据格式如下: 其中S为符号位。例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。 项目12 设计制作数字温度计 相关知识 高低温报警触发器TH和TL、配置寄存器 高低温报警触发器TH和TL用于存储用户预定义的报警预置值。 使用存储器功能命令可对TH、TL或配置寄存器写入。TH和TL寄存器格式如下: 配置寄存器主要用于设置测量精度的格式如下: 项目12 设计制作数字温度计 相关知识 3. DS18B20与单片机硬件连接 单总线系统只有一条定义的信号线,挂在总线上的器件必须是漏极开路或三态输出。DS18B20的单总线端口DQ是漏极开路型的。单总线需外接一个5K左右的上拉电阻。空闲状态是高电平。 DS18B20的供电有寄生电源方式和外接电源方式两种模式。 项目12 设计制作数字温度计 相关知识 寄生电源工作方式 外接电源工作方式 项目12 设计制作数字温度计 相关知识 4.DS18B20复位、读写时序与实现 (1) DS18B20复位时序 DS18B20初始化包括一个由主控制器发出的复位脉冲和从机发出的应答脉冲。复位时序如图。 项目12 设计制作数字温度计 相关知识 (2) 写操作时序 DS18B20的数据读写是通过时序处理位来确认信息交换的,写时序所示。 项目12 设计制作数字温度计 相关知识 (3) 读时序 读数据时,主机(控制器)也是采用读“1”时序向从机(DS18B20)读出“1”,采用读“0” 时序向从机(DS18B20)读出“0”。每个读时序都由主机通过拉低单总线至少1us发起。 项目12 设计制作数字温度计 相关知识 5. DS18B20命令与操作流程 项目12 设计制作数字温度计 相关知识 (5)存储器(RAM)操作 项目12 设计制作数字温度计 相关知识 DS18B20应用 案例一:编程启动单点温度转换 1)编程要求 编写程序实现启动DS18B20单点温度转换。 2)编程思路 根据DS18B20单总线工作协议,控制DS18B2完成温度转换,每次必须对DS18B20进行复位操作→发地址编码(或跳过地址)→发操作指令(ROM指令与RAM指令)。 先调用复位函数Ds18_init()复位DS18B20。然后调用写1字节数据函数write_byte(unsigned char val)写跳过ROM 的指令0XCC。最后调用写1字节数据子函数write_byte(unsigned char val),写入启动指令0X44,并延迟等待写入指令。 项目12 设计制作数字温度计 相关知识 3)编写程序 (见案例程序) 项目12 设计制作数字温度计 相关知识 案例二:编程读出温度数据 1)编程要求 编写程序从DS18B20读出温度数据,并把高八位数据通过P2口输出,低八位数据通过P0口输出。 2)编程思路 与启动温度转换一样,主机控制读出DS18B2温度值,每次必须对从机DS18B20进行复位操作,复位成功之后发送ROM指令跳过地址,最后发送读RAM数据指令。 调用复位函数unsigned char Reset(void) 调用写1字节数据函数write_byte(unsigned char val)写跳过ROM 的指令0XCC, 调用写1字节数据子函数write_byte(unsigned char val),写入读内部高速暂存器中的内容指令0BEH; 调用读1字节数据函数先后读出温度值的低8位、高8位。 项目12 设计制作数字温度计 相关知识 3)编写程序 (见案例程序) 项目12 设计制作数字温度计 项目实施 1.数字温度计总体设计思路 基本功能部分的实现思路是:用AT89C51单片机作控制,按单总线器件时序要求控制测温器件DS18B20进行温度转换,读出结果经数据处理用4位数码显示。如果温度超过25℃,按一定的周期输出高低变化的方波信号,经放大驱动蜂鸣器发声,实现报警功能。数字温度计总体框图如图。 。 项目12 设计制作数字温度计 项目实施 项目12 设计制作数字温度计 项目实施 2.设计硬件电路 图6-41 从机参考硬件原理图 项目12 设计制作数字温度计 项目实施 3 设计数字温度计程序 1)编程思路 根据DS18B20内部寄存器的结构及信号的时序、ROM指令、RAM指令,操作流程采用单点控制形式进行复位、启动转换、读出转换结果、数据处理,然后用2位数码管显示温度值、2位数码管显示单位。当温度值大于25度时,输出一定频率的方波信号放大后驱动动蜂鸣发声。程序参考程序流程如图。 项目12 设计制作数字温度计 项目实施 项目12 设计制作数字温度计 项目实施 4.调试仿真报警器 (1)建立仿真模型 (2)仿真 。 项目12 设计制作数字温度计 项目实施 5.安装元器件,烧录、调试样机 1)安装元器件及检测 2)固化程序 3)运行数字温度计 项目12 设计制作数字温度计 本项目结束 继续学习与应用单片机技术 项目12 设计制作数字温度计 $$

资源预览图

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