毕业设计-数字温度计设计与制作-毕设-温度计-论文_第1页
毕业设计-数字温度计设计与制作-毕设-温度计-论文_第2页
毕业设计-数字温度计设计与制作-毕设-温度计-论文_第3页
毕业设计-数字温度计设计与制作-毕设-温度计-论文_第4页
毕业设计-数字温度计设计与制作-毕设-温度计-论文_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、装订线摘 要本文主要介绍数字温度计的制作,主要用到的材料有单片机AT98C51,芯片控制温度传感器DS18B20,7段数码管。利用proteus软件来设计制作电路板,汇编语言进行编译,使之能够进行温度的采集与输出。在PCB上,布置一系列的芯片、电阻、电容等元件,通过PCB上的导线相连,构成电路,一起实现温度计的功能。 通过完成温度传感器的设计,使我不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,在软件编程、排版调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。 关键词:温度计 AT89C51 DS18B2

2、0 硬件系统 软件系统目 录一、引言 1二 、数字温度计设计方案论证 Y 1. 单片机的选取 Y 2. 温度传感器的选取 Y 3. 系统最终选取方案 Y三、方案的总体设计 Y 1. 方案框图 Y 2. 方案具体组成图 Y 3. 硬件电路概述 Y四、主要单元的设计 Y 1. 单片机主控模块 Y 2. 温度采集模块 Y 3. 数据显示模块 Y 4. 硬件电路图 Y五、系统算法分析 Y 1. 主程序 Y 2 . 读出温度子程序 Y 3. 温度转换命令子程序 Y 4. 计算温度子程序 Y 5. 显示数据刷新子程序 Y 6. 软件程序 Y六、在综合毕业设计过程中解决了哪些疑难问题,是用什么方法和措施解决

3、 的 Y七、还存在有哪些问题有待于改进 Y结论 Y致谢 Y参考文献 Y附录 YIII一、引言 最早的温度计是在1593年由意大利科学家伽利略(15641642)发明的。他的第一只温度计是一根一端敞口的玻璃管,另一端带有核桃大的玻璃泡。使用时先给玻璃泡加热,然后把玻璃管插入水中。随着温度的变化,玻璃管中的水面就会上下移动,根据移动的多少就可以判定温度的变化和温度的高低。温度计有热胀冷缩的作用所以这种温度计,受外界大气压强等环境因素的影响较大,所以测量误差大。随着科技不断发展与单片机的应用越来越广泛,利用新型数字温度计实现对温度的测试与控制是必然趋势。本文设计利用单片机AT89C51芯片控制温度传

4、感器DS18B20,再辅之以外围电路实现对环境温度的采集与显示,该系统性能稳定,扩展性能很强大。具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,广泛适合于社会生产、生活的各个领域的温度测量,符合很多场合精确温度的测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度

5、的测量方法和装置具有重要的意义。 做本课题的所用到的知识是我们学过的模拟电子电路以及数字逻辑电路等,本次课设是把理论和实践结合起来,这不但可以锻炼自己的动手能力,而且还可以加深对数字逻辑电路和模拟电子电路的学习和理解。通过完成数字温度计的设计,使我不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,在软件编程、排版调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。同时也激起了我学好单片机的斗志。为了全面清晰的表达,本论文用图文并茂的方式,尽可能详细的地介绍此次设计的全过程。二、数字温度计设计方案论证2.1 单

6、片机芯片的选取:方案一.采用89C51芯片作为硬件核心,利用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。方案二:采用AT89C2051单片机与MCS-51系列单片机相比有两大优势:第一,片内程序存储器采用闪存,使程序的写入更加方便;第二,提供了更小尺寸的芯片,使整个硬件电路的体积更小,且管脚数目为20个,与MCS-51相比减少一倍,使理解更容易。综上所述:本课

7、设中单片机芯片采用AT89C2051。 2.2温度传感器的选取: 方案一:由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D 转换电路,其中还涉及到电阻与温度的对应值的计算,感温电路比较麻烦。而且在对采集的信号进行放大时容易受温度的影响从而出现较大的偏差。 方案二:考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进

8、行转换,电路简单,精度高,软硬件都以实现,而且使用单片机的接口便于系统的再扩展,满足设计要求。2.3系统最终设计方案:综上各方案所述,对此次课设的方案选定: 采用AT89C2051作为主控制系统;四位一体共阴LED显示器SM420564作为温度数据显示装置;而智能温度传感器DS18B20器件作为测温电路主要组成部分。至此,系统最终方案确定。3、 方案的总体设计1. 方案框图传感器放大系统A/D转换显示 温度计电路设计总体设计方框图,温度传感器采用DS18B20,用4位LED数码管以串口传送数据实现温度显示。2.方案的具体组成图:单片机芯片AT89C2051复位电路晶振控制电源电路温度检测电路L

