基于单片机实现的制冷温控系统的设计

上传人:仙*** 文档编号:31339086 上传时间:2021-10-11 格式:DOC 页数:46 大小:826.50KB
收藏 版权申诉 举报 下载
基于单片机实现的制冷温控系统的设计_第1页
第1页 / 共46页
基于单片机实现的制冷温控系统的设计_第2页
第2页 / 共46页
基于单片机实现的制冷温控系统的设计_第3页
第3页 / 共46页
资源描述:

《基于单片机实现的制冷温控系统的设计》由会员分享,可在线阅读,更多相关《基于单片机实现的制冷温控系统的设计(46页珍藏版)》请在装配图网上搜索。

1、烟 台 南 山 学 院毕毕 业业 论论 文文题目 单片机温控系统的设计 姓 名:_李秀文 _所在学院:自动化工程学院 所学专业:_电气工程_ _班 级 _08 级电气工程 2+2 学 号 200806608930 指导教师:_王选诚_ 完成时间:_2012 年 3 月 3 日_ 毕业论文(设计)任务书毕业论文(设计)任务书论文题目单片机制冷温控系统的设计单片机制冷温控系统的设计院部自动化工程学院专业电气工程班级2+2毕业论文(设计)的要求 本设计是对温度进行实时监测与控制,该系统实现了基本的温度控制功能:当温度高于设定上限温度时,系统自动启动制冷继电器进行制冷,使温度下降,同时绿灯亮,当温度下

2、降到下限温度时,停止制冷。当温度在上下限温度之间时,执行机构不执行。本系统使用 AT89C52 作为中央控制器,使用 DS18B20 进行实时温度采集,并在 1602 液晶上实时显示当前运行状态和温度,精确到小数点一位(0.1) 。毕业论文(设计)的内容与技术参数本设计使用的软件有 keil 和 proteus。keil 主要用来进行单片机程序的编写和编译,proteus 可以用来进行单片机的仿真,并能方便和直观的验证程序的正确性。技术参数:(1)利用 DS18B20 进行实时温度采集,精度为 0.1。 (2)单片机获取当前温度,控制继电器的断开与闭合,将温度控制在 1020度。 (3)单片机

3、控制 1602 液晶显示当前工作状态和实时温度,刷新时间为 1s。毕业论文(设计)工作计划2011.12 看关于单片机原理的书籍;2012.01 看有关温度采集电路的书籍;2012.01 看有关显示电路,输出控制电路的书籍; 2012.03 制定开题报告;2012.04 开始编写论文:a 编写所用到的各种元器件的原理和简单介绍 b 完成主题设计思路 完成电路图设计;2012.04 编写主程序;2012.05 完成装置的调试工作;2012.05.10 完成设计总结接受任务日期 2011 年 12 月 6 日 要求完成日期 2012 年 3 月 8 日学 生 (签名) 2012 年 3 月 8 日

4、指 导 教 师 (签名) 年 月 日院长 (主任 ) (签名) 年 月 日烟台南山学院本科毕业论文I摘 要:随着计算机在日常生活中的广泛应用, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应该有硬件软件的结合。我设计的基于 AT89C52 的高精度家用空调温度控制系统,系统硬件主要由电源电路、温度采集电路(DS18B20) 、键盘、显示电路、输出控制电路及其他辅助电路组成;软件采用 8051C 语言编程;这是一种符合机械温控要求的低成本的控制器,在温差和湿度超过用户设定

5、值范围时,启动制冷通风设备,否则自动关闭制冷通风设备。该系统可以完成温度的显示、温度的设定、空调的控制等多项功能。从而满足了大多数人对于空调的日常要求。本系统采用 DS18B20 充当测温器件。外部温度信号经 DS18B20 将输入的模拟信号转换成 8 位的数字信号, 通过并 口传送到单片机系统( AT89C52) 。单片机系统将接收的数字信号译码处理,通过 LCD1602 将温度显示出来,同时单片机系统还将完成键盘扫描 、按键温度设定、超温报警等程序的处理 ,将处理的温度信号与系统设定温度值比较,形成可以控制空调制冷、制热与停止工作三种工作状态,从而实现空调的智能化。关键词:单片机;制冷系统

6、;空调;温度烟台南山学院本科毕业论文IIAbstract:Along with the computer the wide application in our daily life, the application of SCM is continuously to the deepening, and push the traditional control test on the new beneficial update. In real time detection and automatic control of the microcomputer application syst

7、em, the microcontroller is often as a core component to use, only single chip microcomputer aspects knowledge is not enough, there should be a combination of hardware and software. Based on AT89C52 home high-precision air-conditioning temperature control system I designed, the system hardware by the

8、 power supply circuit, the temperature acquisition circuit (DS18B20), keyboard, display circuit, the output control circuit and other auxiliary circuit; software using the 8051C language programming;a meet the requirements of the mechanical temperature controller of low-cost, the difference in tempe

9、rature and humidity exceeds a user set value range to start the refrigeration and ventilation equipment, or automatically shut down the refrigeration and ventilation equipment. The system can complete the display of the temperature, temperature setting, air-conditioning control and many other featur

10、es. To meet the daily requirements of most people for the air conditioning. This system uses the DS18B20 as a temperature measuring device. External temperature signal by the DS18B20 input analog signal into 8-bit digital signal sent to the SCM system (on AT89C52) through the parallel port. SCM syst

11、em will receive the digital signal decoding processing, the temperature displayed by LCD1602, the SCM system will complete the keyboard scan button temperature setting, over-temperature alarm program processing, the processing temperature signal and system set temperature the value of comparison, th

