单片机测体温【课程设计报告】(共24页)_第1页
单片机测体温【课程设计报告】(共24页)_第2页
单片机测体温【课程设计报告】(共24页)_第3页
单片机测体温【课程设计报告】(共24页)_第4页
单片机测体温【课程设计报告】(共24页)_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、沈阳航空航天大学综合课程设计 沈阳航空航天大学(dxu)综 合 课 程 设 计基于单片机的数字(shz)温度计设计班 级 14020201 学 号 2011040202018 学 生 姓 名 胡 博 指 导 教 师 屈 乐 乐 课 程 设 计 任 务 书课程设计的内容(nirng)及要求:一、设计说明1以单片机芯片为核心,设计一个(y )简易的数字温度计。2能够实时测量某一点的环境温度,并具有超限报警(bo jng)功能。3可以根据需要设定上下限报警温度,超限后报警提示。二、设计要求1. 选择AT89C51单片机为核心器件;2. 采用LED作为显示模块;3. 温度传感器采用DS18B20。三、

2、实验要求1根据技术指标制定实验方案;设计具体电路。2进行程序仿真和软硬件联调。四、推荐参考资料1 陈小忠.单片机接口技术实用子程序.北京:人民邮电出版社,20052 杨恢先,黄辉先. 单片机原理及应用.长沙:国防科技大学出版社,20033 徐敏.基于AT89C51单片机的数字温度计设计.数字技术与应用,2009.124 胡天明.基于DS18B20的数字温度计设计及其应用.黑龙江工程学院学报,2008.2五、按照要求撰写课程设计报告成绩评定表评语、建议或需要说明的问题:指导教师签字: 日期:成 绩一、引言(ynyn)随着(su zhe)科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求

3、都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。二、设计(shj)内容及性能指标本设计主要是介绍了单片机控制下的温度检测系统,详细介绍了其硬件和软件设计,并对其各功能模块做了详细介绍,其主要功能和指标如下:利用温度

4、传感器(DS18B20)测量某一点环境温度测量范围为-5011,精度为0.5用LED进行实际温度值显示按键设定温度报警阀值三、设计方案采用数字温度芯片DS18B20测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在0100摄氏度时,最大线形偏差小于1摄氏度。DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89S51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。方案的总体设计框图,如图1所示:图1 总体设计框图(kungt)四、系统

5、(xtng)器件选择1、单片机的选择(xunz)AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbytes的可编程的Flash只读程序存储器,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP),也可用传统方法进行编程,所以低价位AT89S51单片机可为提供许多高性价比的应用场合,可灵活应用于各种控制领域,对于简单的测温系统已经足够。单片机AT89S51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电(1)89S51引脚功能介绍AT89S51单片机为40

6、引脚双列直插式封装。其引脚排列和逻辑符号如图2所示。图2 单片机引脚图各引脚功能简单介绍如下:VCC:供电电压GND:接地P0口:P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。当P1口的管脚写“1”时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部电位必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入“1”后,电位被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出

7、电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个(y )内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出(shch)4个TTL门电流,当P2口被写“1”时,其管脚电位被内部上拉电阻拉高,且作为输入。作为输入时,P2口的管脚电位被外部(wib)拉低,将输出电流,这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉的优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控

8、制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入时,由于外部下拉为低电平,P3口将输出电流(ILL),也是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口:P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)同时P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当

9、振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令时ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程

10、序存储器取址期间,每个机器周期PSEN两次有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。EA/VPP:当EA保持低电平时,访问外部ROM;注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,访问内部ROM。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。2、温度传感器的选择由于传统(chuntng)的热敏电阻等测温元件测出的一般都是电压,再转换成对应的温度,需要比较多的外部元件支持,且硬件电路复杂,制作成本相对较高。这里采用DALLAS公司的数字温度传

11、感器DS18B20作为测温元件。(1)DS18B20简单(jindn)介绍:DALLAS最新单线数字温度传感器DS18B20是一种(y zhn)新型的“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。DALLAS半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。温度测量范围为-55+125摄氏度,可编程为9位12位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEPROM中,掉电后依然保存。被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多个D

12、S18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。DS18B20的性能特点如下:独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内适应电压范围更宽,电压范围:3.05.5V

13、,在寄生电源方式下可由数据线供电温范围55125,在-10+85时精度为0.5零待机功耗可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快用户可定义报警设置报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件测量结果直接输出数字温度信号,以一线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作以上特点使DS18B20非常适用与多点、

14、远距离温度检测系统。DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列、各种封装形式如图4.2所示,DQ为数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源;GND为地信号;VDD为可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。以上特点(tdin)使DS18B20非常适用与多点、远距离温度检测系统。DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列、各种( zhn)封装形式,

15、如图3所示,DQ为数据(shj)输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源;GND为地信号;VDD为可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。其电路图图4所示.。图3 外部封装形式 图4 传感器电路图(2)DS18B20使用中的注意事项DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级

16、语言进行系统程序设计时,对DS1820操作部分最好采用汇编语言实现。在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环,这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。(3)DS18B20测温原理DS18B20的测温原理(yunl),如图5所示,图中低温度系数晶振的振荡频率受温度的影响很小用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡(zhndng)频率明显改变,所产生的信号作为减法计数器2的脉冲输

