2022年基于单片机的温度采集系统的方案设计书.docx

上传人:C****o 文档编号:12913478 上传时间:2022-04-26 格式:DOCX 页数:39 大小:612KB
返回 下载 相关 举报
2022年基于单片机的温度采集系统的方案设计书.docx_第1页
第1页 / 共39页
2022年基于单片机的温度采集系统的方案设计书.docx_第2页
第2页 / 共39页
点击查看更多>>
资源描述

《2022年基于单片机的温度采集系统的方案设计书.docx》由会员分享,可在线阅读,更多相关《2022年基于单片机的温度采集系统的方案设计书.docx(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精品学习资源基于单片机的温度数据采集系统设计电气工程及其自动化2021年秋 季202109129543江家昌层次: 专科起点本科专业:年级:学号: 同学姓名:摘要单片机已在各行业得到广泛应用,为适应更多的应用领域,厂家实行了在一块单片机芯片上集成多种功能部件和大容量储备器的方法;因而,整个应用系统不需要扩展, 而体积变小、牢靠性增高,使单片机成为真正意义上的单片机系统;本设计是基于 STC89C52单片机和 DS185B20实现温度的测量系统,单片机在本系统中作为温度输入和显示掌握器件, DS18B20被用作温度数据的采集和温度输出器件;本系统采纳单总线操作,线路简洁,测量值精确,可实现多点测

2、量,并对温度超过限制值,产生报警和数据采集;本系统被广泛应用于温度掌握、温度检测、温度采、消防等系统中;关键词单片机;数据转换;温度显示欢迎下载精品学习资源目录1 绪论 11.1 本系统功能 11.1.1温度测量功能11.1.2温度采集功能11.1.3系统工作流程11.2 本系统优点 21.2.1 线路简洁 21.2.2 温度精确 22 系统硬件介绍 22.1 本系统硬件和软件组成 22.1.1 硬件组成 22.1.2 软件组成 22.2 STC 单片机介绍 32.2.1 STC 单片机功能介绍 32.3 DS18B20数字温度传感器介绍62.3.1 功能介绍 62.3.2 DS18B20温度

3、传感器是储备器 82.3.3 DS18B20内部规律图 102.3.4 DS18B20温度传感器读写时序 102.3.5 DS18B20储备器操作命令 122.3.6 DS18B20温度传感器与单片机的接口电路132.4 系统工作过程 222.4.1 温度的测量 222.4.2 温度的采集 233 程序框图及 C语言程序 242.5.1 温度采集系统原理框图 242.5.2 温度显示模块 242.5.3 读温度子程序 257.1.3 温度转换子程序 257.1.4 运算温度子程序 267.2 温度采集系统 C语言程序 26结论 35欢迎下载精品学习资源致谢 36参考文献 37欢迎下载精品学习资

4、源1 绪论1.1 系统功能1.1.1 温度测量功能利用 DS18B20数字温度传感器实现对温度进行精确的测量,使温度值显示到数码管上;1.1.2 温度采集功能利用 DS18B20数字温度传感器进行温度的采集,单片机作为掌握器件,数据通过串口( RS232)传至运算机,进行温度的采集;1.1.3 系统工作流程,见图 1-1系统上电初始化DS18B20 进行数据的采集并将数据以二进制的形式传至单片机单片机对数据进行处理数码管进行温度显示通过串口将数据传至运算机欢迎下载精品学习资源图 1-1 系统工作流程1.2 本系统优点1.2.1 线路简洁DS18B20与单片机之间一根导线进行数据传输,不需要对数

5、据进行转换,接线简洁;1.2.2 温度测量精确DS18B20的温度辨论率为 0.0625 ,所以对温度值可以进行精确的温度转换;2 系统硬件介绍2.1 系统硬件及软件组成2.1 1 硬件组成本系统所用的硬件有:见表 2-1 ;表 2-1 系统硬件清单器件名称数量STC89C52单片机1 个74HC573锁存器2 个LED发光二级管8 个蜂鸣器1 个独立键盘5 个数码管(两个一组)2 个三极管1 个DS18B201 个MAX233串口芯片1 个电容如干电阻如干导线如干2.1.2软件组成软件有: keil软件、 windows 操作系统和串口调试助手等软件组成;欢迎下载精品学习资源2.2 STC

6、单片机介绍单片机作为微型运算机的一个重要分支,其应用范畴很广,进展也很快;1971 年Intel公司首次宣布 4004 的 4 位微处理器, 1974 年 12 月 Fairchild仙童 公司即推出了8 位单片机 F8,开创了单片机的门户;单片机在我国的应用始于 20 世纪 70 岁月末,那时我国的科研工作者开头对单片机的应用进行了初期探究, 20 世纪 80 岁月,单片机在我国得以广泛的应用,各理工科院校间续开设了有关应用课程;在教案及应用上,Zilog公司生产的 Z80CPU成为我国工业掌握的主流,以 Z80 为 CPU组成的 TP801 单板机在教案上及应用领域发挥过庞大作用;20 世

7、纪 80 岁月末至 90 岁月初,我国在工业掌握领域开头转向使用Intel公司生产的 MCS- 51;单片机从 1976 年公布 8 位机至今不到 30 年的时间,它没有像微处理器那样从8 位、16 位,始终进展到 32 位、64 位, 8 位机目前依旧是单片机的主流机型;但是,它突破了原有的集成结构,在内部继承了越来越多的外围电路和外设接口,从而进展成为掌握器MicroController的体系结构,其进展历程大致分为以下几步:第一阶段:单片机的控索阶段其次阶段:单片机的完善阶段第三阶段: 8 位单片机的巩固进展及 16 位单片机的推出阶段第四阶段:微掌握器的全面进展阶段单片机已在各行业得到

8、广泛应用,为适应更多的应用领域,厂家实行了在一块单片机芯片上集成多种功能部件和大容量储备器的方法;因而,整个应用系统不需要扩展,而体积变小、牢靠性增高,使单片机成为真正意义上的单片机系统2.2.1 STC 单片机功能介绍单片机是随着大规模集成电路的显现极其进展,将运算机的CPU,RAM, ROM,定时 /计数器和多种 I/O接口集成在一片芯片上,形成了芯片级的运算机,因此单片机早期的 含义称为单片微型运算机single chipmicrocomputer.它拥有优异的性价比、集成度高、体积小、牢靠性高、掌握功能强、低电压、低功耗的显著优点. 主要应用于智能仪器外表、工业检测掌握、机电一体化等方

9、面, 并且取得了显著的成果. 单片机应用系统可以分为: ( 1)最小应用系统是指能维护单片机运行的最简洁配置的系统;这种系统成本低廉, 结构简洁,常构成一些简洁的掌握系统,如开关状态的输入/ 输出掌握等;片内有ROM/EPRO的M 单片机,其最小应用系统即为配有晶振,复位电路,电源的单个单片机. 片内无 ROM/EPROM的单片机,其最小应用系统除了外部配置晶振,复位电路,电源外,仍应外接 EPROM或 EEPROM作为程序储备器用 . (2)最小功耗应用系统是指为了保证正常运行,系统的功耗最小 . (3)典型应用系统是指单片机要完成工业测控功能所必需的硬件结构系统;欢迎下载精品学习资源STC

10、89C52是一种低功耗、高性能 CMOS8位微掌握器,具有8K 在系统可编程 Flash储备器;使用 Atmel公司高密度非易失性储备器技术制 造,与工业 80C51 产品指令和引脚完全兼容;片上Flash答应程序储备器在系统可编 程,亦适于常规编程器;在单芯片上,拥有敏捷的8位 CPU 和在系统可编程 Flash ,使得 STC89C52 为众多嵌入式掌握应用系统供应高敏捷、超有效的解决方案;STC89C52 具有以下标准功能:8k字节 Flash , 256 字节 RAM, 32 位 I/O口线,看门狗定时 器, 2 个数据指针,三个 16位定时器 / 计数器一个 6向量 2级中断结构,全

11、双工串行 口,片内晶振准时钟电路;另外,STC89C52可降至 0Hz 静态规律操作,支持 2种软件可挑选节电模式;闲暇模式下, CPU停止工作,答应 RAM、定时器 / 计数器、串口、中断 连续工作;掉电爱护方式下,RAM内容被储存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止;2.2.1.1 引脚结构 , 见图 2-1图 2-1 单片机封装及引脚结构2.2.1.2 内部规律图,见图 2-2欢迎下载精品学习资源图 2-2 内部规律图2.2.1.3 引脚功能描述VCC:电源GND:地P0 口: P0 口是一个 8位漏极开路的双向 I/O口;作为输出口,每位能驱动8个TTL 逻

12、辑电平;对 P0端口写“ 1”时,引脚用作高阻抗输入;当拜访外部程序和数据储备器时, P0 口也被作为低 8位地址 / 数据复用;在这种模式下, P0 具有内部上拉电阻;在 flash编程时, P0 口也用来接收指令字节;在程序校验时,输出指令字节;程序校验时,需要外部上拉电阻;P1 口: P1 口是一个具有内部上拉电阻的8位双向 I/O口, p1 输出缓冲器能驱动4 个 TTL 规律电平;对 P1 端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用;作为输入使用时,被外部拉低的引脚由于内部电阻的缘由,将输出电流( IIL );此外, P1.0 和 P1.2分别作定时器 / 计数

13、器 2的外部计数输入( P1.0/T2 )和时器/ 计数器 2的触发输入( P1.1/T2EX),详细如下表所示;在 flash编程和校验时, P1 口接收低 8位地址字;P2 口: P2 口是一个具有内部上拉电阻的8位双向 I/O口, P2 输出缓冲器能驱动4 个 TTL规律电平;对P2端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用;作为输入使用时,被外部拉低的引脚由于内部电阻的缘由,将输出电流( IIL );在拜访外部程序储备器或用16位地址读取外部数据储备器(例如执行 MOVX DPT)R时, P2 口送出高八位地址;在这种应用中,P2 口使用很强的内部上拉发送 1 ;

14、在使用 8 位地址(如 MOVX R)I 拜访外部数据储备器时, P2 口输出 P2 锁存器的内容;在 flash编程和校验时, P2 口也接收高 8位地址字节和一些掌握信号;P3 口: P3 口是一个具有内部上拉电阻的8位双向 I/O口, p2 输出缓冲器能驱动4 个 TTL 规律电平;对 P3 端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用;作为输入使用时,被外部拉低的引脚由于内部电阻的缘由,将输出电流( IIL );P3 口亦作为 STC89C52 特殊功能(其次功能)使用,如下表所示;在flash编程和校验时, P3 口也接收一些掌握信号;RST:复位输入;晶振工作时

15、,RST 脚连续 2个机器周期高电平将使单片机复 位;看门狗计时完成后, RST 脚输出 96个晶振周期的高电平;特殊寄存器AUXR地址8EH上的 DISRTO 位可以使此功能无效; DISRTO默认状态下,复位高电平有效;ALE/PRO:G 地址锁存掌握信号( ALE)是拜访外部程序储备器时,锁存低 8位地址的输出脉冲;在 flash编程时,此引脚( PROG)也用作编程输入脉冲;在一般情形下, ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用;然而,特殊强调,在每次拜访外部数据储备器时,ALE 脉冲将会跳过;假如需欢迎下载精品学习资源要,通过将地址为 8EH 的 SF

16、R 的第 0 位置 “ 1 ” , ALE 操 作将 无 效 ; 这 一位 置“ 1”, ALE 仅在执行 MOVX或 MOVC指令时有效;否就, ALE 将被柔弱拉高;这个 ALE 使能标志位地址为 8EH 的 SFR 的第 0 位)的设置对微掌握器处于外部执行模式下无效;PSEN外:部程序储备器选通信号 PSEN是外部程序储备器选通信号;当STC89C52 从外部程序储备器执行外部代码时, PSEN在每个机器周期被激活两次,而在拜访外部数据储备器时, PSEN将不被激活;XTAL1:振荡器反相放大器和内部时钟发生电路的输入端;XTAL2:振荡器反相放大器的输出端;2.3 DS18B20 数