12、e formation can be controlled air conditioning and refrigeration, heating stopped working three modes of operation in order to achieve the air-conditioning intelligent.Keywords:Keywords: SCM; Refrigeration system; Air conditioning; temperature 烟台南山学院本科毕业论文III目 录1 设计目的.11.1 设计背景 .11.2 设计目的和意义 .11.3 设

13、计要求 .12 电路设计.22.1 总体设计 .22.2 功能模块电路设计 .32.2.1 单片机的选型及其功能简介 .32.2.2 振荡电路设计 .92.2.3 复位电路设计 .102.2.4 键盘接口电路设计 .102.2.5 温度测量电路设计 .112.2.6 系统显示电路设计 .122.2.7 输出控制电路设计 .132.3 总电路设计 .132.4 系统所用元器件 .153 软件系统设计.163.1 软件系统总体方案设计 .163.2 软件流程图设计 .164 系统调试.17总结.19致谢.20参考文献.21附录 1:系统的源程序清单 .22附录 2:系统的 PCB 图 .41烟台南

14、山学院本科毕业论文11 设计目的1.1 设计背景温度是大自然中与人们日常生产和生活息息相关的一个物理量,它的瞬息万变对我们人类产生着巨大的影响。研究温控系统,可以更好的控制温度,从而使人们更好的掌控温度,使温度可以更好的为人类服务。随着微机测量和控制技术的迅速发展和广泛应用,以单片机为核心的温度采集及控制系统的研发与应用在很大程度上提高了日常生产与生活中对温度的控制水平。本设计就是基于单片机 AT89C52 的一个空调温控制冷系统。通过本次设计,我更加明确了单片机在工业方面的广泛应用和使用方法,并且了解了单片机的工作原理。1.2 设计目的和意义随着人们生活质量不断提高,同时也对高科技电子产业提

15、出了更高的要求,为了使人们生活更人性化、智能化。我设计了这一基于单片机的空调温度控制系统,人们只有生活在一定的温度环境内才能长期感觉舒服,才能保证不中暑不受冻,所以对室内温度要求要高。对于不同地区空调要求不同,有的需要升温,有的需要降温。一般都要维持在 2126C。目前,虽然我国大量生产空调制冷产品,但由于我国人口众多,需求量过盛,在我国的北方地区,尤其是山东这个四季分明的地方,还有好多家庭还没有安装有效地室内温控系统。温度不能很好的控制在一定的范围内,夏天室内温度过高,冬天温度过低,这些均对人们正常生活带来不利的影响,温度、湿度均达不到人们的要求。以前温度控制主要利用机械通风设备进行室内、外

16、空气的交换来达到降低室内温度,实现室内温度适宜人们生活。以前通风设备的开启和关停,均是由人手动控制的,即由人们定时查看室内外的温度、湿度情况,按要求开关通风设备,这样人们的劳动强度大,可靠性差,而且消耗人们体力,劳累成本过高。为此,需要有一种符合机械温控要求的低成本的控制器,在温差和湿度超过用户设定值范围时,启动制冷通风设备,否则自动关闭制冷通风设备。鉴于目前大多数制冷设备现在状况,我设计了一款基于 AT89C52 单片机的空调温度控制系统。1.3 设计要求要求利用单片机设计一空调温度控制器,系统能够实时检测并显示室温,能够利用键盘设定温度,并且和室温进行比较,当室温低于设定温度时,系统能够驱

17、动加热系统工作,当室温高于设定温度时,系统能够驱动制冷系统工作,当两者温度相等时,无动作。烟台南山学院本科毕业论文22 电路设计2.1 总体设计空调温度控制系统,主要要完成对温度的采集、显示以及设定等工作,从而实现对空调的控制。传统采用铂电阻充当测温器件的方案,虽然其中段测量线性度好,精度较高,但是测量电路的设计难度高 ,且测量电路系统庞大,难于调试 ,而且成本相对较高。鉴于上述原因,本系统采用 DS18B20 充当测温器件。外部温度信号经 DS18B20 将输入的模拟信号转换成 8 位的数字信号, 通过并 口传送到单片机系统( AT89C52) 。单片机系统将接收的数字信号译码处理,通过 L

18、CD1602 将温度显示出来,同时单片机系统还将完成键盘扫描 、按键温度设定、超温报警等程序的处理 ,将处理的温度信号与系统设定温度值比较,形成可以控制空调制冷、制热与停止工作三种工作状态,从而实现空调的智能化。另外,键盘输入方面,采用了软件来修正误操作输入 ,即输入的温度范围必须在系统硬件所确定的范围内,直接降低由于误操作带来的风险,提高了系统的可靠性 ,体现了人性化的系统设计原则。系统的整体框图如图 2.1 所示:图 2.1 系统整体框图烟台南山学院本科毕业论文32.2 功能模块电路设计2.2.1 单片机的选型及其功能简介由于本系统只需要单片机完成矩阵键盘检测以及处理 DS18B20 送来

19、的温度数据并送 LCD1602 进行显示对于 I/O 资源以及处理速度无特殊要求,故选择ATMEL 公司生产的 AT89C52 单片机,AT89C52 增加了在线调试功能,即程序可以通过 JTAG 接口下载,调试和固化,因而该芯片的开发不再需要昂贵的硬件仿真器,可实现实时仿真,所有的资源都可以为用户所使用,可以在线编程或在系统编程,更进一步地说,在线编程或在系统编程是开发的系统具有了通过网络进行升级、维护的潜在功能。AT89C52 的性能及特点1:与 MCS-51 系列单片机兼容。片内有 8K 可在线重复编程的快速内 存可擦写存储器(Flash Memory) 。存储器可循环写入/擦写 100