9、ED显示器3.硬件电路概述: 本电路是由AT89C2051单片机为控制核心,具有与MCS-51系列单片机完全兼容,程序加密等功能,带2KB字节可编程闪存,工作电压范围为2.76V,全静态工作频率为024MHZ;显示电路由4位一体的共阴LED显示器提供,任取其中三位作为所读取的外界温度个位,十位,百位显示,该器件较之单个LED显示器具有引脚个数少,便于连线,出错机率低,查找方便等优点;温度传感器电路主要由DS18B20测温器件构成,该器件主要功能有:采用单总线技术;每只DS18B20具有一个独立的不可修改的64位序列号;低压供电,电源范围为35V;测温范围为-55+125,在-1085范围内误差

10、为±0.5;可编程数据为912位,转换12位温度期间为750ms等;复位电路由1uf电解电容和10K电阻构成。四、主要单元电路的设计: 1.单片机主控模块:AT89C2051单片机芯片采用DIP-20封装形式,与80C51芯片进行比较,减少了两个对外端口(P0口和P2口),P3.6口在内部已与片内比较器输出相连,外端引脚并不显示,其P1口为8位双向I/O引脚,P3.0P3.5与P3.7口为7个带内部上拉的双向I/O引脚。单片机的最小系统如下图所示,4引脚和5引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,

11、在片内它是振荡器倒相放大器的输出.第1引脚为复位输入端,接上电容,电阻构成上电复位电路,20引脚为电源端,10引脚为电源端. 主控电路如下:其中:P1口的P1.0P1.6为显示器的段选信号;P3口中的P3.4,P3.5,P3.7口为位选控制端,分别对应数据中的百位,十位,个位。P3.2口为温度传感器DS18B20的信号端。 2.温度采集模块:1、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。2、测温范围 55+125,固有测温分辨率0.5。3、支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测

12、温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。4、工作电源: 35V/DC 5、在使用中不需要任何外围元件6、测量结果以912位数字量方式串行传送DS18B20的性能特点如下:·独特的单线接口仅需要一个端口引脚进行通信;·实际应用中不需要外部任何元器件即可实现测温;·可通过数据线供电,电压范围为3.05.5V;·在DS18B20中的每个器件上都有独一无二的序列号;·温度以9或12位数字量读出;·报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;·负电压特性,电源极性接反时,温度计不会因发热而烧

13、毁,但不能工作。该器件仅需要一条数据线进行数据传输,使用P3.2与DS18B20的DQ口连接加一个上拉电阻,VCC接5V电源,GND接 地。测温电路如下:3.数据显示模块: 采用4位一体共阴LED显示器。本课程设计中,显示器型号选取SM420564。在采用动态扫描方式时,要使得LED显示的比较均匀,又有足够的亮度,需要设置适当的扫描频率,根据课设任务所要求的功能确定。显示电路如下: 其中:AG管脚与P0口的P1.0P1.6相连,确定显示器被选中数据位的段码; 2,3,4管脚分别于P3口的P3.4,P3.5,P3.7相连,确定显示器的位码,分别对应于数据的百位,十位和个位。4.硬件电路图: 注:

14、此图为仿真软件proteus7.4中的仿真电路截图,所以单片机主控部分未曾给出晶振控制部分(需要通过系统设置为12MHZ)以及AT89C2051芯片的电源VCC引脚和地端GND引脚的相应连线(表示已默认二者正常连线)。 五、系统软件算法分析系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。1.主程序主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度。2.读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温

15、度数据的改写。初始化调用显示子程序1S到?初次上电读出温度值温度计算处理显示数据刷新发温度转换开始命令命令NYNYY发DS18B20复位命令发跳过ROM命令发读取温度命令读取操作,CRC校验9字节完?CRC校验正?确?移入温度存储器结束NNY 3.温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms在本程序设计中采用1s显示程序延时法等待转换的完成。发DS18B20复位命令发跳过ROM命令发温度转换开始命令 结束4.计算温度子程序计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定。 开始温度零下?温度值取补码置“”标

16、志计算小数位温度BCD值 计算整数位温度BCD值 结束置“+”标志NY5.显示数据刷新子程序显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。温度数据移入显示寄存器十位数0?百位数0?十位数显示符号百位数不显示百位数显示数不显示符号 结束NNYY6.软件程序ORG 0000HTEMPER_L EQU 41HTEMPER_H EQU 40HFLAG1 EQU 38HA_BIT1 EQU 31HB_BIT1 EQU 32HD_BIT1 EQU 35HDQ EQU P3.2MOD7: MOV SP, #60HLCALL GET_TEMPERLCA

