数字温度计设计_第1页
数字温度计设计_第2页
数字温度计设计_第3页
数字温度计设计_第4页
数字温度计设计_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、等级:湖南工程学院应用技术学院课 程 设 计课程名称 单片机原理与应用 课题名称 数字温度计的设计 专 业 电气工程及其自动化 班 级 电气 班 学 号 姓 名 指导教师 赵葵银 2014年 5 月 12 日湖南工程学院应用技术学院课程设计任务书课程名称:单片机原理与应用 题 目:数字温度计的设计 专业班级: 电气 班 学生姓名: 学号: 指导老师: 赵葵银 审 批: 任务书下达日期 2014 年 05 月12日设计完成日期 2014 年05 月23 日设计内容与设计要求设计内容:以51系列单片机为核心,以开发板为平台;设计一个数字式温度计,要求使用温度传感器(可以采用DS18B20或采用AD

2、590)测量温度,再经单片机处理后,由LED数码管显示测量的温度值。测温范围为051,精度误差在0.5以内;并要求仿真、调试。设计要求:1)确定系统设计方案;2)进行系统的硬件设计;3)完成必要元器件选择;4)系统软件设计、仿真及调试;5)系统联调及操作说明6)写说明书主 要 设 计 条 件1、MCS-51单片机实验操作台1台;2、PC机及单片机调试软件,仿真软件proteus;3、系统设计所需的元器件。4、实验室提供调试条件说 明 书 格 式1. 封面2. 课程设计任务书3. 目录4. 系统总体方案设计5. 系统硬件设计6. 软件设计(包括流程图)7. 系统的安装调试说明8、 总结 9、参考

3、文献10、附录11、课程设计成绩评分表。 进 度 安 排第一周星期一、上午:布置课题任务,课题介绍及讲课。下午:借阅有关资料,总体方案讨论。星期二、确定总体方案,学习与设计相关内容。星期三、各部分方案设计,星期四、各部分设计。星期五、设计及上机调试。星期六、设计并调试第二周星期一:设计及上机调试。星期二:调试,中期检查。星期三:调试、写说明书。星期四-星期五上午:写说明书、完成电子版并打印成稿。星期五下午:答辩。参 考 文 献参考文献1、王迎旭编.单片机原理与应用M.机械工业出版社.2004.2、楼然苗编.51系列单片机设计实例M.北京航空航天大学出版社.3、黄勤编.计算机硬件技术基础实验教程

4、M.重庆大学出版社4、刘乐善编.微型计算机接口技术及应用M.华中科技大学出版社.5、陈光东编.单片微型计算机原理及接口技术M.华中科技大学出版社.目录第1章 概述1第2章 系统总体方案设计32.1 系统设计原理32.2数字温度计设计的方案3第3章 硬件设计53.1 主控器8051 芯片53.2 时钟电路63.2复位电路73.4 温度传感器73.5 显示电路83.6 温度报警电路9第4章 程序设计114.1 主程序114.2 DS18B20的初始化114.3 读出温度子程序134.4温度转换命令子程序144.5 计算温度子程序14第6章 总结15附录16附录A 仿真接线图16附录B 程序清单17

5、参考文献24第1章 概述随着国民经济的发展,人们需要对各中加热炉、热处理炉、反应炉和锅炉中温度进行监测和控制。采用单片机来对他们控制不仅具有控制方便,简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。在日常生活及工业生产过程中,经常要用到温度的检测及控制,温度是生产过程和科学实验中普遍而且重要的物理参数之一。在生产过程中,为了高效地进行生产,必须对它的主要参数,如温度、压力、流量等进行有效的控制。温度控制在生产过程中占有相当大的比例。温度测量是温度控制的基础,技术已经比较成熟。传统的测温元件有热电偶和二电阻。而热电偶和热电阻测出的一般都是电压,再转

6、换成对应的温度,这些方法相对比较复杂,需要比较多的外部硬件支持。我们用一种相对比较简单的方式来测量。 我们采用美国DALLAS半导体公司继DS18B20之后推出的一种改进型智能温度传感器DS18B20作为检测元件,温度范围为-55125 ºC,最高分辨率可达0.0625 ºC。DS18B20可以直接读出北侧温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。本文介绍一种基于AT89C51单片机的一种温度测量及报警电路,该电路采用DS18B20作为温度监测元件,测量范围0-+100,使用LED模块显示,能设置温度报警上下限。正文着重给出了软硬件