20、00 次以上。存储器数据保存时间为 10 年以上。宽工作电压范围:Vcc 可为 2.7V-6.5V。全静态工作:可从 0Hz-24MHz。程序存储器具有三级加密保护。256 字节的内部 RAM。32 条可编程 I/O 口线。三个 16 位定时器/计数器。中断结构具有 5 级(6 级)中断源和两个优下级。可编程全双工串行通讯。空闲维持低功耗和掉电状态保护存储数据。 AT89C52 引脚图如图 2.2 所示。烟台南山学院本科毕业论文4图 2.2 AT89C52 引脚图VCC: +5V 电源输入GND:接地P0 口是一个双向 8 位三态 I/O 口,每个口可独立控制。使用时需外接上拉电阻。P1 口是

21、一个准双向 8 位 I/O 口,它的功能是单一的,只能用作数据的输入或者输出。P2 口是一个准双向 8 位 I/O 口,输出时,从 P2.x 端口可输出 CPU 写到锁存器上的信号。当该接口用做数据输入接口是,应先向该位写 1,然后,读该位即可读入输入数据。P3 口是具有第二功能的准双向 8 位 I/O 口。ALE/PROG:地址所存/编程信号线。当 P0 口工作在第二功能时从该端口可复用工作,某时刻该端口可以送出地址信号 A0A7,而另外的时刻该端口传送的是数据信号 D0D7。利用 ALE 可以将地址信号 A0A7 锁存到地址锁存器。/VPP:该控制信号线也具有双重功能,是允许访问片外 RO

22、M/编程高电EA烟台南山学院本科毕业论文5压引线。:程序存储器允许输出控制端,常用作片外 ROM 的读控制信号,低PSEN电平有效。RESET:复位引脚,当该端加上超过 24 个时钟周期的高电平时,可是8051 复位。系统复位电路如图 2.3 所示。X1、X2:外接时钟引脚。X1 为片内振荡电路的输入端,X2 为片内振荡电路的输出端。特殊功能寄存器在 AT89C52 片内存储器中, 80H-FFH 共 128 个单元为特殊功能寄存器(SFE) ,SFR 的地址空间映象如表 2 所示。并非所有的地址都被定义,从80HFFH 共 128 个字节只有一部分被定义,还有相当一部分没有定义。对没有定义的

23、单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。不应将数据“1”写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0” 。 AT89C52 除了与 AT89C51 所有的定时 /计数器 0 和定时/计数器 1 外,还增加了一个定时 /计数器 2。定时/计数器 2 的控制和状态位位于T2CON,T2MOD,寄存器对( RCAO2H、RCAP2L)是定时器 2 在 16 位捕获方式或 16 位自动重装载方式下的捕获 /自动重装载寄存器 ,数据存储器AT89C52 有 256 个字节的内部 RAM,80H-FFH 高 128 个字节与特

24、殊功能寄存器(SFR)地址是重叠的,也就是高 128 字节的 RAM 和特殊功能寄存器的地址是相同的,但物理上它们是分开的。当一条指令访问7FH 以上的内部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高 128 字节 RAM 还是访问特殊功能寄存器。如果指令是直接寻址方式则为访问特殊功能寄存器。 例如,下面的直接寻址指令访问特殊功能寄存器0A0H(即 P2 口)地址单元。 MOV 0A0H,#data 间接寻址指令访问高 128 字节 RAM,例如,下面的间接寻址指令中, R0 的内容为 0A0H,则访问数据字节地址为 0A0H,而不是 P2 口(0A0H) 。 MOV R

25、0,#data 堆栈操作也是间接寻址方式,所以,高128 位数据 RAM 亦可作为堆栈区使用。 定时器 0 和定时器 1: AT89C52 的定时器 0 和定时器 1 的工作方式与 AT89C51 相同。 定时器 2基本特性: 定时器 2 是一个 16 位定时/计数器。它既可当定时器使用,也可作为外部事件计数器使用,其工作方式由特殊功能寄存器T2CON(如表 3)的C/T2 位选择。定时器 2 有三种工作方式:捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由T2CON 的控制位来选择。 定时器 2 由两个 8 位寄存器 TH2 和 TL2 组成,在定时器工作方式中,每个

26、机器周期 TL2 寄存器的值加 1,由于一个机器周期由 12 个振荡时钟构成,因此,计数速率为振荡频率的1/12。 烟台南山学院本科毕业论文6在计数工作方式时,当 T2 引脚上外部输入信号产生由 1 至 0 的下降沿时,寄存器的值加 1,在这种工作方式下,每个机器周期的5SP2 期间,对外部输入进行采样。若在第一个机器周期中采到的值为1,而在下一个机器周期中采到的值为 0,则在紧跟着的下一个周期的 S3P1 期间寄存器加1。由于识别 1 至 0 的跳变需要 2 个机器周期( 24 个振荡周期) ,因此,最高计数速率为振荡频率的 1/24。为确保采样的正确性,要求输入的电平在变化前至少保持一个完

27、整周期的时间,以保证输入信号至少被采样一次。 捕获方式:在捕获方式下,通过 T2CON 控制位 EXEN2 来选择两种方式。如果 EXEN2=0,定时器 2 是一个 16 位定时器或计数器,计数溢出时,对T2CON 的溢出标志 TF2 置位,同时激活中断。如果 EXEN2=1,定时器 2 完成相同的操作,而当 T2EX 引脚外部输入信号发生 1 至 0 负跳变时,也出现 TH2 和 TL2 中的值分别被捕获到 RCAP2H 和 RCAP2L 中。另外, T2EX 引脚信号的跳变使得 T2CON 中的 EXF2 置位,与 TF2 相仿,EXF2 也会激活中断。自动重装载(向上或向下计数器)方式:

