温度采集与显示系统.doc

上传人:豆**** 文档编号:24021344 上传时间:2022-07-03 格式:DOC 页数:23 大小:306.50KB
返回 下载 相关 举报
温度采集与显示系统.doc_第1页
第1页 / 共23页
温度采集与显示系统.doc_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《温度采集与显示系统.doc》由会员分享,可在线阅读,更多相关《温度采集与显示系统.doc(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流温度采集与显示系统.精品文档.光电与通信工程学院课程设计报告书课 设 名 称: 温度采集与显示系统 年级专业及班级: 姓 名: 学 号: 组 号: 温度采集与显示系统 摘要温度是一种最基本的环境参数,也是一个十分重要的物理量,对它的测量与控制有十分重要的意义。随着现代工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度:如大气及空调房中温度的高低,直接影响着人们的身体健康;粮仓温度的检测,防止粮食发霉,最大限度地保持粮食原有新鲜品质,达到粮食保质保鲜的目的;工业易燃品的存放。温度测量在物理实验、医疗卫生、食品生产等领域,尤

2、其在热学试验中,有特别重要的意义。随着人们生活水平的不断提高,,人们对温度计的要求越来越高,传统的温度计功能单一、精度低,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。 本次课程设计介绍了以STC89C51单片机为核心的温度检测报警系统的工作原理和设计方法。温度信号由温度传感器芯片DS18B20采集,并以数字信号的方式传送给单片机,单片机再控制数码管驱动芯片74LS573驱动4位分立式数码管显示实时温度,当检测到的温度超出了给定的温度范围(默认下限为20,默认上限为35),系统将输出报警声。本系统的主要硬件电路包括:温度检测电

3、路,数码管驱动电路,报警电路。另外本系统的软件部分占了很大的比重,主要的软件模块包括:温度传感器程序,数码管驱动及显示程序,报警程序。关键词:温度测量,单片机,温度传感器目 录一、 序论1(一)设计背景与课程目的 1(二)设计任务要求 1二、系统的主要功能及工作流程 1(一)系统具有以下功能 1(二)系统的工作流程 2三、硬件电路原理描述 2(一)实验步骤 2(二)所用芯片及其功能 3 1、STC89C52 42、 MAX232CPE 4(三)硬件电路原理 4 1、控制部分 42、测量部分 63、显示部分 74、报警部分 7四、软件设计流程及描述 8五、心得体会10参考文献12 致谢 13附录

4、(一)系统总硬件电路原理图 14(二)系统源程序代码(要有注释) 14一、 序论 (一)设计背景与课程目的温度是一种最基本的环境参数,也是一个十分重要的物理量,对它的测量与控制有十分重要的意义。随着现代工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度:如大气及空调房中温度的高低,直接影响着人们的身体健康;粮仓温度的检测,防止粮食发霉,最大限度地保持粮食原有新鲜品质,达到粮食保质保鲜的目的;工业易燃品的存放。本次课程设计介绍了以STC89C51单片机为核心的温度检测报警系统的工作原理和设计方法。温度信号由温度传感器芯片DS18B20采集,并以数字信号的方式传送给单片机,单

5、片机再控制数码管驱动芯片74LS573驱动4位分立式数码管显示实时温度,当检测到的温度超出了给定的温度范围(默认下限为20,默认上限为35),系统将输出报警声。本系统的主要硬件电路包括:温度检测电路,数码管驱动电路,报警电路。另外本系统的软件部分占了很大的比重,主要的软件模块包括:温度传感器程序,数码管驱动及显示程序,报警程序。(二)设计任务要求 1、根据设计内容与要求,弄清系统及各个模块的工作流程,完成电路原理图,包括单片机最小系统模块、LCD显示模块、存储模块、串行口下载模块和电源模块,最终在万用板上焊接,完成整个系统硬件设计。 2、根据设计内容与要求,弄清系统及各个模块的工作流程,完成系

6、统的软件设计,包括系统主程序、温度读取子程序、LCD显示子程序、存储子程序等,可使用汇编语言或是C语言编写,建议使用C语言编写。 3、首先使用Proteus进行仿真和调试,在仿真通过后,将程序通过串行口下载电路下载到单片机中,最终使得系统在脱机情况下,能稳定可靠地工作。二、系统的主要功能及工作流程 (一)系统具有以下功能:1、 能正确检测温度;2、 在1602上实时显示温度;3、 每隔10秒采集一次温度数据并保存到AT24C024、 按键按下后,可逐个显示之前采集到的数据;5、 其他功能可根据系统上的资源自行设定。 利用STC89C52、DS18B20、LCD1602、AT24C02等元器件设

7、计温度采集与显示系统。扩展功能:温度超过设定值,蜂鸣器报警;时间日期的显示;按键按下,重新开始采集温度等等。(二)系统的工作流程总体设计框图:系统设计思路为以单片机为控制中心,通过实时采集温度传感器DBS18B20获得当前的温度值,通过LED显示当前温度,同时使用键盘设定温度阈值,当测定温度大于温度阈值后,利用蜂鸣器报警。系统包括包括单片机最小系统模块、LED显示模块、蜂鸣器报警模块、矩阵键盘模块、串行口下载模块和电源模块。三、 硬件电路原理描述(1)实验步骤系统的主要功能是实现温度信号的采集,在4位LED显示器上显示当前的温度和通道号。模拟现场两个点的温度巡回检测,温度范围0-510摄氏度。

8、每隔0.5秒检测一次,经标度变换后送LED显示器显示,4路循环显示,每路持续两秒。实验步骤如下:1、从PC机引出两根电缆连接在试验平台上。2、编写程序然后编译连接。3、按照附录一电路图所示连接试验线路。4、运行参考程序,观察LED显示器上的通道号和温度值。(二)所用芯片及其功能1、STC89C52STC89C52RC引脚功能说明VCC(40引脚):电源电压VSS(20引脚):接地P0端口(P0.0P0.7,3932引脚):P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。 P1端口(P1.0P1.7,18引脚):P1

9、口是一个带内部上拉电阻的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的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。RST(9引脚):复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。看门狗计时完成后,RST引脚输出96个晶振周期的高电平。ALE/(30引脚):地址锁

10、存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。(29引脚):外部程序存储器选通信号是外部程序存储器选通信号。当AT89C51RC从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而访问外部数据存储器时,将不被激活。VPP(31引脚):访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,必须接GND。注意加密方式1时,将内部锁定位RESET。为了执行内部程序指令,应该接VCC。在Flash编程期间,也接收12伏VPP电压。XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。XTAL2(18引脚):振荡器反相放大器的输

11、入端。2、 MAX232CPE MAX232CPE是16针SMD封装IC,用于完成 计算机232端口数据电平转换,连接CMOS电路的,换言之,如果离开它,我们就无法用软件监控电源状态了(需要串口返回信号)。而PIC16F870则为24脚8位CMOS闪存控制器。 用于可监控UPS当中。MAX232CPE完成232电平与TTL电平转换,提供一个本地接口,为调试和维护提供方便。TXD接SX52的RA2脚,RXD接SX52的RA3脚,RS-RXD和RS-TXD是RS232电平,为标准串口电平。数据可以从串口输入到单片机SX52,SX52再把数据送到RTL8019AS传出去。用于嵌入式设备上的应用(三)

12、 硬件电路原理系统总硬件电路原理图见附录一1、控制部分控制部分是采用单片机STC89C52。STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能:8k字节Flash,512字节RAM,32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16位定时器/计数器,4个

13、外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。单片机总控制电路如下图:1.2 复位操作本系统的复位电路采用按键电平复位方式,通过使复位端经电阻与Vcc电源接通而实现的,其电路如下图所示上述电路图中的电阻、电容参数适用于6MHz晶振,能保证复位信号高电平持续时间大于2

14、个机器周期。1.3 STC89C52主要功能,如下表所示STC89C52主要功能主要功能特性兼容MCS51指令系统8K可反复擦写Flash ROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能STC89C52管脚介绍: 主电源引脚(2根)VCC(Pin40):电源输入,接5V电源GND(Pin20):接地线外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端

15、控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,接高电平则从内部程序存储器读指令。可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。PO口(Pin39Pin32):8位双向I/O口线,名称为P0.0P0.7P1口(Pin1Pin8):8位准双向I/O口线,名称为P1.0P1

16、.7 P2口(Pin21Pin28):8位准双向I/O口线,名称为P2.0P2.7 P3口(Pin10Pin17):8位准双向I/O口线,名称为P3.0P3.72、测量部分测量部分我们采用美国DALLAS公司生产的DS18B20温度传感器。2.1 DS18B20简介DS18B20数字温度传感器,该产品采用美国DALLAS公司生产的 DS18B20可组网数字温度传感器芯片封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。2.2封装及接线说明:DS18B20芯片封装结构:特点:独特的一线接口,只需要一条口线通信 多点能力,简化了分布式温度传感应用 无

17、需外部元件 可用数据总线供电,电压范围为3.0V至5.5V无需备用电源 测量温度范围为-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发送电源供电方式的信号给主CPU3、显示部分 内部的四个数码管共用adp这8根数据线,为人们的使用提供了方便

18、,因为里面有四个数码管,所以它有四个公共端,加上adp,共有12个引脚,下面便是一个共阴的四位数码管的内部结构图(共阳的与之相反)。引脚排列依然是从左下角的那个脚(1脚)开始,以逆时针方向依次为112脚,上图中的数字与之一一对应。4、报警部分本系统设计三个按键,采用查询方式,一个用于选择切换设置报警温度和当前温度,另外两个分别用于设置报警温度的加和减。四、 软件设计流程及描述 系统软件程序采用C51语言编写。本程序采用模块化程序方法,主要分为以下三个模块: LCD初始化显示模块 DS18B20数据采集模块 温度报警上下限设置模块 整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后软件

19、的功能也就基本定下来了。从软件的功能不同可分为两大块:第一块是对数字温度传感器的操作,通过单片机对DS18B20进复位,进行数据读取等操作;第二块是控制LED数码显示,将温度数据在LED上显示出来。程序流程图设计 :五、心得体会硬件(庄春兰) 通过这次课程的课程设计,我深深的认识到自己的很多不足,在实际的动手焊接过程中,我发现自己还是有很多欠缺的,首先就是要进行排版,这是非常重要的,这关系到这个版的美观,以及走线的正确性。当然在焊接过程最需要的是认真,不仅需要分清楚器件的正反,更重要的是查清楚器件的管脚图,依照管脚图进行焊接,以及明白各个管脚的作用。再则,就是走线的问题,走线尽量走直线,但是由

20、于焊锡的不足,所以我们的板通过导线来走线,这样可以省下很多焊锡,但是不足的是影响了作品的美观度。焊接的时候要求对每个节点焊接牢固,避免出现虚焊这种现象。但是,当我们讲作品按照原理图连接完成的时候,发现只有LED亮,并且闪烁。电路出现不稳定的现在,LED上无显示。经排查,发现插头出现漏电的现象,另外接了一个导线,LED灯不闪烁。认真的用万用表测量了单片机的引脚之后发现芯片在插的时候有一个引脚没有插进去,重新弄了之后,LED灯可以显示数据,并且可以实现功能。软件(王璇) 根据实验的要求,我对相关的知识进行了复习,查询了各个器件的相关资料,并且找到了适合的方案进行了程序的编写。首先根据课程设计的要求

21、写好程序的流程图,然后再进行相关的功能扩张,在程序流程图的基础上根据芯片的功能写出相对应的程序和扩展功能程序,然后再进行不断的调试和相应的修改,来实现要求的功能。程序都是由各个子程序组成,为了让自己更好的理解自己的程序,我都在程序后面加注释,这样在程序出错的检查过程中可以更容易查找的到,也更简洁,更明白易懂。在写程序时候由于中断程序出错导致无法实现功能,排除错误之后程序运行正常,通过这次的课程设计我明白了理论和实际相结合的重要性,设计都是自己从头到尾慢慢的修改出来的,这让我熟悉了整个设计的过程,更系统的锻炼了自己,从而对书本上所学的知识有了更具体的理解。参考文献1单片机原理及应用 ; 徐敏,刘

22、建春,关健生;机械工业出版社2 单片机原理及接口技术,李朝青编著,北京航空航天大学出版社;3 微机原理及接口技术,李顺增、吴国东、乔志伟,机械工业出版社;4 电子技术常用器件应用手册,陈汝全,机械工业出版社;5 单片机原理及接口技术,李朝青,北京航空航天大学出版社;6 单片机微型计算机及其应用,孙育才,东南大学出版社;7 基于单片机的自适应温度控制系统;叶丹致谢人生的成长历程始终是向前的。当一个阶段快要结束即将迈入另一个阶段时,自然需要对即将过去的进行思考和小结。自己一直在思考学业、职业、事业的哲学关系,也许本来就没有固定的答案和模式。需要的是对自己对时间、对生命的尊重和珍惜,同样需要对在我成

23、长历程中、在人生某个阶段一直给予我帮助、指导、鼓励、支持、信任、爱护的人,表达真正的感谢。可以用客套、冠冕堂皇的话,也可以选择朴实。后者才更真挚,更深入心灵。在这里我要感谢指导老师和同学对我的悉心指导与帮助。老师诲人不倦的精神,治学严谨的态度,让我无比钦佩。还要感谢大学期间遇到的其他老师,谢谢你们让我在学到知识的同时,也学到了如何做人,你们的言传身教将让我一生受用。附录一系统总硬件电路原理图附录二系统源程序代码主程序#include#includechar miao,shi,fen;uint s1num;uchar count;uint su,tt,mm,m,n;uchar buff4;uns

24、igned char pDat7,pDat17;sbit s1=P30;sbit s2=P31;sbit s3=P36;void main()m=0;n=0;init();EX0=1;/init_com();/包含了对定时器0的设定while(1)write_sfm(10,miao);write_sfm(7,fen);write_sfm(4,shi);dis_temp(tt);dis_temp1(mm);keyscan();void int_0() interrupt 0 EA=0; IRcvStr(0xa0,n,&pDat10,8); /mm=pDat10; /mm8)&0xff);/pDa

