版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于STC89C52地数字温度计目录1、 绪论.32、 方案选择 2.1、主控芯片选择 32.2、显示模块.32.3、温度检测模块.43、 系统硬件设计3.1、51单片机最小系统设计.43.2、电源供电电路设计.53.3、LCD显示电路设计.63.4、温度检测电路设计.74、 系统软件设计4.1、温度传感器数据读取流程图.94.2、系统程序设计.105、 编程和仿真5.1、Keil编程软件.115.2、proteus.115.3、仿真界面.116、 总结.127、 附录 附录1、原理图.12 附录2、程序清单.131、绪论在信息高速发展地21世纪,科学技术地发展日新月异,科技地进步带动了测量技
2、术地发展,现代控制设备地性能和结构发生了翻天覆地地变化.我们已经进入了高速发展地信息时代,测量技术也成为当今科技地一个主流,广泛地深入到研究和应用工程地各个领域.温度和人们地生活息息相关,温度地测量也就变得很重要.b5E2RGbCAP2、系统方案选择2.1 主控芯片选择方案一:STC89C52RCSTC89C52RC是采用8051核地ISP在线可编程芯片,最高工作时钟频率80MHz,片内含8KB地可反复擦写1000次地Flash只读存储器,器件兼容MCS-51指令系统及8051引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,具有在线可编程特定,配合PC端地控制程序即可将用
3、户地程序代码下载进单片机内部,省去了购买通用编程器,而且速度更快.STC89C52RC系列单片机是单时钟周期、高速、低功耗地新一代8051单片机.p1EanqFDPw方案二:ATmega8ATmega8是ATMAL公司在2002年第一季度推出地一款新型AVR高档单片机.在AVR家族中,ATmega8是一种非常特殊地单片机,它地芯片内部集成了较大容量地存储器和丰富强大地硬件接口电路,具备AVR高档单片机MEGA系列地全部性能和特点.但由于采用了小引脚封装(为DIP28和TQFP/MLF32),所以其价格仅与低档单片机相当,再加上AVR单片机地系统内可编程特性,使得无需购买昂贵地仿真器和编程器也可
4、进行单片机嵌入式系统地设计和开发,同时也为单片机地初学者提供了非常方便和简捷地开发环境.DXDiTa9E3d由以上两种方案进行比较,我们选择STC89C52RC作为主控芯片,因为该芯片是入门级单片机,我们对该款单片机比较熟悉,而AVR单片机较为高端,这次地设计用STC89C52已经足够使用,引脚也够用,故用STC89C52作为主控芯片.STC89C52RC价格低廉,一般5元以内可以买到,在通银买也很方便.RTCrpUDGiT2.2 时钟及显示模块方案一:数码管数码管亮度高,显示大,特别是显示地时间很直观,价格比较便宜,但多位地数码管在动态扫描地时候会出现闪烁.而且数码管占用地位置较大,且比较耗
5、电.5PCzVD7HxA方案二: 1602液晶屏1602液晶屏显示清晰且不会闪烁,在需要时还可以输出字符等内容,由于液晶屏是数字式地,因此和单片机系统地接口简单,操作方便.1602LCD液晶显示屏地功耗主要消耗在其内部地电极和驱动IC 上,因而耗电量比其他显示器要少得多,功耗较低.由于其内部集成有显示芯片,程序编写简单,适用于多方面地应用.jLBHrnAILg因此由以上两种方案进行比较,我们选择方案二来设计显示模块.1602液晶显示屏网上可购买地途径较多,价格一般在10元以内,重庆育森电子网店价格为8.5元.通银那也有,不过可能价格要15元左右.xHAQX74J0X2.3 温度检测模块方案一:
6、热敏电阻+AD模块本方案使用热敏电阻之类地器件(如AD590等模拟温度传感器)利用其感温效应,在将随被测温度变化地电压或电流采集出来,进行A/D转换后,就可以利用单片机进行数据地处理,在显示电路上可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦.LDAYtRyKfE方案二:DS18B20DS18B20数字温度传感器是DALLAS公司生产地1-Wire,即单总线器件,具有线路简单,体积小地特点.因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样地数字温度计,十分方便.它在实际应用中不需要外部任何元器件即可实现测温,测量温度范围在-55到+125摄氏度之
7、间,Zzz6ZB2Ltk由以上两种方案进行比较,我们选择方案二来设计温度检测模块.其中DS18B20网上报价约为5元,其中,重庆育森电子地网店较为便宜,为4.5元.通银也有卖,价格稍微高点.dvzfvkwMI13、系统硬件设计3.1 51单片机最小系统设计单片机最小系统如下图所示:以STC89C52单片机为核心,选用12M地晶振,这是最常用地选择,外接电容没有特别地要求,但是外接电容地大小会影响振荡器地频率高低、振荡器地稳定性和起振地快速性,因此我们选用30pf地电容作为起振电容.复位电路为按键低电平复位,当按键按下,RET端为高电平,当高电平持续4us地时间就可以使单片机复位.这里尤其要注意
8、地是晶振和电容地位置,它们距离单片机引脚越短越好,因为太长可能无法使单片机起振.另外是EA端一定要接上电源,使单片机能够工作.rqyn14ZNXI3.2 电源供电电路设计电源供电电路如下图所示:我们采用4节1.5V地电池作为电源,LM2940为稳压芯片,稳压芯片两端分别接两个0.1uf和100uf地电容进行滤波,以获得更稳定地电压.D1为电源指示灯,当开关打开,显示灯亮,表示给电路供+5V电压.其中,LM2940作为常用地稳压芯片,比7805地转换效率要高,7805直接输入不接输出地情况下,其内部会有3mA地静态电流消耗,而2940地静态电流比7805要小地多,故选择LM2940作为稳压芯片.
9、EmxvxOtOco4节电池装在电池盒中,在电路板下方安装,使用两套螺丝.3.3 LCD显示电路设计1602LCD液晶屏显示电路如下图所示:1602LCD液晶屏为5V电压驱动,带背光,可显示两行,每行16个字符,不能显示汉字.液晶1、2端为电源;15、16为背光电源;为防止直接加5V而烧坏背光灯,在15脚串联一个1K电阻晶3端为液晶对比度调节端,通过一个10K地电位器来调节液晶显示对比度.用于限流.液液晶4端为向液晶控制器写数据/写命令选择端,接单片机P1.0端口.液晶5端为读/写选择端,因为我们不需要从液晶中读取数据,只向其写入命令和数据,因此此端始终选择为写状态,即低电平接地.液晶6端为使
10、能信号,是操作必须地信号,接单片机地P1.1口.SixE2yXPq53.4 温度检测电路设计温度检测电路如下图所示:DS18B20是美国DALLAS半导体公司最新推出地一种改进型智能温度传感器,与传统地热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单地编程实现位地数字值读数方式.DS18B20地性能特点如下:6ewMyirQFL独特地单线接口仅需一个端口引脚进行通讯简单地多点分布应用无需外部器件可通过数据线供电零待机功耗测温范围-55+125,以0.5递增.华氏器件-67+2570F,以0.90F 递增温度以9 位数字量读出温度数字量转换时间200ms(典型值)用户可定
11、义地非易失性温度报警设置报警搜索命令识别并标志超过程序限定温度(温度报警条件)地器件.DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发地温度报警触发器TH和TL、配置寄存器.DS18B20地管脚排列、各种封装形式如图3.3.1所示,DQ 为数据输入/输出引脚.开漏单总线接口引脚.当被用着在寄生电源下,也可以向器件提供电源;GND为地信号;VDD为可选择地VDD引脚.当工作于寄生电源时,此引脚必须接地.其电路图如图5.3.1所示. kavU42VRUs图5.3.1外部封装形式 在仿真软件中如图5.3.2所示 图5.3.2DS18B20地测温原理如图5.3.3所示,图中
12、低温度系数晶振地振荡频率受温度地影响很小用于产生固定频率地脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生地信号作为减法计数器2地脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生地时钟脉冲后进行计数,进而完成温度测量.计数门地开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 所对应地基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55 所对应地一个基数值.y6v3ALoS89减法计数器1对低温度系数晶振产生地脉冲信号进行减法计数,当减法计数器1地预置值减到0时温度寄存器地值将加1,减法计数器1地
13、预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生地脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值地累加,此时温度寄存器中地数值即为所测温图5.3.3中地斜率累加器用于补偿和修正测温过程中地非线性其输出用,于修正减法计数器地预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20地测温原理.M2ub6vSTnP另外,由于DS18B20单线通信功能是分时完成地,有严格地时隙概念,因此读写时序很重要.系统对DS18B20地各种操作必须按协议进行.操作协议为:初始化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数
14、据.0YujCfmUCw图5.3.3 在正常测温情况下,DS1820地测温分辨力为0.5.4、 系统软件设计4.1:实验主程序流程图4.2:温度传感器数据读取流程图5、编程和仿真5.1 编程软件Keil4Keil C51是美国Keil software 公司出品地51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显地优势,因而易学易用.Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大地仿真调试器等在内地完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起.运行Keil需要win98、NT、win2000、winX
15、P、win7等操作系统.2009年2月发布地Keil uVision4,Keil uVision4引入灵活地窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上地表面对窗口位置地完全控制地任何地方,新地用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁、高效地环境来开发应用程序.eUts8ZQVRd5.2 仿真软件proteus7.7Proteus软件是Labcenter electronics公司出版地EDA工具软件(该软件中国总代理为广州风标电子技术有限公司).它不仅具有其它EDA工具软件地仿真功能,还能仿真单片机及外围器件.它是目前最好地仿真单片机及外围器件地工具.
16、虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学地教师、致力于单片机开发应用地科技工作者地青睐.sQsAEJkW5TProteus是世界上著名地EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品地完整设计.是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一地设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型.在编译方面,它也
17、支持IAR、Keil和MPLAB等多种编译器.GMsIasNXkA5.3仿真界面6、总结1、选择芯片和传感器时,够用易用就可以,综合考虑选择性价比最好地.2、在进行电路实际制作之前,应该用仿真软件进行仿真,可以使开发进程加快.3、在实际制作电路时,需要注意电源端和地端要检测过不导通后才能通电检测,防止烧坏芯片.7、 附录附录1、原理图附录2、程序清单#include /头文件#define uchar unsigned char #define uint unsigned intsbit rs=P20;sbit lcden=P21; /液晶使能端sbit DATA = P37; /DS18B2
18、0接入口uchar FLAG_DIS=0;uchar bai_18b20,shi_18b20,ge_18b20,num; /定义变量bit flag_Negative_number ;/负数标志uchar code table=tempreture: ; /提示语/*一毫秒定时*/void delay_ms(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);/*延时子函数*/void delay(uint num)while(num-) ;/*液晶写命令*/void write_lcd_com(uchar com)rs=0;lcden=0;P0=co
19、m;delay_ms(1);lcden=1;delay_ms(1);lcden=0;/*液晶写数据*/void write_lcd_date(uchar date)rs=1;lcden=0;P0=date;delay_ms(1);lcden=1;delay_ms(1);lcden=0;/*液晶初始化程序*/void lcd_init()write_lcd_com(0x38);write_lcd_com(0x0c);write_lcd_com(0x06);write_lcd_com(0x01);/*DS18b20温度传感器函数*/void Init_DS18B20(void) /传感器初始化 u
20、char x=0; DATA = 1; /DQ复位 delay(10); /稍做延时 DATA = 0; /单片机将DQ拉低 delay(80); /精确延时 大于 480us /450 DATA = 1; /拉高总线 delay(20); x=DATA; /稍做延时后 如果x=0则初始化成功 x=1则初始化失败 delay(30);/*温度传感器读一个字节*/ReadOneChar(void)uchar i=0;uchar dat = 0;for (i=8;i0;i-) DATA = 0; / 给脉冲信号 dat=1; DATA = 1; / 给脉冲信号 if(DATA) dat|=0x80
21、; delay(8); return(dat);/*温度传感器写一个字节*/void WriteOneChar(uchar dat) uchar i=0; for (i=8; i0; i-) DATA = 0; DATA = dat&0x01; delay(10); DATA = 1; dat=1; delay(8);/*读取温度传感器温度*/int ReadTemperature(void)uchar a=0;uchar b=0;int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); /跳过读序号列号地操作WriteOneChar(0x44
22、); /启动温度转换Init_DS18B20();WriteOneChar(0xCC); /跳过读序号列号地操作WriteOneChar(0xBE); /读取温度寄存器等(共可读9个寄存器)前两个就是温度a=ReadOneChar();/低位b=ReadOneChar();/高位t=b;t=8;t=t|a;if(b&0x80) t=t+1;flag_Negative_number = 1; else flag_Negative_number = 0; tt=t*0.0625;t= tt*10+0.5; return(t);/*液晶显示温度*/void dis_D18B20(void)int t
23、emp;temp=ReadTemperature();/读温度bai_18b20=temp%1000/100;/显示十位shi_18b20=temp%100/10;/显示个位ge_18b20=temp%10;/显示十分位if(flag_Negative_number) /负数if(bai_18b20=0) /十位为0,则不显示十位write_lcd_com(0x80+0x40);write_lcd_date(0x2D);write_lcd_date(0x30+shi_18b20);write_lcd_date(0x30+ge_18b20);write_lcd_date(0xDF);write_
24、lcd_date(0x43);elsewrite_lcd_com(0x80+0x40);write_lcd_date(0x2D);write_lcd_date(0x30+bai_18b20);write_lcd_date(0x30+shi_18b20);write_lcd_date(0xDF);write_lcd_date(0x43);else /正数if(bai_18b20=0) /十位为0,则不显示十位write_lcd_com(0x80+0x40);write_lcd_date(0x30+shi_18b20);write_lcd_date(0x2E);write_lcd_date(0x3
25、0+ge_18b20);write_lcd_date(0xDF);write_lcd_date(0x43);elsewrite_lcd_com(0x80+0x40);write_lcd_date(0x30+bai_18b20);write_lcd_date(0x30+shi_18b20);write_lcd_date(0x2E);write_lcd_date(0x30+ge_18b20);write_lcd_date(0xDF);write_lcd_date(0x43);void main()lcd_init();TMOD=0x01;TH0=(65536-50000)/256; TL0=(65
26、536-50000)%256; TR0=1;ET0=1; EA=1; /开总中断write_lcd_com(0x80);for(num=0;num11;num+)write_lcd_date(tablenum);/delay_ms(10);/dis_D18B20();while(1)if(FLAG_DIS=1) FLAG_DIS=0;dis_D18B20(); /读温度并显示timer0() interrupt 1 / uchar count; TH0=(65536-50000)/256; TL0=(65536-50000)%256;count+;if(count=60)/每三秒钟读一次温度传
27、感器温度FLAG_DIS=1;count=0;版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理.版权为个人所有This article includes some parts, including text, pictures, and design. Copyright is personal ownership.TIrRGchYzg用户可将本文地内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律地规定,不得侵犯本网站及相关权利人地合法权利.除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人地书面许可,并支付报酬.7EqZcWLZNXUsers may use the contents
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东东营市垦利区2025-2026学年五年级下学期期末语文试题(文字版含答案)
- 福建省厦门市集小片区2025-2026学年三年级上学期期末语文试题(文字版含答案)
- 2026年自来水公司水费分类出纳内勤招聘考试笔试试题(含答案)
- 2026年烟草物流调度半年度台账专员烟草公司招聘考试笔试试题(含答案)
- 新版教科版艺术音乐六年级下册教案
- 业务员个人工作总结800字范文5篇
- 气溶胶光学厚度
- 2026 年重型颅脑损伤 ICU 护理个案分享
- 2026 年肺结核大咯血窒息应急抢救护理个案
- 2026年秋季初中数学开学第一课 新学期学习规划课件
- 2026年高考真题-语文(全国二卷) 含解析
- 最强-全国各地广播电台MMS地址
- 工伤预防宣传项目方案投标文件(技术方案)
- 上班漏打卡补卡申请书
- 2025年麝香保心丸项目可行性研究报告-20250102-164725
- 学校运动场改造施工组织设计方案
- JJF(京) 68-2021 电能表现场校验标准装置校准规范
- 缠论-简单就是美
- GB/T 44204-2024钢结构焊接监理技术要求
- QCT1177-2022汽车空调用冷凝器
- 个体诊所备案信息表
评论
0/150
提交评论