温度测量系统设计与总结报告

上传人:z**** 文档编号:170263962 上传时间:2022-11-19 格式:DOCX 页数:17 大小:483.56KB
收藏 版权申诉 举报 下载
温度测量系统设计与总结报告_第1页
第1页 / 共17页
温度测量系统设计与总结报告_第2页
第2页 / 共17页
温度测量系统设计与总结报告_第3页
第3页 / 共17页
资源描述:

《温度测量系统设计与总结报告》由会员分享,可在线阅读,更多相关《温度测量系统设计与总结报告(17页珍藏版)》请在装配图网上搜索。

1、温度测量系统设计与总结报告摘要:本文介绍的是利用单片机STC89C52与DS18B20、DS1302、设计出一个具有万年历和数字温度显示功能的设计,用液晶显示屏1602LCD显示的温度测量系统。本设计对温度 进行实时监测与控制,设计的温度控制系统实现了基本的温度控制功能。要测的环境温度通 过一线温度传感器DS18B20采集,测量范围0100 C,分辨率不低于0.1 C,然后通过 C52单片机处理并在液晶显示屏1602LCD上显示。同时单片机控制加入了一个报警电路 蜂鸣器电路,能通过独立键盘设置温度报警上下限,当温度达到高、低限温点时将发出声音 报警信息。时钟芯片DS1302用于计时,起到万年历

2、的作用,能通过独立键盘调节万年历时 间和日期。能通过独立键盘实现温度显示界面和万年历显示界面的切换。关键词:电子万年历;单片机;温度测量;时钟;液晶显示弓I言:由于课题基本要求设计一种具有能数字显示被测发热体温度,测量范围0100 C, 分辨率不低于0.5 C;通过键盘可任意设置温度报警的上限和下限,当温度达到高、低限 温点时将发出声或光报警信息的温度测量系统。但通过我们对各种温度测量系统的观察, 发现了一些不足之处,比如:温度分辨率过大、无时间和日期显示等,这都给人们的使用带 来了某些不便。为此设计了一种具有温度测量和万年历显示功能的基于52单片机的温度测 量系统。一:方案设计与论证方案1:

3、1.1单片机芯片的选择:采用AT89S52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51 系列单片机完全该芯片内部存储器为8KB ROM存储空间,同样具有89C52的功能,且具有 在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需 要烧入程序时,不需要对芯片多次拔插。1.2显示模块选择:采用8段数码管显示。1.3时钟芯片的选择:不使用时钟芯片,而直接用AT89S52单片机来实现电子万年历设计。单片机计时,利用 它的一个16位定时器/计数器每50ms产生一个中断信号,中断20次后产生一个秒信号,然 后根据时间进制关系依次向分、时、

4、日、星期、月、年进位。这样就实现了直接用单片机来 实现电子万年历设计。1.4温度传感器的选择:使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻 阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行A/D转换。方案2:2.1单片机芯片的选择:采用89C2芯片作为硬件核心,STC89C52是一种低功耗、高性能CM0S8位微控制器,具 有8K在系统可编程Flash存储器。在单芯片上,拥有灵巧的8位CPU和在系统可编程 Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。2.2显示模块选择:米用液晶12864显示。2.3时钟芯片的

5、选择:不使用时钟芯片,而直接用STC89C52单片机来实现电子万年历设计。单片机计时,利 用它的一个16位定时器/计数器每50ms产生一个中断信号,中断20次后产生一个秒信号, 然后根据时间进制关系依次向分、时、日、星期、月、年进位。这样就实现了直接用单片机 来实现电子万年历设计。2.4温度传感器的选择:采用美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器 DS18B20作为检测元件,测温范围为-55125C,最大分辨率可达0.0625C。方案3:3.1单片机芯片的选择:采用89C2芯片作为硬件核心,STC89C52是一种低功耗、高性能CMOS8位微控制器,具 有8K

6、在系统可编程Flash存储器。在单芯片上,拥有灵巧的8位CPU和在系统可编程 Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。3.2显示模块选择:米用液晶1602显示。3.3时钟芯片的选择:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、 分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高位的RAM做为数据暂存 区,工作电压2.5V5.5V范围内,2.5V时耗电小于300nA.3.4温度传感器的选择:采用美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20作为检测元件,测温范