25、t1=(uchar)(tt&0xff);pDat0=tt/100;pDat1=(tt%100)/10;pDat2=tt%10;ISendStr(0xa0,m,&pDat0,8);/存温度m=m+8;pDat0=0;pDat1=0;pDat2=0;count+; if(count=20)count=0;miao+;if(miao=60)miao=0;fen+;if(fen=60)fen=0;shi+;if(shi=24)shi=0;/write_sfm(4,shi);/write_sfm(7,fen);/write_sfm(10,miao);DS18B20复位函数#include #includ

26、e #includesbit ds=P22; /温度传感器信号线/sbit beep=P23; /蜂鸣器uint temp;float f_temp;void dsreset(void) /18B20复位,初始化函数 uint i; ds=0; i=103; while(i0)i-; ds=1; i=4; while(i0)i-;bit tempreadbit(void) /读1位函数 uint i; bit dat; ds=0;i+; /i+ 起延时作用 ds=1;i+;i+; dat=ds; i=8;while(i0)i-; return (dat);uchar tempread(void

27、) /读1个字节 uchar i,j,dat; dat=0; for(i=1;i=8;i+) j=tempreadbit(); dat=(j1); /读出的数据最低位在最前面,这样刚好一个字节在DAT里 return(dat);void tempwritebyte(uchar dat) /向18B20写一个字节数据 uint i; uchar j; bit testb; for(j=1;j1; if(testb) /写 1 ds=0; i+;i+; ds=1; i=8;while(i0)i-; else ds=0; /写 0 i=8;while(i0)i-; ds=1; i+;i+;void

28、tempchange(void) /DS18B20 开始获取温度并转换 dsreset(); delay(1); tempwritebyte(0xcc); / 写跳过读ROM指令 tempwritebyte(0x44); / 写温度转换指令uint get_temp() /读取寄存器中存储的温度数据 uchar a,b; dsreset(); delay(1); tempwritebyte(0xcc); tempwritebyte(0xbe); a=tempread(); /读低8位 b=tempread(); /读高8位 temp=b; tempwarn_l2)&(t=warn_l1) /大

