




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录摘要2第1章 系统综述3第2章 开发平台及模块介绍32.1 开发工具32.2 处理器AT89C51简介52.3 芯片DS18B20的介绍6第3章 系统的软硬件设计73.1 设计框图73.2 硬件电路设计83.2 软件设计9第4章 调试及结果134.1 调试中所遇问题以及解决方法134.2 仿真结果13结束语14致谢15参考文献15简易温度控制系统摘要单片机在日用电子产品中的应用越来越广泛,温度则是人们日常生活中常常需要测量和控制的一个量。本文采用AT89C51单片机和温度传感器DS18B20,从硬件和软件两方面介绍一款简易温度控制器的设计过程,并对硬件原理图和流程图做了简要的描述。本系统
2、要求能够实时可靠监控温度变化,指示准确,要实现温度的自动控制,首先,要准确的检测环境温度;其次,要把检测到信号转换成控制器件可识别的数字信号;再次,用单片机完成控制加热,保证温度不低于设定值。如果温度将高于设定值,关闭加热器件,使其自行冷却。保持温度在设定值,误差不高于1。关键字:单片机;AT89C51 ;温度传感器;DS18B20 第1章 系统综述随着单片机技术的不断发展,单片机在日常电子产品中的应用越来越广泛,温度传感器DS18B20具有线性优良、性能稳定、灵敏度高、抗干扰能力强、使用方便等特点,广泛应用于冰箱、空调器、饮水机等日常生活中温度的测量和控制。传统的温度控制器反应速度慢,读数麻
3、烦,测量精度不高,误差大等缺点,本文利用集成温度传感器DS18B20设计制作了一款基于AT89C51的1位数码管显示的温度控制器,其电路简单,软硬件结构模块化易于实现。该温度控制器利用DS18B20集成温度传感器及其接口电路完成温度的测量,最后将温度值显示在2位数码管上。数码管实时显示温度值,温度测量值与温度设定值送入由AT89C51组成的控制主板后,由处理器AT89C51对数据进行处理和比较分析。若测量温度值低于设定温度界限,根据系统程序控制,由单片机发出控制信号,经过驱动电路使加热器工作。当加热后的温度达到设定的温度界限,则停止加热,单片机发出一个控制信号,关闭加热器。整个控制系统的组成可
4、以分成以下几个部分:控制主板,电源,复位电路,时钟电路,温度采集电路、键盘和显示。控制主板,本测控系统采用Atmel系列的AT89C51单片机作为核心处理器,采用ADS18B20作为温度传感器,处理器通过一个I/O口输出高低电平信号来控制加热器的开关。电源部分采用了抗干扰技术,为整个系统提供电源。复位电路采用常用的电容加电阻的形式 。处理器通过一个并口与两位数码管相连,实现数据的显示。第2章 开发平台及模块介绍2.1 开发工具本系统采用了Proteus软件做仿真:Proteus软件是一种低投资的电子设计自动化软件,提供可仿真数字和模拟、交流和直流等数千种元器件和多达30多个元件库。P
5、roteus软件提供多种现实存在的虚拟仪器仪表。此外,Proteus还提供图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗,尽可能减少仪器对测量结果的影响,Proteus软件提供丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。提供Schematic Drawing、SPICE仿真与PCB设计功能,同时可以仿真单片机和周边设备,可以仿真51系列、AVR、PIC等常用的MCU,并提供周边设备的仿真,例如373、led、示波器等。Proteus提供了大量的元件库,有RAM、ROM、键盘、马达、L
6、ED、LCD、AD/DA、部分SPI器件、部分IIC器件,编译方面支持等编译器。 一台计算机、一套电子仿真软件,在加上一本虚拟实验教程,就可相当于一个设备先进的实验室。以虚代实、以软代硬,就建立一个完善的虚拟实验室。在计算机上学习电工基础,模拟电路、数字电路、单片机应用系统等课程,并进行电路设计、仿真、调试等。Proteus的ISIS是一款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统。该软件的特点: 全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。具有模拟电路仿真、数字电路
7、仿真、单片机及其外围电路组成的系统的仿真、RS-232动态仿真、C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。 目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。 支持大量的存储器和外围芯片。总之该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大 ,可仿真51、AVR、PIC。该系统还采用了Keil编程软件:Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看
8、出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍
9、。 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。2.2 处理器AT89C51简介此系统用的处理器是AT89C51。AT89C51是一种带4K字节闪烁可编
10、程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方
11、案。Atmel公司生产的AT89C51单片机是一种低功耗、低电压、高性能的8位单片机,内部除CPU外,还包括128字节RAM,4个8位并行I/O口,5个中断优先级,2层中断,2个16位可编程定时计数器,片内集成4K字节可改变程序FLASH存储器,具有低功耗,速度快,程序擦写方便等优点,完全满足本系统的设计需要。处理器外部引脚图如图1所示。图1 AT89C51外部引脚图2.3 芯片DS18B20的介绍DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO92小体积封装形式;温度测量范围为55125,可编程为9位12位A/D转换精度,测温分辨率可达 0.0625,被测温度用符号
12、扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3 根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常 适用于远距离多点温度检测系统。特性如下:(1)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;(2)在使用中不需要任何外围元件;(3)可用数据线供电,电压范围:+3.0+5.5 V;(4)测温范围:-55 +125 ,固有测温分辨率为0.5 ;(5)通过编程可实现912位的数字
13、读数方式;(6)用户可自设定非易失性的报警上下限值;(7)支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温;(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;(9)精度高、抗干扰能力强、工作稳定可靠。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都需要主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令
14、后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。 DS18B20的内部结构主要由4部分组成:64 位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如图2所示,DQ为数字信号输入输出端;GND为电源 地;VDD为外接供电电源输入端。 ROM中的64位序列号是出厂前被光刻好的,它可以看作 是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。64位ROM的排的循环冗余校验码(CRC=X8X5X41)。 ROM的作用是使每一个D
15、S18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。 DS18B20有两种封装模式:3脚和8脚封装,管脚排列如图所示,其中3脚封装比较常用。DS18B20各种封装如图2所示。图2 DS18B20芯片封装DS18B20内部结构图如图3所示 图3 DS18B20内部结构图第3章 系统的软硬件设计3.1 设计框图此方案采用89C51单片机系统来实现。单片机软件编程灵活、自由度大,可用软件编程实现各种控制看法和逻辑控制。可实现数码显示和键盘设定等多种功能,系统框图如图4所示。DS18B20电源电路单片机89C51数码显示晶振键盘设定加热控制图4 系统框图3.2 硬件电路设计系
16、统所用到的所用器件如表1所列。系统硬件原理图如图5所示。表1 系统器件列表图5 系统框图3.2 软件设计软件设计主要包括编写主函数的设计、温度采集函数、显示函数。主程序流程图如图6所示。读取DS1820的值开始系统初始化计算实际温度值,并显示输入设定的温度是否设定温度?设定温度为默认值实际温度<设定温度?加热NN停止加热YY图6 主程序流程图温度采集的程序流程图如图7所示。开始DS18B20复位取读温度数据转换显示结束图7 温度采集程序流程图/*1.主程序代码*/A_BIT EQU 20H ;存放个位数变量B_BIT EQU 21H ;存放十位数变量FLAG EQU 38H ;DS18B
17、20是否存在标志DQ EQU P2.5 ;DQ引脚由P2.5控制 MAIN: ;主程序 ACALL RE_TEMP ;对传感器设置及读取 ACALL TURN ;转化温度子程序 ACALL DISPLAY ;显示子程序 JMP MAIN ;循环 RE_TEMP: ;对DS18B20初始化及读取 SETB DQ ACALL RESET_1820 ;调用复位子程序 JB FLAG, ST ;判断DS1820是否存在? RET /*2.复位子程序 RESET_1820*/RESET_1820: SETB DQ NOP CLR DQ ;主机发出延时501微秒的复位低脉冲DLY: MOV R0,#250
18、 DJNZ R0,$ ;然后拉高数据线,等待DS18B20回应 SETB DQ NOP NOP NOPMOV R0,#35 T2: JNB DQ ,T3 ;等待DS18B20回应,回应0电平 DJNZ R0, T2 ;等70us JMP T4;等不到 T3: SETB FLAG ;置标志位,表示DS1820存在 JMP T5 T4: CLR FLAG ;清标志位,表示DS1820不存在 JMP T7 T5: MOV R0,#120 T6: DJNZ R0,T6 ;时序要求延时60-240us时间 T7: SETB DQ RET /*3.子程序温度传感工作程序 ST*/ST: ; DS18B20
19、存在 MOV A,#0CCH ;跳过ROM匹配 p217 ACALL WRITE_1820 ;写入数据 MOV A,#44H ;发出温度转换命令 ACALL WRITE_1820 ;写入数据 ACALL RESET_1820 ;准备读温度前先复位 MOV A,#0CCH ;跳过ROM匹配 ACALL WRITE_1820 ;写入数据 MOV A,#0BEH ;发出读温度命令 ACALL WRITE_1820 ;写入数据 ACALL READ_1820 ;读出温度数据 RET /*4.写入程序 WRITE_1820*/WRITE_1820: ;写入DS18B20(有具体的时序要求) MOV R2
20、,#8 ;一共8位数据 CLR CWR1:CLR DQ ;总线拉低,开始写入 MOV R3,#8 DJNZ R3,$ ;保持16微秒以上 RRC A ;把字节DATA分成8个BIT环移给C MOV DQ, C ;写入一个BIT,地位在前,高位在后 MOV R3,#23 DJNZ R3,$ ;等待46微妙 SETB DQ ;重新释放总线 NOP DJNZ R2,WR1 ;写入下一个BIT SETB DQ RET /*5.读出程序 READ_1820*/READ_1820: ;将温度高位和低位从DS18B20中读出 MOV R4,#2 ; 读出两个字节的数据 MOV R1,#29H ;先读出低位存
21、入29H,后出来的高位存入28hRE0: MOV R2,#8 ;一个字节8位RE1: CLR C SETB DQ NOP CLR DQ ;读前总线保持为低 NOP SETB DQ ;开始读总线释放 MOV R3,#9RE2: DJNZ R3,RE2 ;延时18微妙 MOV C, DQ ;从总线读到一个BIT MOV R3,#23RE3: DJNZ R3,RE3 ;等待46微妙 RRC A ;把读得的DQ移给A DJNZ R2,RE1 ;读下一个BIT MOV R1,A DEC R1 DJNZ R4,RE0 RET/*6.转化温度子程序*/TURN: MOV A,29H MOV C,40H ;将
22、28中的最低位移入C RRC A MOV C,41H RRC A MOV C,42H RRC A MOV C,43H RRC A MOV 29H,A RET/*7.显示子程序*/DISPLAY: ;将29H中的十六进制数成10进制 MOV A,29H MOV B,#10 ;10进制/10=10进制 DIV AB MOV B_BIT, A ;十位在A MOV A_BIT, B ;个位在B MOV DPTR,#TABLE ;指定查表启始地址 MOV R0,#4 DP1:MOV R1, #250 LOOP:MOV A,A_BIT ;取个位数 MOVC A,A+DPTR ; MOV P0,A ;送出个
23、位的7段码 CLR P2.3 ;开个位显示 ACALL DELAY ; SETB P2.3 MOV A,B_BIT ;取十位数 MOVC A,A+DPTR ;查十位数7段码 MOV P0,A ;送出个十位7段码 CLR P2.2 ;开十位显示 ACALL DELAY ;显示160uS SETB P2.2 DJNZ R1,LOOP ;250次循环 DJNZ R0,DP1 ;4个250次循环 RET DELAY: MOV R7, #80 ; 延时 DJNZ R7,$ RET 第4章 调试及结果4.1 调试中所遇问题以及解决方法对于初次进行毕业设计的我来说遇到困难是经常的,一开始我就因为找课题而烦恼
24、了好一阵,不过后来在老师的指导下而确定了。有了课题下面就要进行选择元器件、设计电路图了,选择元器件时老师提醒我们要选择一些常见的器件,所以在这一过程还好。但接下来得电路图就比较难了,不过幸好有老师在旁边不停的指导,并不时的帮助我们修改一些不足之处。而且在这段时间图书馆也帮助了我好多,有好多需要我独立解决的问题,我都可以通过图书馆里的书而得到提示,所以在毕业设计中遇到的问题我都通过老师的指导和书中知识而解决了。4.2 仿真结果经Proteus软件仿真后,系统可正常运行,结果如图7所示。图7 系统仿真结果结束语经过几个月的紧张的学习与研究,至此,本次毕业设计已经全部完成,所设计的单片机温度控制器基
25、本达到预期的目的,完美地完成了温度控制、温度显示的功能,并且利用Keil uVsion3软件对其进行了软件仿真,之后利用了Proteus ISIS对系统进行了基于硬件的仿真,再结合自己编写的上位机接收程序进行了串行数据传输仿真,仿真效果很好,通过仿真证明了系统方案的可行性。该数据采集系统实现了串行数据采集,串行数据传输功能,并且误差范围非常小,温度数据采集速度高,能够满足一般温度数据采集的需要。在做毕业设计之初,我查了很多关于单片机温度控制器的设计资料,我发现有非常多的专家学者都作过这方面的研究,并且其中不乏非常优秀的作品,并且有的已经投入工程应用,历经了长时间的实践的检验,而我几乎从零开始做温度控制和温度显示的设计,我发现自己很难找到创新点,即使成功了也是对前人工作的一次重复,一度我很茫然,前人的设计水平我无法超越,又没有自己独到的创新点,我做毕业设计的意义何在?但是经过仔细思考,我端正了自己的态度,只要我认真完成就好。做毕业设计的这几个月,是紧张的,也是重新学习努力探索
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年制粒干燥设备合作协议书
- 本年度高级会计试题及答案深度解读
- 航空器保障工作流程的试题及答案
- 2025年串联压缩机组项目发展计划
- 《概览与线虫》课件
- 供应链协同管理教学课件
- 火灾现场应急处理试题及答案
- 四川省巴中市南江中学2024-2025学年高一下学期半期考试生物试题(含答案)
- 2025年服装、鞋帽加工机械项目合作计划书
- 山东烟台长岛第一实验学校2024-2025学年道德与法治七下第四单元 生活在法治社会 测试卷 (含答案)
- 残值车辆收购合同协议
- 2025年全国防灾减灾日主题教育班会课件
- 2025儿童服装购销合同模板
- 2025年全国高压电工证(复审)理论考试试题(1000题)附答案
- 2025西安数字城市科技运营有限公司招聘(9人)笔试参考题库附带答案详解
- 2024年江苏南京大数据集团有限公司招聘笔试真题
- 北京2025年生态环境部卫星环境应用中心上半年招聘笔试历年参考题库附带答案详解
- 人教版八年级数学下册试题第18章平行四边形综合测试卷(含详解)
- 2025智慧病区建设及评价规范
- 湖南能源集团有限公司招聘笔试题库2025
- 渣浆泵培训课件
评论
0/150
提交评论