7、围为-55125C,最大分辨率可达0.0625C。方案论证:单片机芯片的选择:虽然说采用AT89S52,同样具有89C52的功能,且具有在线编程 可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程 序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。但是专用的并口烧写口成本较高。 而采用STC89C52,虽然运用于电路设计中时由于不具备ISP在线编程技术,当在对电路进 行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会 对芯片造成一定的损坏。但是可以采用40引脚IC座,可轻松对芯片进行多次拔插,成本方 面也较低。因而选用STC89C5

8、2芯片。显示模块选择:采用8段数码管显示,虽然可视范围十分宽,而且经济实惠,也不需 要复杂的驱动程序,但是操作比液晶显示略显繁琐,内容显示也不多,比较局限。采用液晶 12864显示,液晶显示效果出众,可以运用菜单项来方便操作,可显示大量文字图形,显示 多样、详细,清晰可见,操作也比较简单,但是价格比较昂贵,体积大。采用液晶1602显示, 虽然显示不了文字,但是价格较实惠,比液晶12864的体积小,功能也相差无几,较适合此 次作品。因而选用液晶1602显示。时钟芯片的选择:不使用时钟芯片,而直接用AT89S52单片机来实现电子万年历设计。 虽然减少芯片的使用,节约成本,充分利用了单片机的资源,但

9、是精度不够高,时间误差较 大,掉电后丢失所有数据,软件编程较复杂。而采用DS1302作为主要计时芯片,可以做到 计时准确。更重要的是,DS1302可以在很小电流的后备电源(2.55V电源,在2.5V时耗 电小于300nA)下继续计时,停电后时钟无需重新调整,并可编程选择多种充电电流来对后 备电源进行慢速充电,可以保证后备电源基本不耗电,还可自设闹铃,阳历、星期与年月日自动对应。因而选用了时钟芯片DS1302。方案选定:由于在系统设计时,需要考虑以下几点因素:实用性、功耗低、精确度高、软件编程较简单,元器件体积小、元器件成本低等,故本系统采用方案3。二:电路设计1、电路设计框图2、单片机主控制单

10、元电路设计:STC89C52单片机为40引脚双列直插芯片,有四个I/O 口 PO,P1,P2,P3, MCS-51单片机共有4个8位的I/O 口(PO、Pl、P2、P3),每一条I/O线都能独立地作输出或输入。单片机的最小系统如下图所示,第9引脚为复位输入端,接上电容,电阻及开关后够上电复位 电路。第12引脚和第13引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是 振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相 放大器的输出。第3、4、5、6引脚接独立键盘电路,第23引脚接DS18B20温控电路,第 24引脚接蜂鸣器电路,20引脚为接地端,

11、40引脚为电源端.如图所示U2IPl 1Pl.23P134Pl斗5Pl-5总Pl 6-Pl.?1sRST?9P3.010P3 1UPSJ上P3.313PS.4l斗P3.515P3.515P3 rXTAL2 . IBXTAL1 19.1F1.0Pl 1F1.2Pl 3F14P1JP1.6 Pl.-ESTVPD) P3G(KXD) P3.1IXD) P3.2JINTO) P33INT1)P3.4TO)P3_5(TljP3.TRD)XTAL2STAL1GNDVCCF-D.OP0.1PD.2P03 胞斗PD.iPD.SP0.7EA VDD ALE PROG PSENP2.4P23KL1P21KJE40

12、rE14PCEasPSI-哒PMF洌PDZ33pat32p打VCC.10103tK2EFl-2-P2 5占1P25R2.424RL3m.212m.i-?ir Pio单店机部分STC89C523、DS18B20温度采集单元电路设计:采用数字式温度传感器DS18B20,它是数字式温度传感器,具有测量精度高,电路连接 简单特点,此类传感器仅需要一条数据线进行数据传输,使用P2A2与DS18B20的I/O 口连 接加一个10k上拉电阻,Vcc接电源,GND接地。DS1汨理VCC P2.2 p |10k4、独立键盘单元电路设计:温控电路独立按键电路,由四个轻触开关组成,组成功能按键,是用来设置万年历和温

