《2022年温度采集与显示系统.docx》由会员分享,可在线阅读,更多相关《2022年温度采集与显示系统.docx(64页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选学习资料 - - - - - - - - - 光电与通信工程学院课程设计报告书课设名称:温度采集与显示系统年级专业及班级:姓 名:学 号:组 号:1 名师归纳总结 - - - - - - -第 1 页,共 34 页精选学习资料 - - - - - - - - - 温度采集与显示系统摘要温度是一种最基本的环境参数, 也是一个特别重要的物理量, 对它的测量与掌握有特别重要的意义; 随着现代工农业技术的进展及人们对生活环境要求的提高,人们也迫切需要检测与掌握温度:如大气及空调房中温度的高低,直接影响着人们的身体健康; 粮仓温度的检测, 防止粮食发霉, 最大限度地保持粮食原有新奇品质,达到粮食保质
2、保鲜的目的;工业易燃品的存放;温度测量在物理试验、医疗卫生、食品生产等领域,特殊在热学试验中,有特殊重要的意义;随着人们生活水平的不断提高, ,人们对温度计的要求越来越高,传统的温度计功能单一、精度低,要为现代人工作、科研、生活、供应更好的更便利的设施就需要从单片机技术入手,向进展;一切向着数字化掌握, 智能化掌握方本次课程设计介绍了以 STC89C51单片机为核心的温度检测报警系统的工作原理和设计方法; 温度信号由温度传感器芯片 传送给单片机,单片机再掌握数码管驱动芯片DS18B20采集,并以数字信号的方式 74LS573驱动 4 位分立式数码管显示实时温度,当检测到的温度超出了给定的温度范
3、畴(默认下限为 20,默认上限为 35),系统将输出报警声; 本系统的主要硬件电路包括: 温度检测电路,数码管驱动电路, 报警电路; 另外本系统的软件部分占了很大的比重,主要的软件模块包括:温度传感器程序,数码管驱动及显示程序,报警程序;关键词 :温度测量,单片机,温度传感器2 名师归纳总结 - - - - - - -第 2 页,共 34 页精选学习资料 - - - - - - - - - 目 录一、 序论 1 (一)设计背景与课程目的 1 (二)设计任务要求 1 二、 系统的主要功能及工作流程 1 (一)系统具有以下功能 1(二)系统的工作流程 2 三、 硬件电路原理描述 2 (一)试验步骤
4、 2(二)所用芯片及其功能 3 1 、STC89C52 4 2、MAX232CPE 4 (三)硬件电路原理 4 1、掌握部分 4 2、测量部分 6 3、显示部分 7 4、报警部分 7 四、 软件设计流程及描述 8 五、心得体会 10 参考文献 12 致谢 13 附录(一)系统总硬件电路原理图 14(二)系统源程序代码(要有注释) 143 名师归纳总结 - - - - - - -第 3 页,共 34 页精选学习资料 - - - - - - - - - 一、序论(一)设计背景与课程目的温度是一种最基本的环境参数, 也是一个特别重要的物理量, 对它的测量与掌握有特别重要的意义; 随着现代工农业技术的
5、进展及人们对生活环境要求的提高,人们也迫切需要检测与掌握温度:如大气及空调房中温度的高低,直接影响着人们的身体健康; 粮仓温度的检测, 防止粮食发霉, 最大限度地保持粮食原有新奇品质,达到粮食保质保鲜的目的;工业易燃品的存放;本次课程设计介绍了以 STC89C51单片机为核心的温度检测报警系统的工作原理和设计方法; 温度信号由温度传感器芯片 式传送给单片机, 单片机再掌握数码管驱动芯片DS18B20采集,并以数字信号的方 74LS573驱动 4 位分立式数码管显示实时温度,当检测到的温度超出了给定的温度范畴(默认下限为 20,默认上限为 35),系统将输出报警声;本系统的主要硬件电路包括:温度
6、检测电路,数码管驱动电路,报警电路;另外本系统的软件部分占了很大的比重,主要的软件模块包括:温度传感器程序,数码管驱动及显示程序,报警程序;(二)设计任务要求1、依据设计内容与要求,弄清系统及各个模块的工作流程,完成电路原理图,包括单片机最小系统模块、LCD 显示模块、储备模块、串行口下载模块和电源模块,最终在万用板上焊接,完成整个系统硬件设计;2、依据设计内容与要求,弄清系统及各个模块的工作流程,完成系统的软件设计,包括系统主程序、温度读取子程序、LCD 显示子程序、储备子程序等,可使用汇编语言或是C 语言编写,建议使用C 语言编写;3、第一使用 Proteus进行仿真和调试, 在仿真通过后
7、, 将程序通过串行口下 载电路下载到单片机中,最终使得系统在脱机情形下,能稳固牢靠地工作;二、 系统的主要功能及工作流程(一)系统具有以下功能:1、能正确检测温度;2、在 1602 上实时显示温度;3、每隔 10 秒采集一次温度数据并储存到 AT24C02 4、按键按下后,可逐个显示之前采集到的数据;5、其他功能可依据系统上的资源自行设定;利用 STC89C52、DS18B20、LCD1602、AT24C02 等元器件设计温度采集与1 名师归纳总结 - - - - - - -第 4 页,共 34 页精选学习资料 - - - - - - - - - 显示系统;扩展功能:温度超过设定值,蜂鸣器报警
8、;时间日期的显示;按键按下,重新开头采集温度等等;(二)系统的工作流程总体设计框图:显示温度采集(DBS18B20)单片机STC89C51阈值设定(键盘)系统设计思路为以单片机为掌握中心,报警(蜂鸣器)通过实时采集温度传感器DBS18B20获得当前的温度值,通过LED 显示当前温度,同时使用键盘设定温度阈值,当测定温度大于温度阈值后, 利用蜂鸣器报警;系统包括包括单片机最小系统模块、LED 显示模块、蜂鸣器报警模块、矩阵键盘模块、串行口下载模块和电源模块;三、硬件电路原理描述(1)试验步骤系统的主要功能是实现温度信号的采集,在4 位 LED 显示器上显示当前的温度和通道号;模拟现场两个点的温度
9、巡回检测,温度范畴 0-510 摄氏度;每隔0.5 秒检测一次,经标度变换后送 秒;试验步骤如下:LED 显示器显示, 4 路循环显示,每路连续两1、从 PC 机引出两根电缆连接在试验平台上;2、编写程序然后编译连接;3、依据附录一电路图所示连接试验线路;2 名师归纳总结 - - - - - - -第 5 页,共 34 页精选学习资料 - - - - - - - - - 4、运行参考程序,观看LED 显示器上的通道号和温度值;(二)所用芯片及其功能1、STC89C52STC89C52RC 引脚功能说明VCC(40引脚):电源电压 VSS(20引脚):接地 P0端口( P0.0P0.7,3932
10、引脚):P0口是一个漏极开路的 8位双向 I/O口;作为输出端口,每个引脚能驱动 阻抗输入;8个 TTL负载,对端口 P0写入 “ 1”时,可以作为高P1端口(P1.0P1.7,18引脚):P1口是一个带内部上拉电阻的 8位双向 I/O 口; P1的输出缓冲器可驱动(吸取或者输出电流方式)4个TTL输入;P2端口( P2.0P2.7, 2128引脚): P2口是一个带内部上拉电阻的 8位双 向I/O端口; P2的输出缓冲器可以驱动(吸取或输出电流方式)4个TTL输入;P3端口(P3.0P3.7,1017引脚):P3是一个带内部上拉电阻的 8位双向 I/O 端口; P3的输出缓冲器可驱动(吸取或
11、输出电流方式)4个TTL输入;RST(9引脚):复位输入;当输入连续两个机器周期以上高电平常为有效,用来完成单片机单片机的复位初始化操作;看门狗计时完成后,RST引脚输出 96个晶振周期的高电平;ALE/(30引脚):地址锁存掌握信号(ALE)是拜访外部程序储备器时,锁存 低8位地址的输出脉冲;(29引脚):外部程序储备器选通信号 是 外 部 程 序 存 储 器 选 通 信 号 ; 当AT89C51RC从外部程序储备器执行外部代 码时,在每个机器周期被激活两次,而访问外部数据储备器时,将不被激活;VPP(31引脚):拜访外部程序储备 器掌握信号;为使能从 0000H到FFFFH的外部程序储备器
12、读取指令,必需接 GND;注 意加密方式 1时,将内部锁定位 RESET;为了执行内部程序指令,应当接VCC;在 Flash编程期间,也接收 12伏VPP电压;XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端;3 名师归纳总结 - - - - - - -第 6 页,共 34 页精选学习资料 - - - - - - - - - XTAL2(18引脚):振荡器反相放大器的输入端;2、MAX232CPE MAX232CPE 是16针SMD 封装IC,用于完成运算机 232 端口数据电平转换,连接 CMOS 电路的,换言之,假如离开它,我们就无法用软件监控电源状态了 (需要串口返回信
13、号) ;而 PIC16F870 就为 24 脚8位CMOS 闪存掌握器;用于可监控 UPS 当中;MAX232CPE 完成232电平与 TTL 电平转换,供应一个本地接口, 为调试和爱护供应便利; TXD接 SX52 的 RA2 脚, RXD 接 SX52 的 RA3 脚,RS-RXD 和 RS-TXD 是 RS232 电平,为标准串口电平;数据可以从串口输入到单片机 SX52 ,SX52再把数据送到 RTL8019AS 传出去;用于嵌入式设备上的应用(三)硬件电路原理系统总硬件电路原理图见 附录一1、掌握部分掌握部分是采纳单片机 STC89C52;STC89C52 是一种低功耗、高性能 CM
14、OS8 位微掌握器,具有8K 在系统可编程 Flash 存储器;STC89C52 使用经典的MCS-51内核,但做了许多的改进使得芯片具有传统51单片机不具备的功能;在单芯片上,拥有敏捷的8 位 CPU 和在系统可编程Flash ,使得 STC89C52为众多嵌入式掌握应用系统供应高敏捷、超有效的解决方案;具有以下标准功能:8k字节Flash ,512字节 RAM,32 位 I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810 复位电路,3个16位定时器/ 计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量 2级中断结构),全双工串行口;另外 STC89X52 可
15、降至 0Hz 静态规律操作,支持2种软件可挑选节电模式;闲暇模式下,CPU 停止工作,答应 RAM、定时器/ 计数器、串口、中断连续工作;掉电爱护方式下,RAM内容被储存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止;最高运作频率35MHz,6T/12T可选;4 名师归纳总结 - - - - - - -第 7 页,共 34 页精选学习资料 - - - - - - - - - 单片机总掌握电路如下图:1.2 复位操作本系统的复位电路 采纳按 键 电平复 位 方式 ,通 过使复位端经电阻 与Vcc 电源接通而实现的,其电路如下图所示上述电路图中的电阻、电容参数适用于 高电平连续时
16、间大于 2 个机器周期;6MHz 晶振,能保证复位信号1.3 STC89C52 主要功能 ,如下表所示 STC89C52主要功能5 名师归纳总结 - - - - - - -第 8 页,共 34 页精选学习资料 - - - - - - - - - 主要功能特性兼容 MCS51指令系统 8K 可反复擦写 Flash ROM 32 个双向 I/O 口 256x8bit 内部 RAM 3 个 16 位可编程定时 / 计数器中断 时钟频率 0-24MHz 2 个串行中断 可编程 UART串行通道2 个外部中断源 共 6 个中断源2 个读写中断口线 3 级加密位低功耗闲暇和掉电模式 STC89C52管脚介
17、绍:软件设置睡眠和唤醒功能 主电源引脚(2 根)VCCPin40 :电源输入,接5V 电源GNDPin20 :接地线 外接晶振引脚(2 根)XTAL1Pin19 :片内振荡电路的输入端 XTAL2Pin20 :片内振荡电路的输出端 掌握引脚(4 根)RST/VPPPin9 :复位引脚,引脚上显现 单片机复位;ALE/PROGPin30 :地址锁存答应信号 PSENPin29 :外部储备器读选通信号2 个机器周期的高电平将使EA/VPPPin31 :程序储备器的内外部选通,接低电平从外部程序存储器读指令,接高电平就从内部程序储备器读指令;可编程输入 / 输出引脚(32 根)STC89C52单片机
18、有 4 组 8 位的可编程 I/O 口,分别位 P0、 P1、 P2、P3 口,每个口有 8 位( 8 根引脚),共 32 根;PO口( Pin39 Pin32 ): 8 位双向 I/O 口线,名称为 P0.0 P0.7 P1 口( Pin1 Pin8 ): 8 位准双向 I/O 口线,名称为 P1.0 P1.7 P2 口( Pin21 Pin28 ): 8 位准双向 I/O 口线,名称为 P2.0 P2.7 P3 口( Pin10 Pin17 ): 8 位准双向 I/O 口线,名称为 P3.0 P3.7 2、测量部分测量部分我们采纳美国DALLAS公司生产的DS18B20温度传感器;2.1
19、DS18B20 简介DS18B20 数 字 温 度 传 感 器 , 该 产 品 采 用 美 国6 DALLAS 公 司 生 产 的名师归纳总结 - - - - - - -第 9 页,共 34 页精选学习资料 - - - - - - - - - DS18B20 可组网数字温度传感器芯片封装而成,具有耐磨耐碰,体积小,使用便利, 封装形式多样, 适用于各种狭小空间设备数字测温顺掌握领域;2.2 封装及接线说明:DS18B20芯片封装结构:特点:特殊的一线接口,只需要一条口线通信多点才能,简化了分布式温度传感应用 无需外部元件 可用数据总线供电,电压范畴为 3.0V至 5.5V 无需备用电源 测量温
20、度范畴为- 55 C 至 +125 ;华氏相当于是- 67 F 到 257 华氏度 - 10 C 至+85 C 范畴内精度为0.5 C 2.3 DS18B20 掌握方法 DS18B20有六条掌握命令:温度转换 44H :启动 DS18B20进行温度转换 读暂存器 BEH:读暂存器 9 个字节内容 写暂存器 4EH :将数据写入暂存器的 TH、TL 字节 复制暂存器 48H :把暂存器的 TH、TL 字节写到 E2RAM中 读电源供电方式 B4H :启动 DS18B20发送电源供电方式的信号给主 CPU 3、显示部分 内部的四个数码管共用 adp 这 8根 数据线,为人们的使用供应了便利,因 为
21、里面有四个数码管,所以它有四个公 共端,加上 adp,共有 12个引脚,下面 便是一个共阴的四位数码管的内部 结构 图(共阳的与之相反);引脚排列依旧是从左下角的那个脚(1脚)开头,以逆时针方向依次为 112脚,上图中 的数字与之一一对应;4、报警部分 本系统设计三个按键,采纳查询方式,一个用于挑选切换设置报警温度和当 前温度,另外两个分别用于设置报警温 度的加和减;7 名师归纳总结 - - - - - - -第 10 页,共 34 页精选学习资料 - - - - - - - - - 四、软件设计流程及描述系统软件程序采纳 下三个模块:C51语言编写;本程序采纳模块化程序方法, 主要分为以 L
22、CD初始化显示模块 DS18B20数据采集模块温度报警上下限设置模块整个系统的功能是由硬件电路协作软件来实现的,当硬件基本定型后软件的功能也就基本定下来了; 从软件的功能不同可分为两大块:第一块是对数字温度传感器的操作,通过单片机对DS18B20 进复位,进行数据读取等操作;其次块是掌握 LED 数码显示,将温度数据在 LED 上显示出来;程序流程图设计:开头初始化 LCD1602调用 DS18B20 模块调用报警模块温度显示主程序流程图8 名师归纳总结 - - - - - - -第 11 页,共 34 页精选学习资料 - - - - - - - - - 主机发出开头信号主机设置为输入模式跳出
23、NDS18B20是否响应?Y等待 480us接收数据拉低总线,延时45us释放总线DS18B20 数据采集流程图9 名师归纳总结 - - - - - - -第 12 页,共 34 页精选学习资料 - - - - - - - - - 进入设置模式(按键)设置温度报警上下限TH 与 TL调用 DS18B20 模块Temp=TH|Temp=TL.NY报警(LED亮,蜂鸣器响)温度显示报警模块流程图五、心得体会硬件(庄春兰)通过这次课程的课程设计, 我深深的熟识到自己的许多不足,在实际的动手焊接过程中, 我发觉自己仍是有许多欠缺的,第一就是要进行排版, 这是特别重要的,这关系到这个版的美观, 以及走线
24、的正确性; 当然在焊接过程最需要的是仔细,不仅需要分清晰器件的正反,更重要的是查清晰器件的管脚图,依照管脚图进行焊接,以及明白各个管脚的作用;再就,就是走线的问题,走线尽量走直线,但是由于焊锡的不足, 所以我们的板通过导线来走线,这样可以省下许多焊锡,但是不足的是影响了作品的美观度;焊接的时候要求对每个节点焊接坚固,10 名师归纳总结 - - - - - - -第 13 页,共 34 页精选学习资料 - - - - - - - - - 防止显现虚焊这种现象; 但是,当我们讲作品依据原理图连接完成的时候,发觉只有 LED 亮,并且闪耀;电路显现不稳固的现在,LED 上无显示;经排查,发现插头显现
25、漏电的现象,另外接了一个导线,LED 灯不闪耀;仔细的用万用表测量了单片机的引脚之后发觉芯片在插的时候有一个引脚没有插进去,重新弄了之后, LED 灯可以显示数据,并且可以实现功能;软件(王璇)依据试验的要求,我对相关的学问进行了复习, 查询了各个器件的相关资料,并且找到了适合的方案进行了程序的编写;第一依据课程设计的要求写好程序的流程图,然后再进行相关的功能扩张, 在程序流程图的基础上依据芯片的功能写出相对应的程序和扩展功能程序,然后再进行不断的调试和相应的修改,来实现要求的功能;程序都是由各个子程序组成,为了让自己更好的懂得自己的程序,我都在程序后面加注释, 这样在程序出错的检查过程中可以
26、更简单查找的到,也更简洁,更明白易懂;在写程序时候由于中断程序出错导致无法实现功能,排除错误之后程序运行正常, 通过这次的课程设计我明白了理论和实际相结合的重要性,设计都是自己从头到尾渐渐的修改出来的,这让我熟识了整个设计的过程,更系统的锤炼了自己,从而对书本上所学的学问有了更详细的懂得;11 名师归纳总结 - - - - - - -第 14 页,共 34 页精选学习资料 - - - - - - - - - 参考文献1 单片机原理及应用; 徐敏,刘建春,关健生;机械工业出版社 2 单片机原理及接口技术,李朝青编著,北京航空航天高校出版社;3 微机原理及接口技术,李顺增、吴国东、乔志伟,机械工业
27、出版社;4 电子技术常用器件应用手册,陈汝全,机械工业出版社;5 单片机原理及接口技术,李朝青,北京航空航天高校出版社;6 单片机微型运算机及其应用,孙育才,东南高校出版社;7 基于单片机的自适应温度掌握系统;叶丹12 名师归纳总结 - - - - - - -第 15 页,共 34 页精选学习资料 - - - - - - - - - 致谢人生的成长历程始终是向前的;当一个阶段快要终止即将迈入另一个阶段 时,自然需要对 即 将 过 去 的 进 行 思 考 和 小 结 ; 自 己 一 直 在 思 考 学 业 、 职 业、事业 的哲 学关 系 ,也 许本 来就 没有 固 定的 答案 和模 式;需 要
28、的 是对 自己 对时 间、对生 命 的尊 重和 珍爱 ,同 样 需要 对在 我成 长历 程 中、在人 生某 个阶 段一 直给 予 我帮 助、指 导、鼓 励 、支持、信任、爱惜 的人,表 达真正的感谢;可以用客套、冠冕堂皇的话,也可以挑选淳朴;后者才更真挚,更深化心灵;在这里我要感谢指导老师和同学对我的尽心指导与帮忙;老师 诲人 不倦 的 精神 ,治 学严 谨的 态 度,让我 无比 敬佩 ;仍要 感谢 高校 期间 遇 到的 其他 老师,感谢 你们 让我 在学 到知 识的 同 时,也学到了如何做人,你们的言传身 教将让我一生受用;13 名师归纳总结 - - - - - - -第 16 页,共 34
29、 页精选学习资料 - - - - - - - - - 附录一系统总硬件电路原理图附录二系统源程序代码主程序#include #include char miao,shi,fen; uint s1num; uchar count; uint su,tt,mm,m,n; uchar buff4; unsigned char pDat7,pDat17; sbit s1=P30; 14 名师归纳总结 - - - - - - -第 17 页,共 34 页精选学习资料 - - - - - - - - - sbit s2=P31; sbit s3=P36; void main m=0; n=0; init;
30、 EX0=1; /init_com; / 包含了对定时器 0 的设定 while1 write_sfm10,miao; write_sfm7,fen; write_sfm4,shi; dis_temptt; dis_temp1mm; keyscan; void int_0 interrupt 0 EA=0; IRcvStr0xa0,n,&pDat10,8; /mm=pDat10; /mm8&0xff; /pDat1=uchartt&0xff; pDat0=tt/100; pDat1=tt%100/10; pDat2=tt%10; ISendStr0xa0,m,&pDat0,8; /存温度 m=
31、m+8; pDat0=0; pDat1=0; pDat2=0; count+; ifcount=20 count=0; miao+; 18 名师归纳总结 - - - - - - -第 21 页,共 34 页精选学习资料 - - - - - - - - - ifmiao=60 miao=0; fen+; iffen=60 fen=0; shi+; ifshi=24 / shi=0; write_sfm4,shi; /write_sfm7,fen; /write_sfm10,miao; DS18B20复位函数#include #include #include sbit ds=P22; /温度传感
32、器信号线 /sbit beep=P23; /蜂鸣器 uint temp; float f_temp; void dsresetvoid /18B20 复位,初始化函数 uint i; ds=0; i=103; whilei0i-; ds=1; i=4; whilei0i-; bit tempreadbitvoid /读 1 位函数 uint i; bit dat; 19 名师归纳总结 - - - - - - -第 22 页,共 34 页精选学习资料 - - - - - - - - - ds=0;i+; ds=1;i+;i+; /i+ 起延时作用dat=ds; i=8;whilei0i-; return dat; uchar tempreadvoid /读 1 个字节 uchar i,j,dat; dat=0; fori=1;i=8;i+ j=tempreadbit; dat=j1; DAT 里 returndat; /读出的数据最低位在最前面,这样刚好一个字节在void tempwritebyteuchar dat /向 18B20 写一个字节数据