7、系统的各部分电路,介绍了集成温度传感器DS18B20的原理,AT89C51单片机功能和应用。该电路设计新颖、功能强大、结构简单。24第2章 系统总体方案设计2.1 系统设计原理采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。采集之后,通过使用51系列的单片机,可以对数据进行相应的处理,再由LED显示电路对其数据进行显示。该系统利用AT89S51芯片控制温度传感器DS18B20进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。该系统扩展性非常强,它可以在设计中加入时钟芯片DS1302以获取时间数据,在数据处

8、理同时显示时间,并可以利用AT24C16芯片作为存储器件,以此来对某些时间点的温度数据进行存储,利用键盘来进行调时和温度查询,获得的数据可以通过MAX232芯片与计算机的RS232接口进行串口通信,方便的采集和整理时间温度数据。2.2数字温度计设计的方案本课题以是80C51单片机为核心设计的一种数字温度控制系统,系统整体硬件电路包括,传感器数据采集电路,温度显示电路,上下限报警调整电路,单片机主板电路等组成。系统框图主要由主控制器、单片机复位、报警按键设置、时钟振荡、LED显示、温度传感器组成。系统框图如图2-2所示。DS18B20温度传感器单片机复位显示单片机报警系统图2-2 数字温度计框图

9、第3章 硬件设计3.1 主控器8051 芯片 对于单片机的选择,可以考虑使用8031与8051系列,由于8031没有内部RAM,系统又需要大量内存存储数据,因而不适用。AT89C51 以低价位单片机可为提供许多高性价比的应用场合,可灵活应用于各种控制领域,对于简单的测温系统已经足够。单片机AT89C51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要该器件是INTEL公司生产的MCS一5l系列单片机中的基础产品,采用了可靠的CMOS工艺制造技术,具有高性能的8位单片机,属于标准的MCS51的CMOS产品。其主要特征有如下几个: 与MCS-51 兼容 4K字节可编程F

10、LASH存储器 寿命:1000写/擦循环 数据保留时间:10年 全静态工作:0Hz-24MHz 三级程序存储器锁定 128×8位内部RAM 32可编程I/O线 两个16位定时器/计数器 5个中断源 可编程串行通道 · 低功耗的闲置和掉电模式 片内振荡器和时钟电路AT8951的管脚如下图所示:图3.1 AT89C51芯片管脚图3.2 时钟电路80C51时钟有两种方式产生,即内部方式和外部方式。80C51中有一个构成内部震荡器的高增益反向放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。本次采用内部震荡电路,瓷片电容采用22PF,晶振为12MHZ。图3.1.1

11、震荡电路图3.2 复位电路单片机系统的复位电路在这里采用的是上电+按钮复位电路形式,其中电阻R采用10K的阻值 ,电容采用10F的电容值。图3.1.2 复位电路3.4 温度传感器DS18B20 最大的特点是单总线数据传输方式,DS18B20 的数据I/O 均由同一条线来完成。DS18B20 的电源供电方式有2 种: 外部供电方式和寄生电源方式。工作于寄生电源方式时, VDD 和GND 均接地, 他在需要远程温度探测和空间受限的场合特别有用, 原理是当1 W ire 总线的信号线DQ 为高电平时, 窃取信号能量给DS18B20 供电, 同时一部分能量给内部电容充电, 当DQ为低电平时释放能量为D

12、S18B20 供电。但寄生电源方式需要强上拉电路, 软件控制变得复杂(特别是在完成温度转换和拷贝数据到E2PROM 时) , 同时芯片的性能也有所降低。外部电源供电方式是DS18B20最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统。因此本设计采用外部供电方式。如下图所示:图3.2 DS18B20管脚图温度传感器DS18B20的测量范围为-55+125,在-10+85时精度为±0.5。因为本设计只用于测量环境温度,所以只显示0+51。3.5 显示电路对于数字温度的显示,我们采用4位LED数码管。足够显示0100中各位数,并且还能显示