13、度报警上下限的,配上程序之后,能起到切换功能。GKDL 4SW311n J-nSW411SW511I i5、1602显示单元电路设计:1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等得点阵型 液晶模块,可以显示两行,每行16个字符液晶模块。内含复位电路,并提供各种控制命令, 如:清屏、字符闪烁、光标闪烁、显示移位等多种功能。3引脚接个可调电阻,可通过调节 可调电阻来调节1602LCD的对比度。为防止直接加5V电压烧坏背光灯,在15引脚串接一个10Q电阻用于限流。P5GND 0;i)DQ = 0; /给脉冲信号dat=1;DQ = 1; /给脉冲信号辻(DQ) dat|

14、=0x80; delay(4);return(dat);void Wri teOneChar(unsigned char dat)/DS18B20 写一个字节unsigned char i=0; for (i=8; i0; i)DQ = 0;DQ = dat&0x01; delay(5);DQ = 1;dat=1;uint ReadTemperature(void)/DS18B20 读取温度unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=O;Ini t_DS18B20();WriteOneChar(OxCC); /跳过

15、读序号列号的操作Write0neChar(0x44); / 启动温度转换Ini t_DS18B20();Wri teOneChar(OxCC); /跳过读序号列号的操作前两个就是温度WriteOneChar(OxBE); /读取温度寄存器等(共可读9个寄存器) a二ReadOneChar();b二ReadOneChar();t=b;t=8;t=t|a;tt=t *0.0625; /将温度的高位与低位合并 t= tt*100+0.5; /对结果进行4舍5入 return(t);10.1 DS1302时钟子程序:void RTInputByte(uchar d)uchar i;ACC = d;fo

16、r(i=8; i0; i)T_IO = ACC0; T_CLK = 1; T_CLK = 0;ACC = ACC 1;uchar RTOutputByte(void)uchar i;for(i=8; i0; i)/实时时钟写入一字节/相当于汇编中的RRC/实时时钟读取一字节/地址,命令/ / 写 lByte 数/写入秒/写入分/写入小时/写入日/写入月/写入星期/写入年/读取DS1302某地址的数据/地址,命令/读lByte数据/ACC7 = T_IO;T_CLK = 1;T_CLK = 0;retur n(ACC);void W1302(uchar ucAddr, uchar ucDa) /

17、往 DS1302 写入数据T_RST = 0;T_CLK = 0;T_RST = 1;RTInputByte(ucAddr);RTInputByte(ucDa);T_CLK = 1;T_RST = 0;void Write_DS1302Init( void)W1302(0x8e,0);W1302(0x80, time_data_buff0);W1302(0x8e,0);W1302(0x82,time_data_buffl);W1302(0x8e,0);W1302(0x84, time_data_buff2); W1302(0x8e,0);W1302(0x86, time_data_buff3)

18、; W1302(0x8e,0);W1302(0x88,time_data_buff4); W1302(0x8e,0);W1302(0x8a, time_data_buff5); W1302(0x8e,0);W1302(0x8c, time_data_buff6);uchar R1302(uchar ucAddr)uchar ucData;T_RST = 0;T_CLK = 0;T_RST = 1;RTInputByte(ucAddr); ucData = RTOutputByte();T_CLK = 1;T_RST = 0;return(ucData);void Set 1302(uchar

19、*pClock)/设置初始时间uchar i;uchar ucAddr = 0x80;EA = 0;W1302(0x8e,0x00);/ 控制命令,WP=0,写操作?/for(i =7; i0; i)W1302(ucAddr,*pClock); / 秒分时日月星期年 / pClock+;ucAddr +=2;W1302(0x8e,0x80);/ 控制命令,WP=1,写保护?/EA = 1;void Getl302(uchar ucCurtime)/读取 DS1302 当前时间uchar i;uchar ucAddr = 0x81;EA = 0; for (i=0; i7; i+)ucCurti