29、于25度小于27度 warn(40,0x01); else if(t=warn_l2) /小于25度 warn(10,0x03); else if(t=warn_h1) /小于32度大于30度 warn(40,0x04); else if(t=warn_h2) /大于32度 warn(10,0x0c); else i=40; while(i-) dis_temp(get_temp(); /*此部分为AT2402的驱动程序使用I2C总线连接*/#include/AT2402的功能函数 向有子地址器件发送多字节数据函数 函数原型: bit ISendStr(UCHAR sla,UCHAR suba

30、,ucahr *s,UCHAR no); 功能: 从启动总线到发送地址,子地址,数据,结束总线的全过程,从器件 地址sla,子地址suba,发送内容是s指向的内容,发送no个字节。 如果返回1表示操作成功,否则操作有误。注意: 使用前必须已结束总线。bit ISendStr(unsigned char sla,unsigned char suba,unsigned char *s,unsigned char no) unsigned char i; Start_I2c(); /*启动总线*/ SendByte(sla); /*发送器件地址*/ if(ack=0) return(0); Send

31、Byte(suba); /*发送器件子地址*/ if(ack=0)return(0); for(i=0;ino;i+) SendByte(*s); /*发送数据*/ if(ack=0)return(0); s+; Stop_I2c(); /*结束总线*/ return(1); 向有子地址器件读取多字节数据函数 函数原型: bit RecndStr(UCHAR sla,UCHAR suba,ucahr *s,UCHAR no); 功能: 从启动总线到发送地址,子地址,读数据,结束总线的全过程,从器件 地址sla,子地址suba,读出的内容放入s指向的存储区,读no个字节。 如果返回1表示操作成功,否则操作有误。注意: 使用前必须已结束总线。bit IRcvStr(unsigned char sla,unsigned char suba,unsigned char *s,unsigned char no) unsigned char i; Start_I2c(); /*启动总线*/ SendByte(sla); /*发送器件地址*/ if(ack=0)return(0); SendByte(suba); /*发送器件子地址*/ if(ack=0)return(0); Start_

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

当前位置:首页 > 教育专区 > 小学资料

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

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