17、字温度传感器介绍2.3.1 功能介绍DALLAS最新单线数字温度传感器DS18B20的“一线器件”体积更小、适用电压更 宽、更经济 Dallas半导体公司的数字化温度传感器DS1820 是世界上第一片支持“一线总线”接口的温度传感器;一线总线特殊而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念;DS18B20、 DS1822 “一线总线”字化温度传感器 同 DS1820 一样 , DS18B20 也 支 持“ 一线总线” 接口, 测 量温度范畴为 - 55C+125C, - 10+85C范畴内 , 精度为 0.5 C; DS1822的精度较差为 2 C ;现场温度直接

18、以“一线总线”的数字方式传输,大大提高了系 统的抗干扰性;适合于恶劣环境的现场温度测量,如:境掌握、设备或过程 掌握、测温类消费电子产品等;与前一代产品不同,新的产品支持3V5.5V 的电压范畴,使系统设计更敏捷、方便;而且新一代产品更廉价,体积更 小 ;DS18B20、DS1822 的 特 性DS18B20可以程序设定 912 位的辨论率,精度为 0.5 C;可选更小的方式,更宽的电压适用范畴;辨论率设定 , 及 用户 设定 的报 警 温度 储备 在EEPROM中,掉电依旧储存; DS18B20的性能是新一代产品中最好的!性能价格比也特别杰出! DS1822DS18B20软件兼容,是DS18