20、mei = R1302(ucAddr);/格式为:秒分时日月星期年/ ucAddr += 2;EA = 1;三:测试方法和测试结果1、测试仪器:序号名称型号1PC机华硕K42JB25V直流稳压电源自制3单片机学习板PL-514数字万用表DT9205A2、测试方法:2.1测试硬件方法:温度测量系统的电路系统较大,对于焊接方面更是不可轻视,庞大的电路系统中只要 出于一处的错误,则会对检测造成很大的不便,而且电路的交线较多,对于各种锋利的引脚 要注意处理,否则会刺被带有包皮的导线,则会对电路造成短路现象。硬件调试主要是检测硬件电路是否有短路、断路、虚焊现象。时钟和测温部分的硬件 电路很简单,DS13

21、02通过3根线、DS18B20只通过1根线与单片机相连接,很容易检测, 主要是检测引脚晶振和电源是否接好。另外可以通过软件来调试硬件,如编写一个简单的显 示程序来测试显示电路连接是否正确。由于硬件电路系统较大,故将整个硬件系统瓜分为几个小模块:键盘模块、时钟DS1302 模块等。分别对每个模块进行测试,并将每个测试结果与PL-51单片机学习板相比较,从中 发现不同之处,再细分到各个模块,找出硬件电路的错误之处。再针对情况,对各个元器件 用万用表进行检查是否损坏。2.2测试软件方法:温度测量系统是多功能的,可以看当前日期和时间、温度,并可通过任意设置报警的 温度报警的上限和下限,当温度达到高、低

22、限温点时将发出声音报警信息的仪器。温度测量 系统功能很多,所以对于它的程序也较为复杂,在编写程序和调试时出现了相对较多的问题。由于温度测量系统功能很多,故而在编写程序时,先分别对各个功能进行编写程序和 调试,在实现单一功能后,再进行多功能合并的编写和调试,最终将各个功能合并在一起, 再进行总个调试和修改。在这个过程中,不断发现编写程序代码的问题,并不断改正和修正, 才编写出可以实现各个功能的程序。3、测试结果:3.1测试硬件结果:在本温度测量系统的设计调试中遇到了很多的问题。回想这些问题只要认真多思考都 是可以避免的,以下为主要的问题:(1)在测试中遇到代码时不时烧写不进程序。解决方法:刚开始

23、初步认为是40引脚IC座与芯片交接处接触不好或电路出现虚焊、 漏焊情况,在重新焊过电路和40引脚IC座后,还是出现这种问题。经过一系列排查后,才 发现晶振的插座与晶振接触不好,导致此现象发生。(2)在测试中遇到1602LCD不显示时。解决方法:首先管擦电路是否存在漏焊,虚焊,或者元件损坏。并用万用表测试。测试 无误后,查看烧写的程序是否正确无误。最后才发现原来是对比度调节没调好。3.2测试软件结果:由于温度测量系统功能较多的情况下,程序代码较多,在软件的调试过程中调试中遇 到了很多的问题,主要遇到的问题如下:(1)烧入程序后,1602LCD显示万年历时,呈现乱码。解决方法:将程序烧入到芯片后,

24、放到PL-51单片机学习板上进行测试,可以正常显示, 初步判断是硬件时钟DS1302电路出现问题或元器件坏了,但经过换元器件和重新制造时钟DS1302电路后,还是有此问题。在观察软件代码和硬件原理图后,才发现时钟电路的一个 引脚接错I/O 口了。(2) 修改时间、日期时没有自动对应上。解决方法:把不相关的程序暂时屏蔽,修改时间、日期的子程序和显示子程序独立调 试,发现显示时,对十进制和十六进制处理不好,所以会造成错乱。最后把相应的十进制进 行修改,使得可以与十六进制对应,最后解决了此问题(3) 在加上独立键盘调节温度上下限和时间、日期时,1602LCD会显示乱码解决方法:对4个按键一个个测试,发现一按SW3按键,1602LCD会显示乱码,而其 他按键没有反应,除了 SW5按键。经过排查,才发现定义独立按键的I/O 口与1602LCD的 I/O 口冲突了。最后重新做个独立的按键模块,经按键I/O定义到其他未被使用的I/O 口。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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