《2022年河南理工大学多机温度检测系统方案设计书3.docx》由会员分享,可在线阅读,更多相关《2022年河南理工大学多机温度检测系统方案设计书3.docx(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品学习资源河南理工高校微机原理与单片机接口技术课程设计报告题目:多机温度检测系统设计姓 名:蒋大雄 /李堂庚学 号: 311008000712/311008000714专业班级:电气 10-03指导老师:王莉所在学院: 电气工程与自动化学院2021 年 04 月 10 日欢迎下载精品学习资源摘要本设计是以 AT89S52 单片机为掌握核心,利用新型一线制温度传感器DS18B20 测量温度值,实现环境温度的检测和报警;系统测温范畴为-40 +85,测量精度为 0.5 ;用户可以自定义报警上、下限,一旦温度超过极限值,单片机便启动声光报警;该系统精度高、测温范畴广、报警准时,可广泛 应用于基于单
2、片机的测温报警场合;系统抗干扰性强、设计敏捷便利,适合在 恶劣的环境下进行温度测量;系统硬件电路包括传感器数据采集、温度显示、模式挑选、上、下限报警主电路等;整个装置的掌握核心是AT89S52 单片机;温度传感器 DS18B20 采纳外部电源供电,传感器输出引脚直接和单片机相连;电路支持模式挑选功能,可以挑选设定报警极限值或显示当前温度值;当被测温度越限时,报警主电路产生声光报警;拨动开关可以对设定报警极限值进行 写爱护;采纳 2 片单片机,组成多机温度检测系统;下位单片机采集温度,通过串行通信传送至上位单片机;上位单片机用数码管显示温度大小;基本范畴0100;精度误差小于 0.5 ;可以任意
3、设定温度的上下限报警功能关 键 字 : AT89S52; DS18B20 温 度 传 感 器 ; 数 码 管 ; 测 温 报 警欢迎下载精品学习资源目录摘要 21. 概述 41.1 课题背景 错误!未定义书签;1.2 系统概述 42 系统方案设计 52.1 主掌握部分设计 52.2 传感器部分设计 63 系统总体方案及硬件设计143.1 AT89S52 单片机的最小相系统 143.2 DS18B20 的 I/O 接线图 153.3 数据显示部分 153.4 整体电路 154 软件设计 164.1 概述 164.2 主程序方案 164.3 DS18B20 的相处理子程序 174.4 各模块工作流
4、程图 185 Proteus 软件仿真 216 课程设计体会 217 参考文献 22欢迎下载精品学习资源1. 概述1.1 设计应用背景在现代社会,不管是在工农业生产仍是在人们的日常生活中,对温度的测量及掌握都扮演着很重要的角色;第一让我们明白一下多点温度检测系统在各个方面的应用领域:电力、电讯设备之过热故障预知检测,空调系统的温度检测,保全与监视系统之应用,医疗与健诊的温度测试,化工、机械等设备温度过热测;温度检测系统应用特别宽阔;单片机的产生,使运算机正式形成了通用运算机系统和嵌入式运算机系统的分支;温度检测系统的应用遍布社会生活的各个层面;1.2 系统概述本设计运用主从分布式思想,由上位机
5、,下位机多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统;该系统采纳RS-232串行通讯标准,通过上位机掌握下位机进行现场温度采集;温度值由下位机单独工作,实时显示当前各点的温度值,对各点进行掌握;上位机采纳的是单片机基于数字温度传感器 DS18B20的系统; DS18B20利用单总线的特点可以便利的实现多点温度的测量,轻松的组建传感器网络,系统的抗干扰性好、设计敏捷、便利,而且适合于在恶劣的环境下进行现场温度测量;本系统可以应用在大型工业及民用常温多点监测场合;如粮食仓储系统、楼宇自动化系统、温掌握程生产线之温度影像检测、医疗与健诊的温度测试、空调系统的温度检测、石化、机械等;温度
6、检测系统有就共同的特点:测量点多、环境复杂、布线分散、现场离监控室远等;如采纳一般温度传感器采集温度信号,就需要设计信号调理电 路、 A/D 转换及相应的接口电路,才能把传感器输出的模拟信号转换成数字信号送到运算机去处理;这样,由于各种因素会造成检测系统较大的偏差;又由于检测环境复杂、测量点多、信号传输距离远及各种干扰的影响,会使检测系统的稳固性和牢靠性下降;所以多点温度检测系统的设计的关键在于两部分: 温度传感器的挑选和主控单元的设计;温度传感器应用范畴广泛、使用数量庞欢迎下载精品学习资源大,也高居各类传感器之首;2 系统方案设计2.1 主掌握部分设计方案一:此方案采纳 PC 机实现;它可在
7、线编程,可在线仿真的功能,这让调试变得便利;且人机交互友好;但是PC机输出信号不能直接与 DS18B20通信;需要通过 RS232 电平转换兼容,硬件的合成在线调试,较为繁琐,很不简便;而且在一些环境比较恶劣的场合, PC 机的体积大,携带安装不便利,性能不稳固,给工程带来许多麻烦!方案二:此方案采纳 AT89S52 八位单片机实现;单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和规律掌握;而且体积小,硬件实现简洁,安装便利;既可以单独对多DS18B20掌握工作,仍可以与 PC机通信. 运用主从分布式思想,由一台上位机,下位机多点温度数据采集,组成两级分布式多点温度测量的巡回检测系
8、统 , 实现远程掌握;另外AT89S52在工业掌握上也有着广泛的应用,编程技术及外围功能电路的协作使用都很成熟2.1.1 对 STC功能的熟悉AT89S52是一种低功耗、高性能 CMOS8位微掌握器,具有 8K 在系统可编程 Flash储备器; 89C51 产品指令和引脚完全兼容;片上Flash答应程序储备器在系统可编程,亦适于常规编程器;在单芯片上,拥有敏捷的8 位 CPU和在系统可编程 Flash ,使得 AT89S52 为众多嵌入式掌握应用系统供应高敏捷、超有效的解决方案; AT89S52 具有以下标准功能: 8k字节 Flash , 256 字节 RAM, 32 位 I/O口线,看门狗
9、定时器, 2 个数据指针,三个 16 位定时器 / 计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振准时钟电路;另外,可降至 0Hz 静态规律操作,支持 2 种软件可挑选节电模式;闲暇模式下,CPU停止欢迎下载精品学习资源工作,答应 RAM、定时器 / 计数器、串口、中断连续工作;掉电爱护方式下, RAM内容被储存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止;图 1 AT89S522.2 传感器部分设计方案一:采纳热敏电阻,可满意40 摄氏度至 90 摄氏度测量范畴,但热敏电阻精度、重复性、牢靠性较差,对于检测1 摄氏度的信号是不适用的;而且在温度测量系统中
10、, 采纳单片温度传感器 , 比如 AD590,LM35 等. 但这些芯片输出的都是模拟信号 , 必需经过 A/D 转换后才能送给运算机 , 这样就使得测温装置的结构较复杂. 另外, 这种测温装置的一根线上只能挂一个传感器, 不能进行多点测量 . 即使能实现,也要用到复杂的算法,肯定程度上也增加了软件实现的难度;方案二:在多点测温系统中,传统的测温方法是将模拟信号远距离采样进行AD 转换,而为了获得较高的测温精度,就必需采纳措施解决由长线传输,多点测量欢迎下载精品学习资源切换及放大电路零点漂移等造成的误差补偿问题;采纳数字温度芯片DS18B20测量温度,输出信号全数字化;便于单片机处理及掌握,省
11、去传统的测温方法的许多外围电路;且该芯片的物理化学性很稳固,它能用做工业测温元件,此元件线形较好;在 0100 摄氏度时,最大线形偏差小于 1 摄氏度; DS18B20的最大特点之一采纳了单总线的数据传输,由数字温度计 DS1820 和微掌握器AT89S52 构成的温度测量装置 , 它直接输出温度的数字信号 , 可直接与运算机连接;这样 , 测温系统的结构就比较简洁 , 体积也不大 , 且由于 AT89S52可以带多个DSB1820因,此可以特别简洁实现多点测量 . 轻松的组建传感器网络;采纳温度芯片DS18B20测量温度,可以表达系统芯片化这个趋势;部分功能电路的集成,使总体电路更简洁,搭建
12、电路和焊接电路时更快;而且,集成 块的使用,有效地防止外界的干扰,提高测量电路的精确度;所以集成芯片的 使用将成为电路进展的一种趋势;本方案应用这一温度芯片,也是顺应这一趋 势;综上所述 , 温度传感器以及主控部分都采纳其次方案;系统采纳针对传统温度测温系统测温点少,系统兼容性及扩展性较差的特 点,运用分布式通讯的思想;设计一种可以用于大规模多点温度测量的巡回检 测系统;该系统采纳的是 RS-232 串行通讯的标准,通过上位机进行现场的温度采集,温度数据既可以由下位机模块实时显示,也可以送回上位机进行数据处 理,具有巡检速度快,扩展性好,成本低的特点;2.2.1 对数字温度传感器 DS18B2
13、0功能的熟悉DS18B20一线式数字温度传感器,具有3 引脚 TO92 小体积封装形式;测温辨论率可达 0.0625 ,被测温度用符号扩展的16 位数字量方式串行输出;其工作电源既可在远端引入,也可采纳寄生电源方式产生;CPU只需一根端口线就能与诸多 DS18B20通信,占用微处理器的端口少,可节约大量的引线和规律电路;DS18B20的主要特性适应电压范畴更宽,电压范畴: 3.0 5.5V ,在寄生电源方式下可由数据线供电;欢迎下载精品学习资源特殊的单线接口方式, DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯; DS18B20支持多点组网功能,多个D
14、S18B20可以并联在唯独的三线上,实现 组网多点测温; DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内; 温 范 围 55 125 , 在 -10 +85 时 精 度 为 0.5 ;可编程的辨论率为9 12 位,对应的可辨论温度分别为0.5 、 0.25 、0.125和0.0625 ,可实现 高精 度测温 ;在 9 位辨论率时最多在 93.75ms 内把温度转换为数字, 12 位辨论率时最多在750ms内把温度值转换为数字,速度更快; DS18B20的形状 图 1 DS18B20的形状DS18B20 内部结构主要由四部分组成: 64 位光刻
15、ROM、温度传感器、非挥发的温度报警触发器TH 和 TL、配置寄存器; DS18B20的形状及管脚排列如上图;DS18B20引脚定义:DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地);欢迎下载精品学习资源图 2: DS18B20内部结构图DS18B20有 4 个主要的数据部件:、光刻 ROM中的 64 位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码; 64 位光刻 ROM的排列是:开头接着的 48 位是该 DS18B20自身的序列号,最终8 位( 28H)是产品类型标号,8 位是前面 56 位的循环冗余校验码( CRC=X
16、8+X5+X4)+1;光刻 ROM的作用是使每一个 DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的;、DS18B20中的温度传感器可完成对温度的测量,以12 位转化为例:用位符号扩展的二进制补码读数形式供应,以符号位;表 1: DS18B20 温度值格式表160.0625 /LSB 形式表达,其中 S 为这是 12 位转化后得到的 12 位数据,储备在 18B20 的两个 8 比特的 RAM中,二进制中的前面 5 位是符号位,假如测得的温度大于 0,这 5 位为 0,只要将测到的数值乘于 0.0625 即可得到实际温度;假如温度小于 0,这 5 位为 1,测到的
17、数值需要取反加 1 再乘于 0.0625 即可得到实际温度;表 2: DS18B20 温度数据表欢迎下载精品学习资源例如 +125的数字输出为07D0H0x7D, +25.0625 的数字输出为0191H, - 25.0625 的数字输出为 FE6FH,-55 的数字输出为 FC90H;、DS18B20温度传感器的储备器DS18B20温度传感器的内部储备器包括一个高速暂存RAM和一个非易失性的可电擦除的 EEPRAM后, 者存放高温度和低温度触发器TH、TL 和结构寄存器;、配置寄存器 该字节各位的意义如下: 表 3: 配置寄存器结构TMR1R011111低五位始终都是 1 , TM 是测试模
18、式位,用于设置DS18B20在工作模式仍是在测试模式;在 DS18B20出厂时该位被设置为0,用户不要去改动; R1 和 R0 用来设置辨论率,如下表所示:( DS18B20出厂时被设置为 12 位)表 4: 温度辨论率设置表R1R0辨论率温度最大转换时间009 位93.75ms0110 位187.5ms1011 位375ms1112 位750ms、高速暂存储备器高速暂存储备器由 9 个字节组成,其安排如表5 所示;当温度转换命令发欢迎下载精品学习资源布后,经转换所得的温度值以二字节补码形式存放在高速暂存储备器的第0 和第 1 个字节; 单片机可通过单线接口读到该数据,读取时低位在前,高位在后
19、,数据格式如表 1 所示;对应的温度运算:当符号位S=0 时,直接将二进制位转换为十进制;当 S =1 时,先将补码变为原码,再运算十进制值;表2 是对应的一部分温度值;第九个字节是冗余检验字节;表 5: DS18B20暂存寄存器分布寄存器内容字节地址温度值低位(LS Byte )0温度值高位(MS Byte)1高温限值( TH)2低温限值( TL)3配置寄存器4保留5保留6保留7CRC校验值8依据 DS18B20的通讯协议,主机(单片机)掌握DS18B20完成温度转换必需经过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位胜利后发送一条 ROM指令,最终发送 RAM指令,这样才
20、能对 DS18B20进行预定的操作;复位要求主 CPU将数据线下拉 500 微秒,然后释放,当 DS18B20收到信号后等待 1660 微秒左右后发出 60240 微秒的存在低脉冲,主 CPU收到此信号表示复位胜利;表 6: ROM指令表指 令约 定代码 功 能读 ROM33H读 DS1820温度传感器 ROM中的编码(即 64 位地址)欢迎下载精品学习资源符合 ROM 55H搜寻发出此命令之后,接着发出 64 位 ROM 编码,拜访单总线上与该编码相对应的 DS1820 使之作出响应,为下一步对该 DS1820 的读写作预备;用于确定挂接在同一总线上 DS1820 的个数和识别 64欢迎下载
21、精品学习资源ROM 0FOH位 ROM地址;为操作各器件作好预备;欢迎下载精品学习资源忽视 64 位 ROM地址,直接向 DS1820发温度变换命令;跳过 ROM 0CCH适用于单片工作;欢迎下载精品学习资源告警搜寻命令0ECH 执行后只有温度超过设定值上限或下限的片子才做出响应;欢迎下载精品学习资源表 7: RAM指令表指 令商定代码功 能欢迎下载精品学习资源温 度 变换44H启动 DS1820 进行温度转换, 12 位转换时最长为750ms9 位为 93.75ms ;结果存入内部 9 字节 RAM中欢迎下载精品学习资源欢迎下载精品学习资源读 暂 存器写 暂 存0BEH读内部 RAM中 9
22、字节的内容发出向内部 RAM的 3、4 字节写上、下限温度数据欢迎下载精品学习资源4EH器命令,紧跟该命令之后,是传送两字节的数据;欢迎下载精品学习资源欢迎下载精品学习资源复 制 暂存器48H将 RAM中第 3 、4 字节的内容复制到 EEPRO中M ;欢迎下载精品学习资源欢迎下载精品学习资源重调EEPROM0B8H将 EEPRO中M 内容复原到 RAM中的第 3 、4 字节;欢迎下载精品学习资源欢迎下载精品学习资源读 供 电方式0B4H读 DS1820的供电模式;寄生供电时 DS1820发送“ 0”,外接电源供电 DS1820 发送“ 1”欢迎下载精品学习资源、 DS18B20工作原理DS1
23、8B20的读写时序和测温原理与 DS1820相同,只是得到的温度值的位数因辨论率不同而不同,且温度转换时的延时时间由2s 减为 750ms; DS18B20测温原理如图3 所示;图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1;高温度系数晶振随温度变化其振荡率明 显转变,所产生的信号作为计数器2 的脉冲输入;计数器 1 和温度寄存器被预置在 55所对应的一个基数值;计数器1 对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1 的预置值减到 0 时,温度寄存器的值将加1,计数器 1 的预置将重新被装入,计数器1 重新开头对低温度系数晶振产生的脉冲信号进行计数
24、,如此循环直到计数器2 计数到 0 时,停止温度寄存器值的累加,欢迎下载精品学习资源此时温度寄存器中的数值即为所测温度;图3 中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1 的预置值;2.2.2 DS18B20 温度检测DS18B20连接从机的 P1.6 对温度进行检测; DS18B20采纳寄生电源供电方式, 如下图所示;单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个 MOSFE管T 来完成对总线的上拉;当 DS18B20处于写存储器操作和温度 A/D 转化操作时,总线上必需有强的上拉,上拉开启时间最长为 500ms;采纳寄生电源供
25、电方式时, VDD和 GND端均接地;由于单线制只有一根线,因此发送接口必需是三态的;对 DS18B20的设计,需要留意以下问题(1) 对硬件结构简洁的单线数字温度传感器DS18B20进行操作,需要用较为复杂的程序完成;编制程序时必需严格按芯片数据手册供应的有关操作次序进行,读、写时间片程序要严格按要求编写;特别在使用DS18B20的高测温辨论力时,对时序及电气特性参数要求更高;(2) 有多个测温点时,应考虑系统能实现传感器出错自动指示,进行自动DS18B20序列号和自动排序,以削减调试和爱护工作量;(3) 测温电缆线建议采纳屏蔽4 芯双绞线,其中一对线接地线与信号线, 另一组接 VCC和地线
26、,屏蔽层在源端单点接地; DS18B20在三线制应用时,应将其三线焊接坚固;在两线应用时,应将VCC与 GND接在一起,焊接坚固;如VCC脱开未接,传感器只送 85.0的温度值;(4) 实际应用时,要留意单线的驱动才能,不能挂接过多的DS18B20,同时仍应留意最远接线距离;另外仍应依据实际情形挑选其接线拓扑结构;欢迎下载精品学习资源3 系统总体方案及硬件设计3.1 AT89S51单片机的最小相系统图 2 AT89S52最小相系统欢迎下载精品学习资源3.2 DS18B20的 I/O 接线图图 3 DS18B20接线图3.3数据显示部分图 4 数据显示部分3.4 整体电路见附件二:系统原理图欢迎
27、下载精品学习资源开头系统初始化系统硬件测试程序温度显示子程序拨码开关扫描子程序温度测试及处理子程序串口通讯子程序4 软件设计4.1 概述整个系统的功能是由硬件电路协作软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了;从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个掌握系统的核心,特地用来和谐各执行模块和操作者的关系;二是执行软件(子程序),它是用来完成各种实质性的功能如测量、运算、显示、通讯等;每一个执行软件也就是一个小的功能执行模块;这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义;各执行模块规划好后,就可以规划监控程序了;第一要依据系统的总体功能和
28、键盘设置挑选一种最合适的监控程序结构, 然后依据实时性的要求,合理地支配监控软件和各执行模块之间地调度关系;4.2 主程序方案主程序调用了数码管显示程序、温度测试程序、中断掌握程序、单片机与PC机串口通讯等程序;温度测试程序:对温度芯片送过来的数据进行处理,进行判定和显示;数码管显示程序:向数码的显示送数, 掌握系统的显示部分;中断掌握程序:实现循环显示功能;串口通讯程序:实现 PC 机与单片机通讯,将温度数据传送给 PC机将各个功能程序以子程序的形式写好, 当写主程序的时候,只需要调用子程序, 然后在寄存器的安排上作一下调整,排除欢迎下载精品学习资源寄存器冲突和 I/O冲突即可;程序应当尽可
29、能多的使用调用指令代替跳转指令;由于跳转指令使得程序难以看懂各程序段之间的结构关系;而调用指令就不同,调用指令使得程序结构清楚,无论是修改仍是爱护都比较便利;将功能程序段写成子程序的形式,除了便利调用之外,仍有一个好处那就是以后写程序的时候假如要用到,就可以直接调用这个单元功能模块;4.3 DS18B20 的相处理子程序4.3.1 DS18B20 初始化子程序DS18B20的使用必需遵循初始化到 ROM 操作命令到储备器操作命令的规定协议;每完成一次测温,要重新进行初始化;单片机先发一个复位脉冲,保持低电平常间最少 480 s,最多不能超过 960 s;然后,单片机释放总线,等待 DS18B2
30、0 的应答; DS18B20在接收到复位脉冲后等待1560s 发出应答脉冲,应答脉冲持续60240s;4.3.2 DS18B20写掌握字子程序当主机把数据线从规律高电平拉到规律低电平的时候,写时间开头;写一位数据最少需要 60 s,两个数据位之间最少有1 s 的间隔; I/O总线拉低后, DS18B20在 15s 后开头采样,假如线上是高电平,就写1,假如线上是低电平,就写0,写时间需要1575s,且在 2次独立的写时间之间至少需要1s 的复原时间;4.3.3 DS18B20 读出温度子程序当主机把数据线从高电平拉到低电平常,读时间开头;读出温度子程序的主要功能是读出 RAM 中的 9 字节,
31、在读出时需进行 CRC 校验,校验有错时不进行温度数据的改写;读时间需 15 60 s,且在 2 次独立的读时间之间至少需要 1 s 的复原时间; DSl8B20 在读时间开头 15 s 后开头采样总线电平;4.3.4 DS18B20 温度转换子程序温度转换命令子程序主要是发温度转换开头命令, DS18B20用 12 位存贮温度值,最高位为符号位,低四位为小数,最高精度可达 0.0625 度;温度数据转换完成的任务是把用二进制表示的温度转换成 1 个字节的两位压缩 BCD码;欢迎下载精品学习资源转换的方法有两种,一种是通过运算,另一种是通过查表,该装置设计方案采用前者;运算温度子程序温度读取值
32、进行BCD 码的转换运算,并进行温度值正负的判定;4.4 各模块工作流程图4.4.1 上位机工作过程等待串口中断中断恳求响应中断并接收数据判定是否等于上下限值相应指示灯亮(上 -红)(下 -绿)四位数是否发送完毕否是显示当前温度图 5 上位机工作流程图欢迎下载精品学习资源4.4.2 DS18B20 工作过程18B20初始化否初始化胜利是跳过读序号列号操作启动温度转换跳过读序号列号操作读取温度寄存器处理读数图 6 DS18B20工作流程图本次通讯中,测控系统分位上位机和下位机之间的通信,系统中单片机负责数据采集、处理和掌握,上位机进行现场可视化检测,通信协议采纳半双工异步串行通信方式,通过RS2
33、32的 RTS信号进行收发转换,传输数据采纳二进制数据,上位机与下位机之间采纳主从式通讯;欢迎下载精品学习资源4.4.3 下位机接收过程读取当前温度实现温度转换G=0判定是否有键按下UP=0判定增减键DW=0UP=0判定增减键DW=0增加上限值并显示减小上线值并显示增加上限值并显示减小上线值并显示与当前温度值比较与当前温度值比较是判定是否超限否发出报警信号发送当前温度图 7 下位机工作流程图下位机采纳的是单片机基于数字温度传感器DS18B20的系统; DS18B20利用单总线的特点可以便利的实现多点温度的测量,轻松的组建传感器网络,系统的抗干扰性好、设计敏捷、便利,而且适合于在恶劣的环境下进行
34、现场温度测欢迎下载精品学习资源量;本系统可以应用在大型工业及民用常温多点监测场合;如粮食仓储系统、楼宇自动化系统、温掌握程生产线之温度影像检测、医疗与健诊的温度测试、空调系统的温度检测、石化、机械等;5 Proteus 软件仿真见附三: proteus软件仿真图6 课程设计体会通过此次课程设计,我更加扎实的把握了有关单片机方面的学问,在设计过程中虽然遇到了一些问题,但经过一次又一次的摸索,一遍又一遍的检查最终找出了缘由所在,也暴露出了前期我在这方面的学问欠缺和体会不足;让我明白纸上得来总觉浅,须知此事要躬行的深刻内涵;在课程设计过程中,我们不断发觉错误,不断改正,不断领会,不断猎取;最终的检测
35、调试环节,本身就是在践行“过而能改,善莫大焉”的知行 观;这次课程设计最终顺当完成了,在设计中遇到了许多问题,最终在自己的不断调试中得到解决;在今后社会的进展和学习实践过程中,肯定要不懈努 力,不能遇到问题就想到要退缩,肯定要不厌其烦的发觉问题所在,然后一一进行解决;我认为,在这学期的试验中,不仅培育了独立摸索、动手操作的才能,在各种其它才能上也都有了提高;更重要的是,在试验课上,我们学会了许多学习的方法;而这是日后最有用的,真的是受益匪浅;要面对社会的挑战,只有不断的学习、实践,再学习、再实践;这对于我们的将来也有很大的帮忙;以后,不管有多苦,我想我们都能变苦为乐,找寻好玩的事情,发觉其中宝
36、贵的事情;就像中国提倡的艰苦奋斗一样,我们都可以在试验终止之后变的更加成熟,会面对需要面对的事情;此课程设计,我感叹颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到许多许多的东西,同时不仅可以巩固了以前所学过的学问,而且学到了许多在书本上所没有学到过的学问;通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论学问是远远不够的,只有把所学欢迎下载精品学习资源的理论学问与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手才能和独立摸索的才能;在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到明白决;7 参考文献(1) ) 单片机原
37、理及应用技术余发山, 王福忠主编 , 徐州;中国矿业高校出版社 2021.(2) ) 数字温度传感器 DS18B20及其应用 .pdf(3) )余永权 . ATMEL 89 系列单片机应用技术 M.北京: 北京航空航天高校出版社2002.(4) )贾振国 . DS1820 及高精度温度测量的实现 J. 电子技术应用, 2000( 1): 58 - 59.1 余发山,王福忠 单片机原理及应用技术徐州:中国矿业高校出版社 , 20212 张靖武. 单片机原理应用与 PROTEU仿S真.电子工业出版社, 20213 郭天祥 新概念 51 单片机 C语言教程 北京:电子工业出版社 , 20214 戴胜
38、华,蒋大明 . 单片机原理与应用 . 北京:清华高校出版社, 20055 张毅刚. 单片机原理及应用 . 高等训练出版社 ,20046 马忠梅 . 单片机的 C语言应用程序设计(第三版). 北京航空航天高校出版社,2004欢迎下载精品学习资源附件一:源程序代码上位机源程序#includeunsigned char t=0,0,tt1=0,0,0,0,0,tt24,flag=1;unsigned char *pt ;/ 用来存放温度值 ,测温程序就是通过这个数组与主函数通信的unsigned char code dotcode=0,25,50,75;sbit DQ = P16 ;sbit UP=
39、P10 ;sbit DW=P11 ;sbit G=P12 ;void delayunsigned char iwhilei- ;void delay_18B20unsigned int iwhilei- ;/*ds18b20初始化函数 */ void Init_DS18B20voidunsigned char x=0 ;DQ = 1 ;/DQ 复位delay_18B208 ; /稍做延时DQ = 0 ;/ 单片机将 DQ 拉低delay_18B2080 ; /精确延时 大于 480us DQ = 1 ;/ 拉高总线delay_18B2014 ;x=DQ ;/ 稍做延时后 假如 x=0 就初始化
40、胜利 x=1 就初始化失败delay_18B2020 ;/*ds18b20读一个字节 */ unsigned char ReadOneCharvoidunsigned char i=0 ;unsigned char dat = 0 ;for i=8 ;i0 ; i-欢迎下载精品学习资源DQ = 0 ; / 给脉冲信号dat=1 ;DQ = 1 ; / 给脉冲信号ifDQ dat|=0x80 ;delay_18B204 ;returndat ;/*ds18b20写一个字节 */ void WriteOneCharunsigned char datunsigned char i=0 ;for i=
41、8 ; i0 ; i-DQ = 0 ;DQ = dat&0x01 ;delay_18B205 ;DQ = 1 ;dat=1 ;/*读取 ds18b20 当前温度 */unsigned char *ReadTemperaturechar TH,char TL,unsigned char RSunsigned char tt=0,0;Init_DS18B20 ;WriteOneChar0xCC ;/ 跳过读序号列号的操作WriteOneChar0x4E ; / / 写入 写暂存器 命令,修改 TH 和 TL 和分辩率配置寄存器/先写 TH, 再写 TL, 最终写配置寄存器WriteOneCharT
42、H ;/ 写入想设定的温度报警上限WriteOneCharTL ;/ 写入想设定的温度报警下限WriteOneCharRS ;/ 写配置寄存器 ,格式为 0 R1 R0 1,1 1 1 1/R1R0=00 辨论率娄9 位,R1R0=11辨论率为 12 位欢迎下载精品学习资源delay_18B2080 ;/ this message is very important Init_DS18B20 ;WriteOneChar0xCC ;/ 跳过读序号列号的操作WriteOneChar0x44 ;/ 启动温度转换delay_18B2080 ;/ this message is wery important Init_DS18B20 ;WriteOneChar0xCC ; /跳过读序号列号的操作WriteOneChar0xBE ; / 读取温度寄存器等(共可读9 个寄存器)前两个就是温度delay_18B2080 ;tt0=ReadOneChar ;/ 读取温度值低位tt1=ReadOneChar ;/读取温度值高位returntt ;void initSCON=0X40 ; / 多机通信方式,接收答应PCON=0X00 ; / 波特率加倍TMOD=0x20 ; / 定时器