19、B20 的简化版本;省略了储备用户定义报警温度、辨论率参数的EEPRO,M精度降低为 2C,适用于对性能要求不高,成本掌握严格的应用,是经济型产品; 继“一线总线”的早期产品后,DS1820 开创了温度传感器技术的新概念;DS18B20和 DS1822 使电压、特性及封装有更多的挑选,让我们可以构建适合自己的经济的测温系统; DS18B20的内部结构 DS18B20内部结构主要由四部分组成: 64 位光刻 ROM、温度传感器、非挥发的温度报警触发器TH 和 TL、配置寄存器; DS18B20的管脚排列如下:DQ 为数字信号输入 / 输出端; GND为电源地; VDD为外接供电电源输入端(在寄生

20、电源欢迎下载精品学习资源接线方式时接地);光刻ROM中的 64 位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码; 64 位光刻 ROM的排列是:开头 8 位( 28H)是产品类型标号,接着的 48 位是该 DS18B20自身的序列号,最终8 位是前面 56 位的循环冗余校验码( CRC=X8+X5+X4)+1;光刻 ROM的作用是使每一个 DS18B20都各不相同,这样就可以实现一根总线上挂接多个 DS18B20的目的; DS18B20中的温度传感器可完成对温度的测量, 以 12 位转化为例 : 用 16 位符号扩展的二进制补码读数形式供应,以0.0625 /LSB 形式