28、 当定时器 2 工作于 16 位自动重装载方式时,能对其编程为向上或向下计数方式,这个功能可通过特殊功能寄存器 T2CON 的 DCEN 位(允许向下计数)来选择的。复位时, DCEN 位置“0” ,定时器 2 默认设置为向上计数。当 DCEN 置位时,定时器 2 既可向上计数也可向下计数,这取决于T2EX 引脚的值,当 DCEN=0 时,定时器2 自动设置 为向上计数,在这种方式下, T2CON 中的 EXEN2 控制位有两种选择,若 EXEN2=0,定时器 2 为向上计数至 0FFFFH 溢出,置位 TF2 激活中断,同时把 16 位计数寄存器 RCAP2H 和 RCAP2L 重装载,RC

29、AP2H 和RCAP2L 的值可由软件预置。 若 EXEN2=1,定时器 2 的 16 位重装载由溢出或外部输入端 T2EX 从 1 至0 的下降沿触发。这个脉冲使 EXF2 置位,如果中断允许,同样产生中断。 定时器 2 的中断入口地址是: 002BH 0032H 。 当 DCEN=1 时,允许定时器 2 向上或向下计数,如图 6 所示。这种方式下,T2EX 引脚控制计数器方向。 T2EX 引脚为逻辑 “1”时,定时器向上计数,当计数 0FFFFH 向上溢出时,置位 TF2,同时把 16 位计数寄存器RCAP2H 和 RCAP2L 重装载到 TH2 和 TL2 中。 T2EX 引脚为逻辑 “

30、0”时,定时器 2 向下计数,当 TH2 和 TL2 中的数值等于 RCAP2H 和 RCAP2L 中的值时,计数溢出,置位 TF2,同时将 0FFFFH 数值重新装入定时寄存器中。当定时/计数器 2 向上溢出或向下溢出时,置位 EXF2 位。 波特率发生器: 当 T2CON(表 3)中的 TCLK 和 RCLK 置位时,定时 /计数器 2 作为波特率发生器使用。如果定时 /计数器 2 作为发送器或接收器,其发送和接收的波特率可以是不同的,定时器1 用于其它功能。若RCLK 和 TCLK 置位,则定时器 2 工作于波特率发生器方式。 波特率发生器的方式与自动重装载方式相仿,在此方式下,TH2

31、翻转使定时器 2 的寄存器用 RCAP2H 和 RCAP2L 中的 16 位数值重新装载,该数值由软件设置。在方式 1 和方式 3 中,波特率由定时器 2 的溢出速率根据下式确定:方式 1 和 3 的波特率=定时器的溢出率 /16 定时器既能工作于定时方式也能工作于计数方式,在大多数的应用中,是工作在定时方式(C/T2=0) 。定时器 2 作为波特率发生器时,与作为定时器的操作是不同的,烟台南山学院本科毕业论文7通常作为定时器时,在每个机器周期( 1/12 振荡频率)寄存器的值加 1,而作为波特率发生器使用时,在每个状态时间( 1/2 振荡频率)寄存器的值加 1。波特率的计算公式如下 :方式

32、1 和 3 的波特率=振荡频率/32*65536-(RCP2H,RCP2L) 式中(RCAP2H,RCAP2L)是 RCAP2H 和RCAP2L 中的 16 位无符号数。T2CON 中的 RCLK 或 TCLK=1 时,波特率工作方式才有效。在波特率发生器工作方式中, TH2 翻转不能使 TF2 置位,故而不产生中断。但若 EXEN2 置位,且 T2EX 端产生由 1 至 0 的负跳变,则会使 EXF2 置位,此时并不能将( RCAP2H,RCAP2L)的内容重新装入 TH2 和 TL2 中。所以,当定时器 2 作 为波特率发生器使用时, T2EX 可作为附加的外部中断源来使用。需要注意的是,

33、当定时器2 工作于波特率器时,作为定时器运行( TR2=1)时,并不能访问 TH2 和 TL2。因为此时每个状态时间定时器都会加 1,对其读写将得到一个不确定的数值。然而,对RCAP2 则可读而不可写,因为写入操作将是重新装载,写入操作可能令写和/或重装载出错。在访问定时器 2 或 RCAP2 寄存器之前,应将定时器关闭(清除 TR2) 。 可编程时钟输出: 定时器 2 可通过编程从 P1.0 输出一个占空比为 50%的时钟信号。P1.0 引脚除了是一个标准的 I/O 口外,还可以通过编程使其作为定时/计数器 2 的外部时钟输入和输出占空比 50%的时钟脉冲。当时钟振荡频率为 16MHz 时,

34、输出时钟频率范围为 61Hz4MHz。 当设置定时/计数器 2 为时钟发生器时, C/T2(T2CON .1)=0,T2OE (T2MOD.1) =1,必须由 TR2(T2CON.2)启动或停止定时器。时钟输出频率取决于振荡频率和定时器 2 捕获寄存器( RCAP2H,RCAP2L)的重新装载值,公式如下: 输出时钟频率 =振荡器频率/4*65536-(RCP2H,RCP2L) 在时钟输出方式下,定时器 2 的翻转不会产生中断,这个特性与作为波特率发生器使用时相仿。定时器 2 作为波特率发生器使用时,还可作为时钟发生器使用,但需要注意的是波特率和时钟输出频率不能分开确定,这是因为它们同使用RC