17、入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量.计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55所对应的基数分别置入减法计数器1和温度(wnd)寄存器中,减法计数器1和温度寄存器被预置在-55所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温图2中的

18、斜率累加器用于补偿和修正测温过程中的非线性其输出用,于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。另外,由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令理数据据。图5 DS18B20测温度原理框图五、系统软件算法分析系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。1、主程序(1)主程序功能(gngnng):主程

19、序的主要功能(gngnng)是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,(2)主程序流程图,如图6所示:图6 主程序流程图2、读出温度(wnd)子程序(1)功能:主要功能是读出RAM中的9字节,在读出是需要CRC校验,校验有错时不进行温度数据的改写。程序流程如图7所示图7 温度(wnd)子程序流程图3、温度转换(zhunhun)命令子程序(1)程序(chngx)解释:温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成(2)程序

20、流程图,如图8所示:图8 温度(wnd)转换命令子程序流程图4、计算(j sun)温度子程序(1)程序(chngx)解释计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定。5、显示数据刷新子程序(1)程序解释:显示数据刷新子程序主要是对分离后的温度显示数据进行刷新操作,当标志位位为1时将符号显示位移入第一位。6、报警程序:(1)程序解释:由于温度计设计时,有上限和下限,所以加报警程序,当温度超过范围时,指示灯亮,以作警示。六、电路图设计1晶振电路(1)仿真图如图9所示:图9 晶振电路(2)晶振电路作用:晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便

21、于各部分保持同步。2、复位电路(1)复位电路仿真图,如图10所示:图10 复位电路(2)复位(f wi)电路的作用:是单片机的程序计数器清零(注:在单片机出现程序死机时比较有用)3、报警(bo jng)电路(1)报警(bo jng)电路仿真,如图11所示:图11 报警电路(2)报警电路运行:LED-GREEN灯,接单片机AT89C51的P1.1/T2EX口;当为0时,相当于接地,则LED-GREEN灯发光;反之,当为1时,LED-FREEN灯灭。4、显示电路(1)仿真电路图,如图12所示:图12 显示电路(2)排阻:排阻作用就是相当于几个并在一起的电阻。做上拉用,第一脚接5V,29脚相对于1脚

22、的电阻是10K欧姆,将数据线D0.0D0.7上拉。七、proteus用法1、打开软件,如图13所示:图13 proteus软件(run jin)图2、查找(ch zho)元器件:点击(din j)按钮P,然后输入查找的元器件名称,如图14所示:图14 查找元器件图3、连线,将所有需要的元器件进行连接,如图15所示:图154、点击运行按钮,看是否有错误,若有错误,需将错误改正后,方可运行,如图16所示:图16 5、向单片机加入程序,双击单片机,选择(xunz)需要的文件,如图17所示:图176、运行仿真电路(dinl),出现结果,如图18所示:图18 仿真(fn zhn)结果八、keil的用法1

23、,建立(jinl)工程,如图19所示:图19 keil建立(jinl)工程2、新建文本文档,如图20所示:图20 建立(jinl)文本文档3、在文本文档中编写程序4、编译检查程序,生成hex文件,如图21所示:图21九、推荐(tujin)参考资料1 陈小忠.单片机接口技术实用(shyng)子程序.北京(bi jn):人民邮电出版社,20052 杨恢先,黄辉先. 单片机原理及应用.长沙:国防科技大学出版社,20033 张志勇.一种基于单片机控制的数字温度计的设计.天津:天津农学院学报,2007.34 徐敏.基于AT89C51单片机的数字温度计设计.数字技术与应用,2009.125 胡天明.基于D

24、S18B20的数字温度计设计及其应用.黑龙江工程学院学报,2008.2 附录(fl)I 仿真电路图附录(fl)II 源程序#includesbit DQ=P30;unsigned int temp;unsigned char dis4=0,0,0,0;unsignedchar led=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 x88,0 xff,0 xbf;/分别为0-9,不显示(xinsh),负号unsignedchar led110=0 x40,0 x79,0 x24,0 x30,0 x19,0 x12,0

25、x02,0 x78,0 x00,0 x10;/带小数点显示(xinsh)sbit d2=P11;void delay(unsigned int i) /如果i是unsigend char类型,则会出现错误(cuw)结果 while(i-);void Init(void)/初始化 /unsigned char flag=0; DQ = 0; /单片机将DQ拉低 delay(100); /精确(jngqu)延时 大于 480us小于960us DQ = 1; /拉高总线(zn xin) delay(30); /flag=DQ; /稍做延时后 如果flag=0则初始化成功(chnggng) flag

26、=1则初始化失败 /delay(20);unsigned char Read(void)/读字节 unsigned char i=0; unsigned char dat = 0; for (i=8;i0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0 x80; delay(5); return(dat);void Write(unsigned char dat)/写字节(z ji) unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0 x01; delay(5); DQ = 1; dat=1; void Display(unsigned int temp , d1) /显示(xinsh)程序if(temp=4; /右移(yu y)4位,相当于乘0.0

温馨提示

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

评论

0/150

提交评论