《单片机技术》课程设计-数字温度计课程设计.doc_第1页
《单片机技术》课程设计-数字温度计课程设计.doc_第2页
《单片机技术》课程设计-数字温度计课程设计.doc_第3页
《单片机技术》课程设计-数字温度计课程设计.doc_第4页
《单片机技术》课程设计-数字温度计课程设计.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

单片机技术课程设计说明书数字温度计 院 、 部: 电气与信息工程院 学生姓名: 何宙 指导教师: 王韧 职称 副教授专 业: 自动化 班 级: 自本1003 完成时间: 2013年1月5号 摘 要随着科技的不断进步,在工业生产中温度是常用的被控参数,而采用单片机来对这些被控参数进行控制已成为当今的主流。本文介绍了数字温度测量及自动控制系统的设计。本文采用单片机来实现对温度的控制。它的主要组成部分有:AT89S52单片机、温度传感器DS18B20、键盘与显示电路、温度控制电路。它可以实时的显示和设定温度,实现对温度的自动控制。通过测试表明,本设计对温度的控制有方便、简单的特点,从而大幅提高了被控温度的技术指标。关键词: 温度传感器;单片机 IABSTRACTAlong with the science and technology progress, in industrial production, the temperature is a common was accused of parameters, and the single chip microcomputer to control these parameters control has become the mainstream of today. This paper introduces the digital temperature measurement and automatic control system design. Based on the single chip microcomputer to realize the control of the temperature. Its main part: AT89S52 SCM, the temperature sensor DS18B20, keyboard and display circuit, temperature control circuit. It can be real-time display and setting temperature, realize the temperature automatic control. Through the test shows that the design of temperature control has the characteristics of convenient, simple, thus greatly improve the control temperature technical indicators.Keywords: temperature sensor; SCMII目 录1 引言11.1 设计内容与要求11.2 温度采集方案21.3 显示部分方案21.4 总体方案32 硬件系统的设计42.1 主控电路模块42.2 设计课题电路原理图、PCB图、原器件布局图42.2.1 设计课题电路原理图42.2.2 设计电路的PCB图42.2.3 原件清单见42.2.4 设计电路元器件布局42.3 LED流水灯模块42.4 温度测量模块42.5 数码管接口模块52.6 键盘电路模块52.7 下载口电路模块53 系统软件设计63.1 单片机资源使用情况63.2 程序流程框图63.3 程序清单94 系统测试与结果分析104.1 硬件测试104.2 软件测试10结束语11致 谢12参考文献13附 录14附录一: 电路原理图14附录二: 电路PCB图16附录三: 原件清单18附录四: 电路原件布局图21附录五: 程序清单22II1 引言温度控制广泛应用于人们的生产和生活中,人们使用温度计来采集温度,通过人工操作加热、通风和降温设备来控制温度,这样不但控制精度低、实时性差,而且操作人员的劳动强度大。即使有些用户采用半导体二极管作温度传感器,但由于其互换性差,效果也不理想。在某些行业中对温度的要求较高,由于工作环境温度不合理而引发的事故时有发生。对工业生产可靠进行造成影响,甚至操作人员的安全。为了避免这些缺点,需要在某些特定的环境里安装数字温度测量及控制设备。本设计由于采用了新型单片机对温度进行控制,以其测量精度高,操作简单。可运行性强,价格低廉等优点,特别适用于生活,医疗,工业生产等方面的温度测量及控制。本设计是一个数字温度测量及控制系统,能测柜内的温度,并能在超限的情况下进行控制、调整,并报警。保证环境保持在限定的温度中。1.1 设计内容与要求数字温度计:设计一个具有特定功能的数字温度计。该数字温度计上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。测量温度范围099,测量精度小数点后两位,可以通过开始和结束键控制数字温度计的工作状态。设计要求:(1)、以上课题可以任选其一或多选,学生也可以自拟课题;(2)、编程语言:汇编或C51;(3)、计算机打印单片机技术课程设计说明书一份;(4)、设计时间:一学期;(5)、实物制作;(6)、人员分组:一人一组一实物。1.2 温度采集方案DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现位的数字值读数方式。 TO92封装的DS18B20的引脚排列见下图,其引脚功能描述见表1。表1 DS18B20详细引脚功能描述序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。DS18B20的性能特点如下:独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围为3.05.5;零待机功耗;温度以或位数字;用户可定义报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作; 1.3 显示部分方案 数码管显示,每一个二极管的状态分别用0 和1 表示,若为0 ,则表示L ED 无电流,即熄灭状态,;若为1 则表示二极管被点亮。可以静态显示和动态显示,虽然设计上如果处理不当,易造成亮度低,闪烁问题。但是相对液晶来说价格低,动态显示也比较丰富。1.4 总体方案 利用单片机AT89S52单片机作为本系统的中控模块。单片机可把DS18B20读来的数据利用软件来进行处理,从而把数据传输到数码管显示模块,实现温度显示。数码管显示模块为主要的显示模块,把单片机传来的数据显示出来,。在显示电路中,主要靠按键来实现各种显示要求的选择与切换。其总体设计框图如下图。图1 总体设计方框图2 硬件系统的设计2.1 主控电路模块主控电路模块由AT89S52单片机、时钟电路和复位电路构成。是本次最小系统整个电路的核心。AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。时钟电路由一个12MHz的石英晶体振荡器和两个33pF的的电容组成振荡电路和分频电路。复位电路采用上电复位和按键复位结合的方式对电路进行复位,主要是通过RST引脚送入单片机。2.2 设计课题电路原理图、PCB图、原器件布局图2.2.1 设计课题电路原理图附录一2.2.2 设计电路的PCB图附录二2.2.3 原件清单见附录三2.2.4 设计电路元器件布局附录四2.3 LED流水灯模块单片机P3口线上接上一个470电阻然后再与LED灯的阴极相连接,LED灯的阳极接正五伏电压。在该系统中LED流水灯电路模块的设置可以增强系统人性化设计,在系统初始化显示P.的时候同时LED流水灯闪烁。2.4 温度测量模块 温度测量传感器采用DALLAS公司DS18B20的单总线数字化温度传感器,测温范围为-55125,可编程为9位12位A/D转换精度,测温分辨率达到0.0625,采用寄生电源工作方式, CPU只需一根口线便能与DS18B20通信,占用CPU口线少,可节省大量引线和逻辑电路。也是本次我设计的基于单片机的数字温度报警系统的核心模块之一。2.5 数码管接口模块 数码管单片机最小系统包括晶体振荡电路、复位电路和液晶显示等部分。为了便于调整温度上下限和显示温度值,我采用两个四位一体共阳型数码管显示器进行显示。位控口接在P2口线上,实现对显示的控制。在P2口线上接了8个PNP型三极管使得位控线的驱动电流加大,从而提高驱动能力;P0.0-P0.7做为段控口接a-dp,数码管显示电路模块在调整阶段主要用来指示调整的上下限温度值,在测温阶段主要用来温度值。2.6 键盘电路模块 P1口则用于与键盘相接。每个按键都通过一个10K的上拉电阻接电源+Vcc,按键的另一端接地。当有键按下时,与该键相连的P1口的相应位变为低电平,单片机检测到该变化后即转到相应的键处理程序。本次设计的基于单片机的数字温度报警系统主要用该模块实现上下限温度的调整和温度的测量开启和测量2.7 下载口电路模块本课题采用的是10引脚的下载口,下载口连接在P1口的P1.5、P1.6、P1.7和RET口线上。用数据线通过下载口可对单片机系统进行下载和删除程序,还可以为单片机系统提供电源。3 系统软件设计3.1 单片机资源使用情况 基于单片机的数字温度报警器用到了单片机的P1口,P2口,P3口,用到了口线的基本输入输出功能。其中独立式键盘接在P1口线,并且通过上拉电阻接VCC,按键结果键值储存在内部数据存储器中。单片机P3口线上接上一个470电阻然后再与LED灯的阴极相连接,实现流水灯功能。P3.1接18B20实现温度数据的接收。P3.2口通过PNP三极管接蜂鸣器,实现超限报警。3.2 程序流程框图 修改显示缓冲区指针显示位数显示完否?设置显示位数设置段码缓冲区指针中断服务程序保护现场中断返回恢复现场,开中断计数器重置初值显示第一位,延时将位码送P3口某些端口,位码送P0口 设置堆栈指针将温度转换为BCD码发读存储器命令读温度数据复位DS18B20发跳过ROM命令显示缓冲区初始化更新数据缓冲区延时发温度转换命令复位DS18B20发跳过ROM命令开始 图2 温度计软件设计流程图 图3 LED动态扫描程序框图 图4 温度转换子程序流程图图5 读出温度子程序流程图 图6 温度计算子程序流程图3.3 程序清单附录五4 系统测试与结果分析4.1 硬件测试硬件测试的主要是检查电路各种参数是否符合设计要求。先排除硬件电路故障,利用万用表或逻辑测试仪器,检查电路中各器件以及引脚是否连接是否稳固,是否有短路故障。先将单片机AT89S52芯片取下,对电路板进行通电检查,通过观察看是否有异常,测单片机的电源引脚看是否是正常的电压,是否有虚焊的情况,然后用万用表测试各电源电压,若这些都没有问题,则将单片机AT89S52芯片插上,接通电源观察电路指示灯是否正常。4.2 软件测试将程序下载到实物后,上电(按键复位后)能够自动显示系统提示符“P.”当我按下开始键的时候,DS18B20开始工作,数码管上显示实时温度,并且测量精度小数点后两位。但我按下停止键的时候,DS18B20停止工作,数码管上可以通过开始自动显示系统提示符“P.”。因此符合设计要求,本设计成功完成预期目标。结束语文介绍了基于89S52单片机的数字温度计控制系统的设计,对整个硬件电路和软件程序设计做了分析,文中介绍了数字温度计的现状及发展,介绍了仿真软件proteus及keil的基本知识,学习了proteus的仿真方法和步骤,介绍了数字温度计的设计方案及原理介绍,加深了52单片机的知识了解,介绍52单片机的结构、特点等。并学习了数字温度传感器DS18B20,设计软件仿真,更直观的反应设计的正确性。本文对其中的一些基本原理也做了简要的概述。其实写完了本篇论文,也仅仅是对数字温度计控制系统做出了一个简单的设计方案,数字温度计科利用在很多领域,在一些人不能直接进入的场所,利用单片机控制的数字温度计,可以设置并控制其中的温度,数字温度计还可以利用在温室中,这样就可以方便的控制温室中的温度,当温度超过所要求的温度时,可发生报警。总之数字温度计利用在很多领域。本课题只是单片机控制数字温度计系统得一种设计这次课程设计实验使我懂得了很多,理论要与实际结合起来;要敢于动手,不用背眼前的困难吓倒,开始的时候因为不知道怎么动手一直没认真去做,但单快上交的时候我下定决心一定要自己完成的的时候,不断的请教同学,在同学的耐心的指导下经过几天的不眠不休终于在最后的时刻完成啦。虽然只达到了基本的要求,但心里还是很开心的。通过此次课程设计使我明白了,做任何时期都不能被眼前的苦难吓倒。不懂的时候一定要悉心请教别人。在这过程中虽然遇到过狠多困难,如设计硬、软件电路的思路,焊点的焊接,PCB图的排版,软件的调试等。不过这些困难都过去了,成为了永远。这次课程设计后让我心里有了突破性的进展,在今后遇到困难的日里我定能向这次课程设计一样乘风破浪。致 谢在这次课程设计的撰写过程中,我得到了许多人的帮助。首先我要感谢我的王韧老师在课程设计上给予我的指导、和压力同时也给了我无穷的动力,他不仅仅教会了我们书本上的知识,而且还教会了我们怎么做人,教会了我在遇到困难的时候一定不能放弃,通过自己的努力一定可以战胜它,这是我能完成这次课程设计的根本原因。相信在今后的日子里我遇到困难的时候一定可以战胜它。其次要感谢的是我的室友他在这次课程设计的时候给了我太多的帮助,在我不懂的时候不厌其烦的教导我,给予我鼓励,这是因为这鼓励和支持使我在最艰难的时刻还能走下去。同时也为我解决了不少我不太明白的设计难题,这是我这次能完成课程设计的直接原因。同时我也要感谢湖南工学院为我提供良好的单片机课程设计的环境。最后我要感谢的是在这次课程设计给予我帮助的人,在这么多天以来给过我帮助和关注。正是因为你们的支持与鼓励使用我勇气走下去。同时也要感谢那些曾给予我打击和挫折的人,正是因为你们的打击才让我真正的认识到自己的不足,是你们使我了真正的成长了起来。你们用不同的方式给了我成长,也是你们促使我在走过的大学时光里一直努力,终可以在课程设计的最后那一天无愧的说一声:我成功了,虽然是最简单的但我成功了。参考文献1原著邱关.修订罗先觉,电路(第五版),高等教育出版社,普通高等教育“十五”国家规划教材。The original high shut. Revision LuoXianJiao, circuit fifth edition, higher education press, regular higher education tenth five-year national planning materials.2康华光,陈大欣,张林.电子技术基础模拟部分(第五版)高等教育出版社面向21世纪课程教材Kang hua, ChenDaXin, zhang Lin. Electronic technology foundation simulation part (fifth edition) higher education press facing the 21st century course teaching material3李广弟,朱月秀,冷祖祁.单片机基础(第三版)北京航空航天大学出版社“十一五”高等院校规划教材。LiGuangDi, ZhuYueXiu, LengZuQi. SCM foundation (third edition) and the Beijing university of aeronautics astronautics press eleventh five-year plan colleges and universities teaching material planning.附 录附录一: 电路原理图附录二: 电路PCB图附录三: 原件清单单片机数码管电路元件清单部件类型元件标号封装部件类型元件标号封装1KR2AXIAL0.3CON2JP5SIP21KR13AXIAL0.4CON2J1SIP21KR12AXIAL0.4CON8JP1SIP810KJ2SIP9CON8JP2SIP810kJ5SIP9CON8JP3SIP812MHZY1XTAL1CON8JP4SIP822uFC3DR3LED1LED1SMG33pFC1RAD0.1LED2LED2SMG33pFC2RAD0.1LEDD4LED200R1AXIAL0.3LEDD9LED470R32AXIAL0.4LEDD5LED470R31AXIAL0.4LEDD3LED470R33AXIAL0.4LEDD2LED470R34AXIAL0.4LEDD1LED470RP0AXIAL0.4LEDD6LED470RP1AXIAL0.4LEDD7LED470R30AXIAL0.4LEDD8LED470RP2AXIAL0.4PNPQ6SJG470R24AXIAL0.4PNPQ5SJG470R23AXIAL0.4PNPQ8SJG470R25AXIAL0.4PNPQ7SJG470R27AXIAL0.4PNPQ4SJG470R26AXIAL0.4PNPQ1SJG470R22AXIAL0.4PNPQ9SJG470R36AXIAL0.4PNPQ3SJG470R35AXIAL0.4PNPQ2SJG470R37AXIAL0.4SW-PBS7S10470R21AXIAL0.4SW-PBS6S10470R20AXIAL0.4SW-PBS9S10470RP5AXIAL0.4SW-PBS8S10470RP4AXIAL0.4SW-PBS5S10470RP7AXIAL0.4SW-PBS2S10470RP6AXIAL0.4SW-PBS3S10470RP3AXIAL0.4SW-PBS4S10AT89S52U1DIP40SW SPSTSSKGBELLLS1FNQUSBJ3USBCON2JX2SIP2WEISPXZK附录四: 电路原件布局图附录五: 程序清单;作品名称:数字温度计;作者: 何宙 ;完成时间:2013年1月5日;完成功能:按键可复位自动显示P,测量范围0-99,精度小数点后二位,可开关SDATA BITP3.7;定义数据口线 XSDBIT21H.0; 定义小数点标志位 FLAGBIT21H.1; 定义18b20初始化成功标志 PDBIT21H.2; 定义P点标志位 ORG0000H LJMPMAIN ORG0040H MAIN: MOVSP,#7FH; 堆栈初始化 SETBPD;XS: JBPD,XSPD ;PD为1,显示P点;PD为0,显示温度XSWD: ;显示温度 LCALLWENDU LJMPXSXSPD: ;显示P点 LCALLPDIAN LJMPXS/*键扫描子程序*/KEY: PUSHACC PUSHB LCALL KEYCL JZEXIT LCALL DIR LCALL DIR LCALLKEYCL JZ EXIT MOVB,20HKEYSF:LCALL KEYCL ;按键释放 JZKEYI LCALLDIR LJMPKEYSFKEYI: MOV20H,B ;保存键址EXIT: POPB POPACC RET/*键处理子程序*/KEYCL: MOVA,P1 CPLA MOV20H,A RETPDIAN:MOV7BH,#10 ;P点显示子程序 MOV7AH,#10 MOV79H,#10 MOV78H,#11 LCALLDIR LCALLKEY JNB20H.0,PDIAN CPLPD RETWENDU:MOV28H, #0;温度显示子程序 MOV29H, #0 LCALLREADY LCALLSHUJU SETBXSD ;小数点标志位置1 LCALLDIR LCALLKEY CLRXSD ;小数点标志位清0 MOVA,20H JNB20H.0,WENDU ;开关键没按下继续显示温度,否则停止显示温度 CPLPD ;取反标志位 RET;*; DS18B20复位初始化 出口参数: FLAG ;*START1820: SETB SDATA ;拉高数据线p3.0 NOP CLR SDATA MOV R1, #250 ;一高一低,产生复位脉冲,主机发出延时500微秒的复位低脉冲 DJNZ R1, $ SETB SDATA ;然后拉高数据线,即释放数据线 NOP NOP NOP MOV R0, #25H ;等待DS18B20回应 INITLOOP2: JNB SDATA, SITE3 ;sdata=0表示存在 DJNZ R0, INITLOOP2 LJMP SITE4 ;延时 SITE3: SETB FLAG ;置标志位,表示DS1820存在 LJMP SITE5 SITE4: CLR FLAG ;清标志位,表示DS1820不存在 LJMP SITE6 SITE5: MOV R0, #117 DJNZ R0, $ ;时序要求延时一段时间 SITE6: SETB SDATA RET;*;写DS18B20的子程序(有具体的时序要求) 出口参数c;*WRITE_1820: MOV R2, #8 ;一共8位数据 CLR CWRLOOP: CLR SDATA ;由以前的高现在被拉到,高到底,启动写时序 MOV R3, #6 ; 延时等一段时间 DJNZ R3, $ RRC A ;A释放一个位数据 MOV SDATA, C MOV R3, #23 ;延时,因为每个数据的后需要一段时间恢复 DJNZ R3, $ SETB SDATA ;释放数据 NOP DJNZ R2, WRLOOP ;判8位数据是否都写到了 SETB SDATA ;如果8位写完,释放数据 RET ;*;读DS18B20的程序,从DS18B20中读出2个字节的温度数 读到的温度保存29h,28h;*READ_18200: MOV R4, #2 ; 将温度高位和低位从DS18B20中读出 MOV R1, #29H ;低位存入29H,高位存入28H RE00: MOV R2, #8 ; 数据一共有8位 RE01: CLR C SETB SDATA ; 启动读时序 NOP CLR SDATA NOP NOP NOP NOP SETB SDATA ;为18b20检测输出电平做准备 MOV R3, #4 ;延时,给18b20采样时间RE10: DJNZ R3, RE10 MOV C, SDATA ; 读到的数据存于C中 RRC A ;存到A中 MOV R3, #30 ;延时每个数据读后有一定时间的恢复区RE20: DJNZ R3, RE20 DJNZ R2, RE01 ;释放读完了8位 MOV R1, A ;存这个字节的数据 DEC R1 DJNZ R4, RE00 ;判是否读完了2个字节 RET ;*;做好读温度的准备;* READY: LCALL START1820 MOV A, #0CCH LCALL WRITE_1820 MOV A, #44H ;发出温度转换命令 LCALL WRITE_1820 MOV R7, #200 DJNZ R7, $ ; 延时400微秒 LCALLSTART1820 ; 读温度前先复位 MOV A, #0CCH ;跳过ROM匹配 LCALL WRITE_1820 MOV A, #0BEH ;发出读温度命令 LCALL WRITE_1820 LCALL READ_18200 ;将读出的温度数据保存到28H/29H RET SHUJU:PUSHACC ;数据处理子程序 PUSHB MOVA,29H A

温馨提示

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

最新文档

评论

0/150

提交评论