35、AP2L 和 RCAP2L。 时钟振荡器:AT89C52 中有一个用于构成内部振荡器的高增益反相放大器,引脚 XTAL1 和 XTAL2 分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。 外接石英晶体(或陶瓷谐振器)及电容C1、C2 接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,我们推荐电容使用30pF10pF,而如使用陶瓷谐振器建议选择 40pF10pF。用户也可以采用外部时钟。采用外部时钟的

36、电路如图10 右图所示。这种情况下,外部时钟脉冲接到 XTAL1 端,即内部时钟发生器的输入端, XTAL2 则悬空。 由于外部时钟信号是通过一个 2 分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。 中断AT89C52 共有 6 个中断向量:两个外中断( INT0 和 INT1) ,3 个定烟台南山学院本科毕业论文8时器中断(定时器 0、1、2)和串行口中断。 这些中断源可通过分别设置专用寄存器IE 的置位或清 0 来控制每一个中断的允许或禁止。 IE 也有一个总禁止位 EA,它能控制所有中断的允许或

37、禁止。定时器 2 的中断是由 T2CON 中的 TF2 和 EXF2 逻辑或产生的,当转向中断服务程序时,这些标志位不能被硬件清除,事实上,服务程序需确定是 TF2 或 EXF2 产生中断,而由软件清除中断标志位。定时器0 和定时器 1 的标志位 TF0 和 TF1 在定时器溢出那个机器周期的 S5P2 状态置位,而会在下一个机器周期才查询到该中断标志。然而,定时器2 的标志位TF2 在定时器溢出的那个机器周期的 S2P2 状态置位,并在同一个机器周期内查询到该标志。 低功耗模式空闲节电模式:在空闲工作模式状态, CPU 自身处于睡眠状态而所有片内的外设仍保持激活状态,这种方式由软件产生。此时

38、,同时将片内RAM 和所有特殊功能寄存器的内容冻结。空闲模式可由任何允许的中断请求或硬件复位终止。由硬件复位终止空闲状态只需两个机器周期有效复位信号,在此状态下,片内硬件禁止访问内部RAM,但可以访问端口引脚,当用复位终止空闲方式时,为避免可能对端口产生意外写入,激活空闲模式的那条指令后一条指令不应是一条对端口或外部存储器的写入指令。 掉电模式:在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内 RAM 和特殊功能寄存器的内容在终止掉电模式前被冻结。退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器,但不改变 RAM 中的内容,在 Vcc 恢复到正常

39、工作电平前,复位应无效,且必须保持一定时间以使振荡器重启动并稳定工作。 编程和加密Flash 存储器的编程:AT89C52 单片机内部有 8k 字节的 Flash PEROM,这个 Flash 存储阵列出厂时已处于擦除状态(即所有存储单元的内容均为FFH) ,用户随时可对其进行编程。编程接口可接收高电压(+12V)或低电压(Vcc)的允许编程信号。低电压编程模式适合于用户在线编程系统,而高电压编程模式可与通用 EPROM 编程器兼容。 AT89C52 单片机中,有些属于低电压编程方式,而有些则是高电压编程方式,用户可从芯片上的型号和读取芯片内的签名字节获得该信息。 AT89C52 的程序存储器

40、阵列是采用字节写入方式编程的,每次写入一个字节,要对整个芯片内的 PEROM 程序存储器写入一个非空字节,必须使用片擦除的方式将整个存储器的内容清除。 编程方法 AT89C52 编程方法如下: 1 在地址线上加上要编程单元的地址信号。 2 在数据线上加上要写入的数据字节。 3 激活相应的控制信号。 4 在高电压编程方式时,将 EA/Vpp 端加上+12V 编程电压。 烟台南山学院本科毕业论文95 每对 Flash 存储阵列写入一个字节或每写入一个程序加密位,加上一个 ALE/PROG 编程脉冲。每个字节写入周期是自身定时的,通常约为1.5ms。重复 15 步骤,改变编程单元的地址和写入的数据,

41、直到全部文件编程结束。 程序存储器的加密:AT89C52 有 3 个程序加密位,可对芯片上的 3 个加密位 LB1、LB2、LB3 进行编程( P)或不编程( U)来得到。 当加密位 LB1 被编程时,在复位期间, EA 端的逻辑电平被采样并锁存,如果单片机上电后一直没有复位,则锁存起的初始值是一个随机数,且这个随机数会一直保存到真正复位为止。为使单片机能正常工作,被锁存的EA 电平值必须与该引脚当前的逻辑电平一致。此外,加密位只能通过整片擦除的方法清除。 数据查询AT89C52 单片机用 Data Palling 表示一个写周期结束为特征,在一个写周期中,如需读取最后写入的一个字节,则读出的

42、数据的最高位(P0.7)是原来写入字节最高位的反码。写周期完成后,所输出的数据是有效的数据,即可进入下一个字节的写周期,写周期开始后,Data Palling 可能随时有效。 Ready/Busy:字节编程的进度可通过 “RDY/BSY 输出信号监测,编程期间,ALE 变为高电平“H”后,P3.4(RDY/BSY)端电平被拉低,表示正在编程状态(忙状态)。编程完成后, P3.4 变为高电平表示准备就绪状态。 程序校验:如果加密位 LB1、LB2 没有进行编程,则代码数据可通过地址和数据线读回原编写的数据,采用如图12 的电路。加密位不可直接校验,加密位的校验可通过对存储器的校验和写入状态来验证