13、一位小数部分。图3.3 4位LED数码显示管3.6 温度报警电路 对于数字温度计的设计,除了温度的数字显示功能外还加入了报警系统,如果我们所设计的系统用来监控某一设备,当设备的温度超过我们所设定的温度值时,系统会产生报警。我们便能很好的对设备进行处理,就不会应温度的变化而造成不必要的损失。当温度高于100度时,报警时由单片机产生一定频率的脉冲,由P3.7引脚输出,P3.7外接一只NPN的三极管来驱动杨声器发出声音,以便操作员来维护,从而达到报警的目的。其电路图如下所示。图3.4(a) 扬声器报警系统电路图当温度低于0度时,亮红灯报警,以便操作员来维护,从而达到报警的目的。其电路图如下所示。图3

14、.4(b) 红灯报警系统电路图 第4章 程序设计4.1 主程序主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度。初始化设置调用显示程序温度采集并作计算处理温度转换延时是否开始图4.1 主程序流程4.2 DS18B20的初始化DS18B20的初始化: 1. 先将数据线置高电平“1”。2. 延时(该时间要求的不是很严格,但是尽可能的短一点)。3. 数据线拉到低电平“0”。4. 延时750微秒(该时间的时间范围可以从480到960微秒)。5.数据线拉到高电平“1”。6. 延时等待(如果初始化成功则在15到60

15、毫秒时间之内产生一个由DS18B20所返回的低电平“0”。据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制7. 若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。8.将数据线再次拉高到高电平“1”后结束。 DS18B20的写操作: 1. 数据线先置低电平“0”。2. 延时确定的时间为15微秒。3. 按从低位到高位的顺序发送字节(一次只发送一位)。4. 延时时间为45微秒。 5. 将数据线拉到高电平。6. 重复上(1)到(6)的操作直到所有的字节全部发送完为止。7. 最后

16、将数据线拉高。 DS18B20的读操作:1. 将数据线拉高“1”。2. 延时2微秒。3. 将数据线拉低“0”。4. 延时15微秒。5. 将数据线拉高“1”。6. 延时15微秒。7. 读数据线的状态得到1个状态位,并进行数据处理。8. 延时30微秒。4.3 读出温度子程序温度的读取:DS18B20在出厂时以配置为12位,读取温度时共读取16位,所以把后11位的2进制转化为10进制后在乘以0.0625便为所测的温度,还需要判断正负。前5个数字为符号位,当前5位为1时,读取的温度为负数;当前5位为0时,读取的温度为正数。读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,检验有

17、错时不进行温度数据的改写。其程序流程图如图4.2所示。发DS18B20复位命令发跳过ROM命令发读取温度命令 移入温度暂存器结束 图4.2 读出温度子程序流程图4.4 温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。4.5 计算温度子程序计算温度子程序将RAM值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图4.3所示。开始温度零下?置“+”标志NY温度值取补码置“”标志计算小数位温度BCD计算整数位温度BCD结束图4.3 计算温度子程序流程图第6章 总结在这次基于80

18、C51单片机的数字温度计控制系统的课程设计,对整个硬件电路和软件程序设计做了彻底的学习,掌握了仿真软件proteus及keil的基本知识,学习了proteus的仿真方法和步骤,加深了51单片机的知识了解,并学习了数字温度传感器DS18B20,设计软件仿真,更直观的反应设计的正确性。通过这次课程设计我才体会到老师在课堂上讲学的重要性。我之前上单片机课时没认真听过一节课,导致我在做课程设计时无从下手,硬着头皮看对单片机基础知识进行了一个星期的复习,但是收益甚少,最后还是东部西凑,做出了雏形,其中一些功能还没能达到,以后在单片机上还要下更大的功夫了。从这次的课程设计中,我真真正正的意识到,在以后的学

19、习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次课程设计中的最大附录附录A 仿真接线图附录B 程序清单DQ BITP3.0 ;从DS18B20向8051传送的数据端口FLAG BIT00HFLAG_NEGBIT01H ;温度正负值标志位TEMP_LEQU 30H ;所设报警最低值温度值TEMP_HEQU31H ;所设报警最高值温度值TEMP_INTEQU 32HTEMP_DPEQU 33H ;TEMP_10EQU34HTEMP_1EQU35HC0BIT P3.1 ;负温度标志位C1BIT P3.2 ;超过10

20、标志位 C2BIT P3.3 ;超过1 标志位C3BIT P3.4 ;*;*主函数*ORG 0000HLJMP STARTORG 1000HSTART:MOV SP,#60HMAIN: LCALL READ_TEMP ;调用函数读DS18B20所示温度 LCALL PROC_TEMP ;调用函数对温度进行处理 LJMP MAIN;*;*READ_TEMP:LCALL INI_DQJB FLAG,RE_0 RETRE_0:MOV A,#0CCHLCALL WRITE_DQ ;读出传感器所示温度MOV A,#44HLCALL WRITE_DQLCALL DISP_LED;调用LED显示程序LCAL

21、L INI_DQMOV A,#0CCHLCALL WRITE_DQMOV A,#0BEHLCALL WRITE_DQLCALL READ_DQRET;*DS18B20初始化程序*INI_DQ:SETBDQNOP ;NOP ;空操作 PC值加2CLRDQMOV R1,#3INI_0: MOV R0,#80 DJNZ R0,$ DJNZ R1,INI_0SETB DQNOP ;NOP ;NOP ;空操作 PC值加3MOVR7,#25INI_1: JNB DQ,INI_2 ;DQ为0则转 DJNZ R7,INI_1 ;延时 LJMP INI_3INI_2: SETB FLAG ;标志位 LJMP I

22、NI_4INI_3: CLR FLAG LJMP INI_5INI_4: MOV R0,#80 DJNZ R0,$ ;时序要求延时一段时间INI_5: SETB DQ RET;*DS18B20写命令*WRITE_DQ:MOVR6,#8 CLR CTloop:CLRDQMOV R2,#6DJNZ R2,$RRCA;最低位移到C中MOV DQ,CMOV R2,#23DJNZ R2,$SETB DQNOPDJNZ R6,TloopSETB DQRET;*读DS18B20数据函数*READ_DQ:MOV R5,#2MOV R0,#30HREAD_0:MOV R6,#8READ_1:CLRCSETB D

23、QNOPNOPCLRDQNOPNOPNOPNOPSETBDQMOV R2,#9DJNZ R2,$MOV C,DQMOV R3,#23DJNZ R3,$RRCADJNZR6,READ_1MOV R0,AINC R0DJNZ R5,READ_0SETB DQRET;*温度数据处理程序*PROC_TEMP:CLR FLAG_NEGMOV A,TEMP_LSWAP A ; A中高低四位互换ORL A,#0F0HMOV TEMP_INT,AMOV A,TEMP_HSWAP AORL A,#0FHANL TEMP_INT,AMOV A,TEMP_H CLR P3.6 CLR P3.7 JB ACC.7,B

24、AOJING1 ;低于零度亮红灯报警;JBACC.7,NEGTIVEMOV A,TEMP_LANL A,#0FHMOV DPTR,#TAB3MOVC A,A+DPTRMOV TEMP_DP,ALJMP PRO_0;*报警函数*BAOJING1: SETB P3.7 RET;NEGTIVE: ;温度值为负时处理程序,按实际情况,处理过程比较复杂;SETB FLAG_NEG;MOV A,TEMP_L;CPL A;ANL A,#0FH;MOV R1,A;CJNE R1,#0FH,PRO_1 ;低于0°则调用报警函数 ; ;PUSH ACC;MOV A,TEMP_INT;SUBB A,#1;

25、MOV TEMP_INT,A;POP ACC;MOV TEMP_DP,#00H ; LJMP PRO_2PRO_1: ADD A,#1MOV DPTR,#TAB3MOVC A,A+DPTRMOV TEMP_DP,APRO_2:MOV A,TEMP_INTCPL AMOV TEMP_INT,APRO_0:MOV A,TEMP_INT MOV B,#100DIV ABMOV A,BMOV B,#10DIV ABMOV TEMP_10,AMOV TEMP_1,B RET;*LED初始化*CLR_LED:CLR C0CLR C1CLR C2CLR C3RET;*LED显示*DISP_LED:LCALL CLR_LEDSETB C0JNB FLAG_NEG,DL_0MOV P1,#0BFH LCALL DELAY_10MSLJMP DL_1DL_0: MOV P1,#0FFHLCALL DELAY_10MSDL_1:LCALL CLR_LED SETB C1 ;显示十位 MOV A,TEMP_10 MOV DPTR,#TAB4MOVC A,A+DPTRMOV P1,A CJNE A,#092H,CESHI ;超过50启动扬声器报警 LCALL BAOJING2 CESHI:LCALL DELAY_10MSLCALL CLR_LEDSETB C2 MOV A,TEMP_1;显

温馨提示

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

评论

0/150

提交评论