21、表达,其中 S 为符号位,见表 2-1 ;表 2-1DS18B20 内部温度表示形式这是 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;见表 2-2表 2-2DS18B20 转

22、化温度形式实际温度值数字输出(二进制)数字输出(十六进制)+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.0625 0000 0001 1001 00010191H+10.125 0000 0000 1010 001000A2H+0.5 0000 0000 0000 10000008H00000 0000 0000 00000000H-0.5 1111 1111 1111 1000FFF8H-10.125 1111 1111 0101 1110FF5EH-25.0625 1111 1110 0110 1111FE6EH欢迎下

23、载精品学习资源-55 1111 1100 1001 0000FC90H2.3.2 DS18B20 温度传感器的储备器DS18B20温度传感器的内部储备器包括一个高速暂存RAM和一个非易失性的可电擦除的 E2PPRAM后, 者存放高温度和低温度触发器TH、T 和结构寄存器;暂存储备器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,其次个字节是温度的高八位;第三个和第四个字节是TH、TL 的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新;第六、七、八个字节用于内部运算;第九个字节是冗余检验字节,见表2-3 ;表 2-3DS1

24、8B20暂存储备器的8 个连续字节寄存器内容字节地址温度最低数字位0温度最高数字位1高温限值2低温限值3保留4保留5计数剩余值6每度计数值7CTR校验8该 字节 各位 的 意 义如 下:TMR1R011111 低五位始终都是 1 , TM是测试模式位,用于设置 DS18B20在工作模式仍是在测试模式;在 DS18B20出厂时该位被设置为0,用户不要去改动; R1 和 R0 用来设置辨论率,如下表所示:( DS18B20出厂时被设置为 12 位) , 见表 2-4欢迎下载精品学习资源表 2-4 辨论率设置表依据 DS18B20的通讯协议,主机掌握DS18B20完成温度转换必需经过三个步骤:每一