43、。 芯片擦除:利用控制信号的正确组合(表6)并保持 ALE/PROG 引脚10mS 的低电平脉冲宽度即可将 PEROM 阵列(4k 字节)和三个加密位整片擦除,代码阵列在片擦除操作中将任何非空单元写入“1” ,这步骤需再编程之前进行。 读片内签名字节: AT89C52 单片机内有 3 个签名字节,地址为030H、031H 和 032H。用于声明该器件的厂商、型号和编程电压。读AT89C52 签名字节需将 P3.6 和 P3.7 置逻辑低电平,读签名字节的过程和单元 030H、031H 及 032H 的正常校验相仿,只返回值意义如下: (030H)=1EH 声明产品由 ATMEL 公司制造。 (

44、031H)=52H 声明为 AT89C52 单片机。 (032H)=FFH 声明为 12V 编程电压。 (032H)=05H 声明为 5V 编程电压。2.2.2 振荡电路设计AT89C52 内部有一个用于构成片内振荡器的高增益反相放大器, 振荡器产生的信号送到 CPU, 作为 CPU 的时钟信号,驱动 CPU 产生执行指令功能的机器周期。引脚 XTAL1 和 XTAL2 是此放大器的输人端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器, 振荡电烟台南山学院本科毕业论文10路的连接如图所示图 8 所示,外接石英晶体或陶瓷谐振器以及电容 C1 和 C2 构成并

45、联谐振电路, 接在放大器的反馈回路中。对外接电容 C1 和 C2 的值虽然没有严格的要求, 但电容的大小多少会影响振荡器频率的高低、振荡器的稳定性、起振圈内部振荡的接法的快速性和温度稳定性。外接石英晶体时, C1 和 C2 一般取(40pF-10pF) ,外接的是石英晶体, 所以,C1、C2 选择标称值 30pF。系统振荡电路如图 2.3 所示。图 2.3 振荡电路2.2.3 复位电路设计单片机复位是使 CPU 和系统中的其他功能部件都处在一个确定的初始状态, 并从这个状态开始工作。无论是在单片机刚开始接上电源时, 还是断电后或者发生故障后都要复位。89 系列单片机的复位信号是从 RST 引脚

46、输人到芯片的施密特触发器中的。当系统处于正常工作状态时, 且振荡器稳定后, 如果 RST 引脚有一个高电平并维持 2 个机器周期(24 个振荡周期), 则 CPU 就可响应并且将系统复位。复位分为手动复位和上电复位。本设计系统采用的是上电自动复位。系统复位电路如图 2.4 所示。图 2.4 复位电路2.2.4 键盘接口电路设计独立键盘与单片机连接时,每个按键都需要单片机的一个 I/O 口,若单片机系统需要较多按键,如果用独立按键会占用过多的 I/O 口资源。单片机系统烟台南山学院本科毕业论文11中 I/O 口资源往往比较宝贵,当用到多个按键时,为了节省 I/O 口线,一般需使用矩阵键盘。本系统

47、共需使用 16 个按键,故选择的矩阵键盘。键盘接口44电路如图 2.5 所示。图 2.5 键盘接口电路2.2.5 温度测量电路设计 本系统的温度测量电路采用 DS18B20 来实现。DS18B20 是美国DALLAS 半导体公司推出的第一片采用“一线总线”接口的温度传感器,它具有微型化、低功耗、高性能、抗干扰、能力强、易配微处理器等优点,可直接将温度转化成串行数字信号供处理器处理。DS18B20 的性能及特点2:适应电压范围宽,电压范围在,在寄生电源方式下可由数据V5 . 50 . 3线供电。独特的单线接口方式,它与微处理器连接时仅需一条口线即可实现微处理器与 DS18B20 的双向通信。支持

48、多点组网功能,多个 DS18B20 可以并联在唯一的三线上,实现组网多点测温。在使用中不需要任何外接元件,全部传感元件及转换电路集成在形如一只三极管的集成电路里。测温范围-55+125,在-10+85时精度为0.5。可编程分辨率为 912 位,对应的可分辨温度分别为 0.5,0.25,0.125和 0.0625,可实现高精度测温。在 9 位分辨率时,最多在 93.75ms 内把温度转换为数字;12 位分辨率时,最多在 750ms 内把温度值转换为数字。测量结果直接输出数字温度信号,以“一线总线”串行传送给 CPU,同时可传送 CRC 校验码,具有极强的抗干扰纠错能力。负压特性。电源极性接反时,

49、芯片不会因发热而烧毁,但不能正常工作。烟台南山学院本科毕业论文12系统温度测量电路如图 2.6 所示。图 2.6 温度测量电路2.2.6 系统显示电路设计本系统采用 LCD1602 作为系统的显示器件,1602 字符型液晶是一种专门用来显示字母、数字、符号等的点阵型液晶模块,能分两行显示,它有若干个或者等点阵字符位组成,每个点阵字符位都可以显示一个字符。751151602 型液晶接口信号如下:1 脚 VSS:电源地。2 脚 VDD:电源正极。3 脚 VO:液晶显示对比度调节端。4 脚 RS:数据/命令选择端(H/L)。5 脚 R/:读写选择端(H/L) 。W6 脚 E:使能信号。脚:数据口。1