17、LL TEMPCOVLCALL DISPLAYAJMP MOD7TEMP0: INC AAJMP TEMP1TEMPCOV: MOV A, TEMPER_LMOV B, #16DIV ABJB B.3, TEMP0TEMP1: MOV 34H, AMOV A, BMOV B, #10MUL ABMOV B, #16DIV ABMOV 30H, AMOV A, TEMPER_HMOV B, #16MUL ABADD A, 34HMOV B, #10DIV ABMOV 31H, BMOV B, #10DIV ABMOV 32H, BMOV B, #10DIV ABMOV 35H, BMOV A,

18、TEMPER_HMOV 33H, #10HJB ACC.7, EXIT7MOV 33H, #00HEXIT7: RETINIT_1820: SETB DQNOPCLR DQMOV R1, #3TSR1: MOV R0, #107DJNZ R0, $DJNZ R1, TSR1SETB DQNOPNOPNOPMOV R0, #25HTSR2: JNB DQ, TSR3DJNZ R0, TSR2LJMP TSR4TSR3: SETB FLAG1LJMP TSR5TSR4: CLR FLAG1LJMP TSR7TSR5: MOV R0, #117TSR6: DJNZ R0, TSR6TSR7: SET

19、B DQRETGET_TEMPER: SETB DQLCALL INIT_1820JB FLAG1, TSS2RETTSS2: MOV A, #0CCHLCALL WRITE_1820MOV A, #44HLCALL WRITE_1820LCALL DISPLAYLCALL INIT_1820MOV A, #0CCHLCALL WRITE_1820MOV A, #0BEHLCALL WRITE_1820LCALL READ_18200RETWRITE_1820: MOV R2, #8CLR CWR1: CLR DQMOV R3, #6DJNZ R3, $RRC AMOV DQ, CMOV R3

20、, #23DJNZ R3, $SETB DQNOPDJNZ R2, WR1SETB DQRETREAD_18200: MOV R4, #2MOV R1, #TEMPER_LRE00: MOV R2, #8RE01: CLR CSETB DQNOP NOPCLR DQNOPNOPNOPSETB DQMOV R3, #9RE10: DJNZ R3, RE10MOV C, DQMOV R3,#23RE20: DJNZ R3, RE20RRC ADJNZ R2, RE01MOV R1, ADEC R1DJNZ R4, RE00RETDISPLAY: MOV DPTR, #TABMOV R0, #4DP

21、L1: MOV R1, #250DPLOP:MOV A, 31HMOVC A,A+DPTRMOV P1, ACLR P3.7ACALL D1MSSETB P3.7MOV A, 32HMOVC A,A+DPTRMOV P1, ACLR P3.5ACALL D1MSSETB P3.5MOV A, 35HMOVC A,A+DPTRMOV P1, A CLR P3.4ACALL D1MSSETB P3.4MOV P1, #00HDJNZ R1, DPLOPDJNZ R0, DPL1RETD1MS: MOV R7, #0FFHDJNZ R7, $RETTAB: DB 3FHDB 06HDB 5BHDB

22、4FHDB 66HDB 6DHDB 7DHDB 07HDB 7FHDB 6FHEND6、 在综合毕业设计过程中解决了哪些疑难问题,是用什么方法和措施解决的 在毕业设计期间我了解并使用了系统仿真软件proteus和编译软件keil,使我们进一步了解了单片机的设计制作过程,其中最为困难的是软件部分,即编程部分,我们上网找了好多资料,虽然经过自己的修改,但还是有很多功能不 能实现,如报警和温度上下限设置。由于 protues 并不是很熟练,在使用的过程中 有很多原件的名称不知道,从而花费了大量的时间在网上查找,今后应该会在这方面多多努力。七、还存在有哪些问题有待于改进 此温度计能成功测量精确温度,但

23、是应用到实际当中,缺乏控制报警系统,安装控制系统与报警系统后,就能实现全自动化的生产与测量。结论本文设计的数字温度表,由于采用了新型的数字温度传感器 DS18B20,不但具有硬件结构紧凑、功耗低、抗干扰性能好、使用简易、携带方便等优点,而且还具有很高的稳定性、可靠性。灵敏度高,精度可达0.5;能对范围在-55125的温度进行测量。致谢 在本文即将结束之际,我要由衷地感谢在我毕业设计阶段乃至学习生活中帮助过我的师长与同学。 在撰写过程中,要特别感谢我的导师何瑜的指导与督促,同时感谢他的谅解与包容。没有何瑜老师的帮助也就没有今天的这篇论文。求学历程是艰苦的,但又是快乐的。他不求回报,无私奉献的精神很让我感动,再次向他表示由衷的感谢。在这三年的学期中结识的各位生活和学习上的挚友让我得到了人

温馨提示

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

最新文档

评论

0/150

提交评论