25、次读写之前都要对DS18B20进行复位,复位胜利后发送一条ROM指令,最终发送 RAM指令,这样才能对 DS18B20进行预定的操作;复位要求主CPU将数据线下拉 500 微秒,然后释放, DS18B20收到信号后等待 1660 微秒左右,后发出60240 微秒的存在低脉冲,主 CPU收到此信号表示复位胜利; DS1820使用中留意事项 DS1820虽然具有测温系统简洁、测温精度高、连接便利、占用口线少等优点,但在实际应用中也应留意以下几方面的问题: 1 较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820 与微处理器间采纳串行数据传送,因此,在对DS1820 进行读写编程时,必需严格的

26、保证读写时序, 否就将无法读取测温结果;在使用PL/M、C 等高级语言进行系统程序计时,对DS1820操作部分最好采纳汇编语实现; 2 在 DS1820 的有关资料中均未提及单总线上所挂DS1820 数量问题,简洁使人误认为可以挂任意多个DS1820,在实际应用中并非如此;当单总线 上所挂 DS1820超过 8 个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以留意; 3 连接 DS1820 的总线电缆是有长度限制的;试验中,当采纳一般信号电缆传输长度超过50m 时,读取的测温数据将发生错误;当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采纳每 M

27、绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长;这种情形主要是由总线分布电容使信号波形产生畸变造成的;因此,在用DS1820 进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题; 4 在 DS1820测温程序设计中,向 DS1820发出温度转换命令后,程序总要等待 DS1820的返回信号,一旦某个 DS1820接触不好或断线,当程序读该DS1820时, 将没有返回信号,程序进入死循环;这一点在进行DS1820 硬件连接和软件设计时也要赐予肯定的重视;测温电缆线建议采纳屏蔽4 芯双绞线,其中一对线接地线与信号线,另一组接 VCC和地线,屏蔽层在源端单点接地;欢迎下载精品学习资

28、源2.3.3 DS18B20 的内部规律图,见图 2-3 ;存 储 器与 控 制逻欢迎下载精品学习资源CVdd温度传感器64位高温触发器 THROM高低温触发器 TL和速单缓配置寄存器线存接8 位 CRC 发生器欢迎下载精品学习资源图 2-3DS18B20 内部内部规律图2.3.4 DS18B20 读写时序主机使用时间隙 time slots来读写 DSl820的数据位和写命令字的位2.3.4.1 初始化时序见图 2-4 主机总线 to 时刻发送一复位脉冲 最短为 480us 的低电平信号 接着在 tl 时刻释放总线并进入接收状态 DSl820 在检测到总线的上升沿之后等待 15-60 接着