50、47D7D015 脚 BL1:背光电源正极。16 脚 BL2:背光电源负极。系统显示电路如图 2.7 所示。烟台南山学院本科毕业论文13图 2.7 系统显示电路2.2.7 输出控制电路设计系统要求在当前室温低于设定温度时,能够自动驱动加热系统工作 ;在当前室温高于设定温度时能够自动驱动制冷系统工作。本系统在复位后即置 P26脚和 P27 脚为低电平,在当前室温低于设定温度时,通过置 P27 脚为高电平来驱动后级加热系统,本系统采用红色 LED 来代替加热系统;在当前室温高于设定温度时,通过置 P26 脚高电平来驱动后级制冷系统,本系统采用蓝色LED 来代替制冷系统。输出控制电路如图 2.8 所

51、示。图 2.8 输出控制电路烟台南山学院本科毕业论文142.3 总电路设计系统总电路图如图 2.9 所示。图 2.9 系统总电路图烟台南山学院本科毕业论文152.4 系统所用元器件本系统所用的元器件清单如表 2.1 所示。 表 2.1 系统所用元器件元器件名称元器件名称数量数量点触式开关1630pF 瓷片电容210uF 电解电容1蓝色 LED1红色 RED15V 电源插座1自锁开关1LCD160211/4W10K 电阻310K 可调电阻1AT89C521DS18B20112MHz 晶振1烟台南山学院本科毕业论文163 软件系统设计3.1 软件系统总体方案设计 系统软件由主程序模块、测温程序模块

52、、键盘扫描程序模块以及液晶驱动程序模块组成。3.2 软件流程图设计系统软件流程图如图 3.1 所示。图 3.1 系统软件流程图烟台南山学院本科毕业论文174 系统调试编写程序,编译通过后生成.hex 文件加载到 Protuse 下可正常运行。程序默认温度为 21.0,Protuse 下设定 DS18B20 的温度也为 21.0,故开始运行时两路 LED 灯都不点亮。当利用键盘设定的温度高于 DS18B20 默认的 21.0时,红色 LED 灯被点亮;当设定的温度低于 DS18B20 默认的 21.0时,蓝色 LED灯被点亮。当设定的温度高于 DS18B20 默认的 21.0时,红色 LED 灯

53、被点亮,如图 4.1 所示。图 4.1 红色 LED 灯点亮烟台南山学院本科毕业论文18当设定的温度低于 DS18B20 默认的 21.0时,蓝色 LED 灯被点亮。如图 4.2 所示。图 4.2 蓝色 LED 灯点亮烟台南山学院本科毕业论文19总结1 系统优点及所存缺陷本系统基于单片机 AT89C52 开发,AT89C52 增加了在线调试功能,即程序可以通过 JTAG 接口下载,调试和固化,因而该芯片的开发不再需要昂贵的硬件仿真器,可实现实时仿真,减少了资金浪费和资源浪费。在单片机应用环境不是很恶劣的地方,利用软件抗干扰也可以达到精度不高的要求,而且,节省了硬件资源,降低了产品设计成本,有助

54、于产品的推广、民用化。本系统只对温度的部分自动调节有作用,比如当温度高于设定上限温度时,系统自动启动制冷继电器进行制冷,使温度下降,当温度下降到下限温度时,停止制冷。当温度在上下限温度之间时,执行机构不执行。本系统使用AT89C52 作为中央控制器,使用 DS18B20 进行实时温度采集,并在 1602 液晶上实时显示当前运行状态和温度,精确到小数点一位(0.1)。但对于系统定时调节制冷无作用,希望在以后的实践和努力中能够使本系统的设计得以完善。2 心得体会 得到论文题目的时候我便首先查阅资料分析系统要求,在 Protuse 里完成硬件原理图的搭建,然后开始在 Keil 环境下着手编写各部分程

55、序,调试相应的程序,在调试通过后再下载到 Protuse 里进行仿真,发现问题后再返回 Keil 下修改相应程序,直到最后仿真通过,最后在 Altium Designer 6 中画出电路原理图。多次尝试,多次修改所编写的程序后,功夫不负有心人,最终达到了本设计所要求的内容。同时结果也让我非常满意,希望本次毕业设计可以为我的四年大学生活画上圆满的句号。本论文能够完成得到了老师以及许多同学的帮助,在这里感谢那些提供过帮助的老师和同学。烟台南山学院本科毕业论文20致谢四年的读书生活在这个季节即将划上一个句号,而于我的人生却只是一个逗号,我将面对又一次征程的开始。四年的求学生涯在师长、亲友的大力支持下

56、,走得辛苦却也收获满囊,在论文即将付梓之际,思绪万千,心情久久不能平静。 伟人、名人为我所崇拜,可是我更急切地要把我的敬意和赞美献给一位平凡的人,我的导师。我不是您最出色的学生,而您却是我最尊敬的老师。您治学严谨,学识渊博,思想深邃,视野雄阔,为我营造了一种良好的精神氛围。授人以鱼不如授人以渔,置身其间,耳濡目染,潜移默化,使我不仅接受了全新的思想观念,树立了宏伟的学术目标,领会了基本的思考方式,从论文题目的选定到论文写作的指导,经由您悉心的点拨,再经思考后的领悟,常常让我有“山重水复疑无路,柳暗花明又一村” 。 感谢我的爸爸妈妈,焉得谖草,言树之背,养育之恩,无以回报,你们永远健康快乐是我最

57、大的心愿。在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚谢意! 同时也感谢学院为我提供良好的做毕业设计的环境。 最后再一次感谢所有在毕业设计中曾经帮助过我的良师益友和同学,以及在设计中被我引用或参考的论著的作者。 随着这篇本科毕业论文的最后落笔,我四年的大学生活也即将划上一个圆满的句号。回忆这四年生活的点点滴滴,从入学时对大学生活的无限憧憬到课堂上对各位老师学术学识的深沉沉湎,从奔波于教室图书馆的来去匆匆到业余生活的五彩缤纷,一切中的一切都是历历在目,让人倍感留恋,倍感珍惜。四年烟台南山学院的学习生活注定将

58、成为我人生中的一段重要旅程。四年来,我的师长、我的领导、我的同学给予我的关心和帮助,使我终身收益,我真心地感谢他们。在本文的撰写过程中,王选诚老师作为我的指导老师,他治学严谨,学识渊博,视野广阔,为我营造了一种良好的学术氛围。置身其间,耳濡目染,潜移默化,使我不仅接受了全新的思想观念,树立了明确的学术目标,领会了基本的思考方式,掌握了通用的研究方法,而且还明白了许多待人接物与为人处世的道理。其严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力,与无微不至、感人至深的人文关怀,令人如沐春风,倍感温馨。正是由于他在百忙之中多次审阅全文,对细节进行修改,并为本文的撰写提供了许多中肯而且宝贵的

59、意见,本文才得以成型。在此特向王选诚老师致以衷心的谢意!向他无可挑剔的敬业精神、严谨认真的治学态度、深厚的专业修养和平易近人的待人方式表示深深的敬意!同时感谢薛飞老师、苏凤老师、李瑞老师等几年来对我的栽培和教育。烟台南山学院本科毕业论文21参考文献1 郭文川主编. 单片机原理与接口技术. 北京:中国农业出版社,2007.2 郭天祥主编. 51 单片机 C 语言教程. 北京:电子工业出版社,2009.3凌玉华.单片机原理与应用系统设计 长沙:中南大学出版社 2006 4 刘鸣,车立新,陈兴梧,赵煜. 温度传感器 DS18B20 的特性及程序设计方法. 电测与仪表 , 2001,(10) . 5

60、周月霞,孙传友. DS18B20 硬件连接及软件编程J. 传感器世界 , 2001,(12) . 6 刘易雄,刘建雄 DS18B20 接口的 C 语言程序设计. 仪器仪表用户,河南科技大学机电工程学院 ,2005,067 陈涛. DS18B20 芯片与单片微控制器的接口设计与应用J. 山东煤炭科技 , 2002,(03) . 8 陈跃东. DS18B20 集成温度传感器原理及其应用J. 安徽工程科技学院学报 , 2002,(04) . 9 Zhang Chunzhi Feng Haiming. Design of Micro-controllers Control System of Elec

61、tric RefrigeratorJ .Journal of Beijing Vocational & Technical Institute of Industry.2002,(03).10 陈明荧.8051 单片机课程设计实训教材 北京:清华大学出版社 200411李军 .检测技术及仪表M. 北京: 中国轻工业出版社 2002.4 烟台南山学院本科毕业论文22附录 1:系统的源程序清单global.h:ifndef _global_H#define _global_H#include#define uchar unsigned char/宏定义#define uint unsigned i

62、nt#defineK_UP 0X20/定义键值#defineK_DOWN 0X21#defineK_CLEAR 0X24#defineK_OK 0X25#defineK_ONE 0X30#defineK_FOUR 0X31#defineK_SEVEN 0X32#defineK_POINT 0X33#defineK_TWO 0X34#defineK_FIVE 0X43#defineK_EIGHT0X36#defineK_ZERO0X37#defineK_THREE0X38#defineK_SIX 0X40#defineK_NINE0X41#defineK_SET 0X42extern float

63、 TEMP_NOW;extern float TEMP_SET;extern uint T_Count;extern uint S_Count;extern uint P_Count;extern uint N_Count;extern uint M_Count;extern uchar Current_Temp_Display_Buffer;extern uchar set_Temp_Display_Buffer;extern int sel;sbit lcden=P21;/液晶使能sbit lcdrs=P20;/液晶数据/命令选择端sbit DQ =P22;/DS18B20 数据端sbit

64、 XX =P25;/读写选择端烟台南山学院本科毕业论文23sbit cold =P26;/输出信号sbit warm =P27;/输出信号#endifmain.c:#include#includeglobal.h#includekey.h#include18B20.h#includeLCD.h/全局变量/float TEMP_NOW=0.0;float TEMP_SET=21.0;uint T_Count=0;uint S_Count=0;uint P_Count=0;uint N_Count=0;uint M_Count=1;uchar Current_Temp_Display_Buffer

65、= NOW:-23.5 ;uchar set_Temp_Display_Buffer= SET: 21.0 ;int sel=0;void Comparison();/定时/void timer0_init(void)TMOD =0 x00 ; /设置定时器 0 的工作方式TH0 = (8192-5000)/32;/单片机晶振为 12MHz,机器周期为 1us,t=5ms, /N=5000/1=5000TL0 = (8192-5000)%32;IE =0 x82;TR0=1;void timer0() interrupt 1 TH0 = (8192-5000)/32;TL0 = (8192-5

66、000)%32; if(+T_Count = 100) /100 为 0.5s TR0=0;Read_Temperature();Display_Temperature() ;T_Count=0;烟台南山学院本科毕业论文24if(+P_Count = 6) N_Count=1; TR0=1;/主程序/void main()init_lcd();Init_DS18B20();timer0_init();while(1)Print();set_num();Comparison();void Comparison()if(N_Count&M_Count)if(TEMP_NOWTEMP_SET)cold=1;warm=0;if(TEMP_NOW=TEMP_SET)cold=0;warm=0;18B20.h:烟台南山学院本科毕业论文25#ifndef _18B20_H#define _18B20_H#includeglobal.hextern uchar Init_DS18B20(); extern void Read_Temperature();extern void Display_Temp

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!