29、DS1820 在 t2 时刻发出存在脉冲 低电平连续 60-240 us 如图中虚线所示图2-4DS18B20初始化时序图程序:Init_DS18B20void/初始化 ds1820DQ = 1;/DQ复位_nop_;_nop_; /稍做延时 2msDQ = 0;/单片机将 DQ拉低, 发出复位脉冲(要求 480us960us Delay70; /精确延时 566usDQ = 1;/拉高总线 要求1660us欢迎下载精品学习资源Delay5;/延时46uspresence = DQ;/假如=0就初始化胜利 =1 就初始化失败Delay25;DQ = 1;returnpresence; /返回信

30、号, 0=presence,1= no presence2.3.4.2 写时间隙当主机总线 t o 时刻从高拉至低电平常就产生写时间隙从 to 时刻开头 15us 之内应将所需写的位送到总线 DSl820 在 t1 为 15-60us 间对总线采样如低电平写入的位是 0 见如高电平写入的位是连续写 2 位间的间隙应大于 1us ,见图 2-5 ;图2-5 写时间隙程序:WriteOneCharunsigned char datunsigned char i=0;for i=8; i0 ; i-DQ = 0;DQ = dat&0x01;delay5;DQ = 1;dat=1;2.3.4.3 读时

31、间隙见图 2-6 主机总线 to 时刻从高拉至低电平常总线只须保持低电平 l 7ts 之后 15 捍s 也就是说 t z 时刻前主机必需完成读位并在 t o 后的 60 尸 s 一 120 fzs 内释放总线读位子程序 读得的位到 C 中图2-6 读时序欢迎下载精品学习资源程序:ReadOneCharvoidunsignedunsigned for i=8char i=0;char dat = 0;i0 ;i-;DQ = 0dat=1;DQ = 1;ifDQ;/给脉冲信号给脉冲信号dat|=0x80 ;delay4 ;returndat;2.3.5 储备器操作命令,见表 2-5表2-5 储备器

32、操作命令指令商定代码功能读ROM33H读取DS18B20RO中M的编码( 64位地址)符合ROM55H发出命令后,接着发出 64位ROM编码,拜访单总线上与该编码相同的 DS18B20,使之做出反应,为下一步读写作预备;搜寻ROM0F0H用于确定挂在同一总线上 DS18B2的0 个数,和识别 64位ROM地址,微操作各器件做预备;跳过ROM0CCH忽视64位ROM地址,直接向 DS18B2发0 送温度转换命令,适用于单片工作;告警搜寻命令0ECH执行后只有温度值超过限度值才做出反应,温度变换命令44H启动DS18B20进行温度转换,转换时间最 长为500毫秒,结果存入内部就九字节RAM中;读暂

33、存器0BEH读内部 RA九字节内容写暂存器4EH发出向内部 RAM的第3、4字节写上下限温度命令,紧随该命令之后是传送两个字节数据;复制暂存器48H将RAM中的第 3、4字节内容写到 EEPRAM中;重调EEPRAM0B8H将EEPRA中M的第 3、4字节内容写到 RAM欢迎下载精品学习资源中;2.4 DS18B20温度传感器与单片机的接口电路DS18B20可以采纳两种方式供电,一种是采纳电源供电方式,此时DS18B20的 1 脚接地, 2 脚作为信号线, 3 脚接电源;另一种是寄生电源供电方式,如图4 所示单片机端口接单线总线,为保证在有效的DS18B20时钟周期内供应足够的电流,可用一个M

34、OSFET管来完成对总线的上拉;当 DS18B20处于写储备器操作和温度 A/D 转换操作时,总线上必需有强的上拉,上拉开启时间最大为 10us;采纳寄生电源供电方式时 VDD端接地;由于单线制只有一根线, 因此发送接口必需是三态的;由于DS18B20是在一根 I/O 线上读写数据,因此,对读写的数据位有着严格的时序要求; DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性;该协议定义了几种信号的时序:初始化时序、读时序、写时序;全部时序都是将主机作为主设备,单总线器件作为从设备;而每一次命令和数据的传输都是从主机主动启动写时序开头,假如要求单总线器件回送数据,在进行写命令后,主

35、机需启动读时序完成数据接收;数据和命令的传输都是低位在先;DS18B20的复位时序DS18B20的读时序对于 DS18B20的读时序分为读 0 时序和读 1 时序两个过程;对于 DS18B20的读时隙是从主机把单总线拉低之后,在 15 秒之内就得释放单总线, 以让 DS18B20把数据传输到单总线上; DS18B20在完成一个读时序过程,至少需要 60us 才能完成;DS18B20的写时序对于 DS18B20的写时序仍旧分为写 0 时序和写 1 时序两个过程;欢迎下载精品学习资源对于 DS18B20写 0 时序和写 1 时序的要求不同,当要写 0 时序时,单总线要被拉低至少 60us,保证 D

36、S18B20能够在 15us 到 45us 之间能够正确地采样 IO 总线上的“ 0”电平,当要写 1 时序时,单总线被拉低之后,在15us 之内就得释放单总线;欢迎下载精品学习资源6.1 温度的测量图5-2 覆铜 PCB6 系统工作过程欢迎下载精品学习资源DS18B20 数字温度传感器温度数据以数字的形式传至单片机,单片机将数据转换成十进制,送到数码管进行显示,这也就完成了,温度的测量,6-1 ;欢迎下载精品学习资源6.2 温度数据的采集图6-1 温度测量欢迎下载精品学习资源DS18B20数字温度传感器温度数据以数字的形式传至单片机,单片机通过RS232 将数据传至运算机,由串口调试助手进行

37、数据的记录和显示,见图6-2 ;图6-2 温度数据的采集7 程序框图及 C语言程序7.1 温度采集系统原理框图,见图 7-1初始化N调用显示子程1S 到?NY初次上电?Y读出温度值温度运算处理显示数据刷新发温度转换开头命令欢迎下载精品学习资源欢迎下载精品学习资源7.1.1 温度显示模块图7-1 温度采集系统原理框图欢迎下载精品学习资源显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为 0 时将符号显示位移入下一位;程序流程,见图7-2 ;温度数据移入显示寄存器N十位数 0?Y百位数 0?NY欢迎下载精品学习资源十位数显示符号Y百位数不显示百位数显示数据不显示符号 欢迎

38、下载精品学习资源终止图7-2 温度显示模块流程图7.1.2 读温度子程序读出温度子程序的主要功能是读出RAM中的 9 字节,在读出时需要进行 CRC校验,其程序流程,见图 7-2 ;发 DS18B20 复位命令发跳过 ROM 命令读取温度命令读取 操作, CRC 校9 字节完?NYCRC 校验正确?移入温度暂存器欢迎下载精品学习资源NY欢迎下载精品学习资源7.1.3 温度转换子程序图7-3 读温度子程序欢迎下载精品学习资源温度转换命令子程序主要是发温度转换开头命令,其子程序流程见图7-4 ;DS18B20 复位命令跳过 ROM 命令温度转换开头命令终止图 7-4 温度转换子程序流程7.1.4

39、运算温度子程序此程序将 RAM中读取值进行 BCD码的转换运算并进行正负判定流程,见图7-5 ;开头N温度零下?欢迎下载精品学习资源Y温 度 值 取 补 码 置“”标志置“ +”标志欢迎下载精品学习资源运算小数位温度 BCD 值欢迎下载精品学习资源运算整数位温度 BCD 值终止图 7-5 运算温度子程序流程7.2 温度采集系统 C语言程序#include #define uchar unsigned char #define uint unsigned int sbit DS=P22 ;sbit fm=P23 ;/define interface定义 DS18B20 接口int temp;/温

40、度变量uchar flag1,count;/ sign of the result positive or negative sbit dula=P26;sbit wela=P27;unsigned char code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/ 不带小数点编码;unsigned char code table1= 0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10; /带小数点编码;void delayuint x/delayuchar i,j;fori=0

41、;ix ;i+ forj=0;j0i- DS=1 ;i=4;/DS18B20初始化whilei0i-;bit tmpreadbitvoid/read a bit读一位int i;bit dat;DS=0 ;i+ ;/i+小延时一下DS=1 ;i+ ;i+ ;dat=DS ;i=8;whilei0i-;return dat;uchar tmpreadvoid/读一个字节uchar i,j,dat;dat=0 ;fori=1;i=8 ;i+j=tmpreadbit;dat=j1; /读出的数据最低位在最前面,这样刚好/一个字节在 DAT 里欢迎下载精品学习资源returndat;/将一个字节数据返回void tmpwritebyteuchar dat/写一个字节到 DS18B20 里int i;char j;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