《AT89C51单片机温度控制系统.doc》由会员分享,可在线阅读,更多相关《AT89C51单片机温度控制系统.doc(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、毕毕 业业 设设 计(论计(论 文)文)论文题目:论文题目: AT89C51AT89C51 单片机温度控制系统单片机温度控制系统 所属系部:所属系部: 电子工程系电子工程系指导老师:指导老师: 职职 称:称: 学生姓名:学生姓名: 班级、学号班级、学号: : 专专 业:业: 应用电子技术应用电子技术2012 年年 05 月月 15 日日毕业设计(论文)任务书毕业设计(论文)任务书题目:题目: AT89C51 单片机温度控制系统任务与要求:任务与要求: 设计并制作一个能够控制 1KW 电炉的温度控制系统,控制温 度恒定在 37-38 度之间。时间:时间: 年 月 日 至 年 月 日 所属系部:所
2、属系部: 电子工程系学生姓名:学生姓名: 学号: 专专 业:业: 应用电子技术指导单位或教研室:指导单位或教研室: 测控技术教研室指导教师:指导教师: 职职 称:称: 年年 月月 日日摘要摘要本设计是以一个 1KW 电炉为控制对象,以 AT89C51 为控制系统核心,通过单片机系统设计实现对保电炉温度的显示和控制功能。本温度控制系统是一个闭环反馈调节系统,由温度传感器 DS18B20 对保炉内温度进行检测,经过调理电路得到合适的电压信号。经 A/D 转换芯片得到相应的温度值,将所得的温度值与设定温度值相比较得到偏差。通过对偏差信号的处理获得控制信号,去调节加热器的通断,从而实现对保温箱温度的显
3、示和控制。本文主要介绍了电炉温度控制系统的工作原理和设计方法,论文主要由三部分构成。 系统整体方案设计。 硬件设计,主要包括温度检测电路、A/D 转换电路、显示电路、键盘设计和控制电路。 系统软件设计,软件的设计采用模块化设计,主要包括 A/D 转换模块、显示模块等。关键词:单片机 传感器 温度控制目目 录录绪论 .1第一章 温度控制系统设计和思路 .21.1 温度控制系统设计思路 .21.2 系统框图.2第二章 AT89C51 单片机.32.1 AT89C51 单片机的简介 .32.2 AT89C51 单片机的主要特性 .32.3 AT89C51 单片机管脚说明 .4第三章 温度控制的硬件设
4、备 .63.1 温度传感器简介 .63.2 DS18B20 工作原理 .73.3 DS18B20 使用中注意事项 .8第四章 系统硬件设计 .94.1 温度采集电路 .94.2 数码管温度显示电路.94.2.1 数码管的分类 .94.2.2 数码管的驱动方式 .104.2.3 恒流驱动与非恒流驱动对数码管的影响 .114.3 单片机接口电路.124.3.1 P0 口的上拉电阻原理.124.3.2 上拉电阻的选择 .144.4 单片机电源及下载线电路.144.5 温度控制电路.15第五章 温度控制的软件设计 .175.1 数码管动态显示.175.2 DS18B20 初始化 .175.3 系统流程
5、图.19谢辞 .20参考文献 .21附录 .22绪论绪论温度控制,在工业自动化控制中占有非常重要的地位。单片机系统的开发应用给现代工业测控领域带来了一次新的技术革命,自动化、智能化均离不开单片机的应用。将单片机控制方法运用到温度控制系统中,可以克服温度控制系统中存在的严重滞后现象,同时在提高采样频率的基础上可以很大程度的提高控制效果和控制精度。现代自动控制越来越朝着智能化发展,在很多自动控制系统中都用到了工控机,小型机、甚至是巨型机处理机等,当然这些处理机有一个很大的特点,那就是很高的运行速度,很大的内存,大量的数据存储器。但随之而来的是巨额的成本。在很多的小型系统中,处理机的成本占系统成本的
6、比例高达 20%,而对于这些小型的系统来说,配置一个如此高速的处理机没有任何必要,因为这些小系统追求经济效益,而不是最在乎系统的快速性,所以用成本低廉的单片机控制小型的,而又不是很复杂,不需要大量复杂运算的系统中是非常适合的。 温度控制,在工业自动化控制中占有非常重要的地位,如在钢铁冶炼过程中要对出炉的钢铁进行热处理,才能达到性能指标,塑料的定型过程中也要保持一定的温度。随着科学技术的迅猛发展,各个领域对自动控制系统控制精度、响应速度、系统稳定性与自适应能力的要求越来越高,被控对象或过程的非线性、时变性、多参数点的强烈耦合、较大的随机扰动、各种不确定性以及现场测试手段不完善等,使难以按数学方法
7、建立被控对象的精确模型的情况。 随着电子技术以及应用需求的发展,单片机技术得到了迅速的发展,在高集成度,高速度,低功耗以及高性能方面取得了很大的进展。伴随着科学技术的发展,电子技术有了更高的飞跃,我们现在完全可以运用单片机和电子温度传感器对某处进行温度检测,而且我们可以很容易地做到多点的温度检测,如果对此原理图稍加改进,我们还可以进行不同地点的实时温度检测和控制。第一章第一章 温度控制系统设计和思路温度控制系统设计和思路1.11.1 温度控制系统设计思路温度控制系统设计思路在这个系统中我们从性能及设计成本考虑,我们选择 AT89C51 芯片。AT89C51的广泛使用,使单片机的价格大大下降。目
8、前,89C51 的市场零售价已经低廉因此,如把 89C51 作为接口芯片使用,在经济上是合算的。在温度传感器的选择上我们采用温度芯片 DS18B20 测量温度。该芯片的物理化学性很稳定,它能用做工业测温元件,且此元件线形较好。在 0100 摄氏度时,最大线形偏差小于 1 摄氏度。该芯片直接向单片机传输数字信号,便于单片机处理及控制。本制作的最大特点之一就是直接采用温度芯片对温度进行测量,使数据传输和处理简单化。采用温度芯片 DS18B20 测量温度,体现了作品芯片化这个趋势。部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更快。而且,集成块的使用,有效地避免外界的干扰,提高测量电路的
9、精确度。所以芯片的使用将成为电路发展的一种趋势。本方案应用这一温度芯片,也是顺应这一趋势。对于温度的调节系统,我们才用的只是简单的升温和降温方法,当温度低于我们设定的最低温度值时,则单片机系统则会通过一个高电平的脉冲电流直接送给继电器,使连接在继电器上的电阻丝通电产生热量来提高温度。如果当温度高于我们设定的最高温度值时,则单片机会通过另一个口发出一个高电平的脉冲电流送个继电器,使连在继电器上的一个风扇启动,来降低温度。在次过程中,我们通过单片机将传感器所测量出来的温度通过数码管显示出来。这样就能只管的观察到即时的温度情况,以便更好的验证系统的性能。1.21.2 系统框图系统框图单片机温度控制系
10、统采用的装置有单片机、温度传感器和显示器组成起结构如图 1.1 硬件结构图所示。图图 1.11.1 温度控制系统硬件结构图温度控制系统硬件结构图第二章第二章 AT89C51AT89C51 单片机单片机2.12.1 AT89C51AT89C51 单片机的简介单片机的简介AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8 位微处理器,俗称单片机。AT89C2051 是一种带 2K 字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以
11、反复擦除 100 次。该器件采用 ATMEL高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 AT89C51 是一种高效微控制器,AT89C2051 是它的一种精简版本。AT89C51 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。2.22.2 AT89C51AT89C51 单片机的主要特性单片机的主要特性与 MCS-51 兼容 4K 字节可编程闪烁存储器 寿命:1000 写/擦循环温度传感器 AT89C51单片机数据显示键盘温度控制123456ABCD654321DCBA
12、TitleNumberRevisionSize B Date:21-May-2007Sheet of File:E:业业业业业业业业业业业MyDesign.ddbDrawn By:EA/VP31X119 X218RESET9RD17 WR16INT012INT113T014T115P101 P112 P123 P134 P145 P156 P167 P178P0039 P0138 P0237 P0336 P0435 P0534 P0633 P0732P2021 P2122 P2223 P2324 P2425 P2526 P2627 P2728PSEN29ALE /P30TXD11RXD10U?
13、 8051数据保留时间:10 年全静态工作:0Hz-24Hz三级程序存储器锁定128*8 位内部 RAM32 可编程 I/O 线两个 16 位定时器/计数器5 个中断源 可编程串行通道低功耗的闲置和掉电模式 图图 2.12.1 AT89C51AT89C51 引脚图引脚图片内振荡器和时钟电路 2.32.3 AT89C51AT89C51 单片机管脚说明单片机管脚说明如图 2.1 为 AT89C51 引脚图,各引脚功能说明如下: VCC: 电源 GND: 地 P0 口:P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位能驱动 8 个 TTL 逻辑电平。对 P0 端口写“1”时,引脚用
14、作高阻抗输入。当访问外部程序和数据存储器时,P0 口也被作为低 8 位地址/数据复用。在这种模式下,P0 具有内部上拉电阻。在 flash 编程时,P0 口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P1 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL) 。此外,P1.0 和 P1.2 分别作定时器/计数器 2 的外部计数输入(P1.0/T2)和时器/
15、计数器 2 的触发输入(P1.1/T2EX) P2 口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL) 。在访问外部程序存储器或用 16 位地址读取外部数据存储器(例如执行 MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送 1。在使用 8 位地址(如 MOVX RI)访问外部数据存储器时,P2 口输出 P2 锁存器的内容。在 flash 编程和校
16、验时,P2 口也接收高 8 位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,对 P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL) 。P3口亦作为 AT89C51 特殊功能(第二功能)使用,如表 2-1 所示。P3.0 RXD(串行输入) P3.1 TXD(串行输出) P3.2 INT0(外部中断 0) P3.3 INT0(外部中断 0) P3.4 T0(定时器 0 外部输入) P3.5 T1(定时器 1 外部输入) P3.6WR(外部数据存储器写选通)
17、P3.7 RD(外部数据存储器读选通)表表 2-12-1 AT89C51AT89C51 引脚号第二功能引脚号第二功能 RST: 复位输入,晶振工作时,RST 脚持续 2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出 96 个晶振周期的高电平。特殊寄存器 AUXR(地址 8EH)上的 DISRTO 位可以使此功能无效。DISRTO 默认状态下,复位高电平有效。 ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低 8 位地址的输出脉冲。在 flash 编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可
18、用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE 脉冲将会跳过。如果需要,通过将地址为 8EH 的 SFR 的第 0 位置“1” ,ALE 操作将无效。这一位置“1” ,ALE 仅在执行 MOVX 或 MOVC 指令时有效。否则,ALE 将被微弱拉高。这个 ALE 使能标志位(地址为 8EH 的 SFR 的第 0位)的设置对微控制器处于外部执行模式下无效。 PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当 AT89C51 从外部程序存储器执行外部代码时,PSEN 在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN 将不被激活。
19、EA/VPP:访问外部程序存储器控制信号。为使能从 0000H 到 FFFFH 的外部程序存储器读取指令,EA 必须接 GND。为了执行内部程序指令,EA 应该接 VCC。在 flash 编程期间,EA 也接收 12 伏 VPP 电压。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。第三章第三章 温度控制的硬件设备温度控制的硬件设备3.13.1 温度传感器温度传感器简介简介DS18B20 原理与特性本系统采用了 DS18B20 单总线可编程温度传感器,来实现对温度的采集和转换,大大简化了电路的复杂度,以及算法的要求。首先先来介绍一下 DS18B
20、20 这块传感器的特性及其功能: DSl8B20 的管脚及特点 DS18B20 可程温度传感器有 3 个管脚内部结构主要由四部分组成:64 位光刻 ROM、温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄存器。DS18B20 的外形及管脚排列如下图所示,GND 为接地线,DQ 为数据输入输出接口,通过一个较弱的上拉电阻与单片机相连。VDD 为电源接口,既可由数据线提供电源,又可由外部提供电源,范围 3O55 V。本文使用外部电源供电。图图 3.13.1 DS18B20DS18B20 的外形及管脚的外形及管脚主要特点有: 1. 用户可自设定报警上下限温度值。 2. 不需要外部组件,能测
21、量55+125 范围内的温度。 3. 10 +85 范围内的测温准确度为05 。 4. 通过编程可实现 9l2 位的数字读数方式,可在至多 750 ms内将温度转换成 12 位的数字,测温分辨率可达 00625 。 5. 独特的单总线接口方式,与微处理器连接时仅需要一条线即可实现与微处理器双向通讯。6. 测量结果直接输出数字温度信号,以“一线总线“串行传送给 CPU,同时可传送 CRC 校验码,具有极强的抗干扰纠错能力。7. 负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。8. DS18B20 支持多点组网功能,多个 DS18B20 可以并联在唯一的三线上,实现组网多点测温。3
22、.23.2 DS18B20DS18B20 工作原理工作原理DS18B20 的读写时序和测温原理与 DS1820 相同,只是得到的温度值的位数因分辨率不同 DS18B20 为 9 位12 位 A/D 转换精度,而 DS1820 为 9 位 A/D 转换,虽然我们采用了高精度的芯片,但在实际情况上由于技术问题比较难实现,而实际精度此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器 1 的预置值。测温原理图不同,且温度转换时的延时时间由 2s 减为 750ms。低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器 1。则高温度
23、系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器 2 的脉冲输入。计数器 1 和温度寄存器被预置在55所对应的一个基数值时。计数器 1 对低温度系数晶振产生的脉冲信号进行减法计数,当计数器 1 的预置值减到 0 时,温度寄存器的值将加 1,计数器 1的预置将重新被装入,计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器 2 计数到 0 时,停止温度寄存器值。3.33.3 DS18B20DS18B20 使用中注意事项使用中注意事项 DS18B20 虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题: 1) 较
24、小的硬件开销需要相对复杂的软件进行补偿,由于 DS18B20 与微处理器间采用串行数据传送,因此,在对 DS18B20 进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用 PL/M、C 等高级语言进行系统程序设计时,对 DS18B20 操作部分最好采用汇编语言实现。 2) 在 DS18B20 的有关资料中均未提及单总线上所挂 DS18B20 数量问题,容易使人误认为可以挂任意多个 DS18B20,在实际应用中并非如此。当单总线上所挂DS18B20 超过 8 个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。 3) 连接 DS18B20 的总线
25、电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过 50m 时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达 150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用 DS18B20 进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。 4) 在 DS18B20 测温程序设计中,向 DS18B20 发出温度转换命令后,程序要等待 DS18B20 的返回信号,一旦某个 DS18B20 接触不好或断线,当程序读该DS18B20 时,将没有返回信号,程序进入死循环
26、。这一点在进行 DS1820 硬件连接和软件设计时也要给予一定的重视。 测温电缆线建议采用屏蔽 4 芯双绞线,其中一对线接地线与信号线,另一组接 VCC 和地线,屏蔽层在源端单点接地。第四章第四章 系统硬件设计系统硬件设计4.14.1 温度采集电路温度采集电路数据采集电路如图 4.1 所示, 由温度传感器 DS18B20 采集被控对象的实时温度,提供给 AT89S52 的 P3.1 口作为数据输入。在本次设计中我们所控的对象为所处室温。当然作为改进我们可以把传感器与电路板分离,由数据线相连进行通讯,便于观察。4.24.2 数码管温度显示电路数码管温度显示电路4.2.14.2.1 数码管的分类数
27、码管的分类数码管是一种半导体发光器件,其基本单元是发光二极管。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示) ;按能显示多少个“8”可分为 1 位、2 位、4 位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极 COM 接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。 。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管
28、在应用时应将公共极 COM 接到地线 GND 上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。图图 4.14.1 单片机单片机 89C5189C51 与温度传感器与温度传感器 DS18B20DS18B20 的连接图的连接图4.2.24.2.2 数码管的驱动方式数码管的驱动方式 静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的 I/O 端口进行驱动,或者使用如 BCD 码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用 I/O 端口多,如驱动 5 个数码管静态显示则需要 58
29、40 根 I/O 端口来驱动,要知道一个89S51 单片机可用的 I/O 端口才 32 个呢:) ,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的 8 个显示笔划“a,b,c,d,e,f,g,dp“的同名端连在一起,另外为每个数码管的公共极 COM 增加位选通控制电路,位选通由各自独立的 I/O 线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通 COM 端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该
30、位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的 COM 端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为 12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的 I/O 端口,而且功耗更低。4.2.34.2.3 恒流驱动与非恒流驱动对数码管的影响恒流驱动与非恒流驱动对数码管的影响1、显示效果:由于发光二极管基本上属于电流敏感器件,其正向压降的分散性很大, 并且还与温度有关,为了
31、保证数码管具有良好的亮度均匀度,就需要使其具有恒定的工作电流,且不能受温度及其它因素的影响。另外,当温度变化时驱动芯片还要能够自动调节输出电流 的大小以实现色差平衡温度补偿。2、安全性:即使是短时间的电流过载也可能对发光管造成永久性的损坏,采用恒流驱动电路后可防止 由于电流故障所引起的数码管的大面积损坏。另外,我们所采用的超大规模集成电路还具有级联延时开关特性,可防止反向尖峰电压对发光二极管的损害。超大规模集成电路还具有热保护功能,当任何一片的温度超过一定值时可自动关断,并且可在控制室内看到故障显示。图图 4.24.2 数码管显示电路数码管显示电路4.34.3 单片机接口电路单片机接口电路4.
32、3.14.3.1 P0P0 口的上拉电阻原理口的上拉电阻原理1、当 TTL 电路驱动 COMS 电路时,如果 TTL 电路输出的高电平低于 COMS 电路的最低高电平(一般为 3.5v)这时就需要在 TTL 的输出端接上拉电阻,以提高输出高电平的值。2、OC 门电路必须加上拉电阻,才能使用。3、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。4、在 COMS 芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗,提供泄荷通路。5、芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限增强抗干扰能力。6、提高总线的抗电磁干扰能力。管脚悬空就比较
33、容易接受外界的电磁干扰。7、长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效的抑制反射波干扰。上拉电阻阻值的选择原则包括:1、从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。2、从确保足够的驱动电流考虑应当足够小;电阻小,电流大。3、对于高速电路,过大的上拉电阻可能边沿变平缓。综合考虑以上三点,通常在 1k 到 10k 之间选取。对下拉电阻也有类似道理 对上拉电阻和下拉电阻的选择应结合开关管特性和下级电路的输入特性进行设定 主要需要考虑以下几个因素:1、驱动能力与功耗的平衡。以上拉电阻为例,一般地说,上拉电阻越小,驱动能力越强,但功耗越大,设计是应注意两者之间的
34、均衡。2、下级电路的驱动需求。同样以上拉电阻为例,当输出高电平时,开关管断开,上拉电阻应适当选择以能够向下级电路提供足够的电流。3、高低电平的设定。不同电路的高低电平的门槛电平会有不同,电阻应适当设定以确保能输出正确的电平。以上拉电阻为例,当输出低电平时,开关管导通,上拉电阻和开关管导通电阻分压值应确保在零电平门槛之下。4、频率特性。以上拉电阻为例,上拉电阻和开关管漏源级之间的电容和下级电路之间的输入电容会形成 RC 延迟,电阻越大,延迟越大。上拉电阻的设定应考虑电路在这方面的需求。下拉电阻的设定的原则和上拉电阻是一样的。OC 门输出高电平时是一个高阻态,其上拉电流要由上拉电阻来提供,设输入端
35、每端口不大于 100uA,设输出口驱动电流约 500uA,标准工作电压是 5V,输入口的高低电平门限为 0.8V(低于此值为低电平);2V(高电平门限值)。选上拉电阻时:500uA x 8.4K= 4.2 即选大于 8.4K 时输出端能下拉至 0.8V 以下,此为最小阻值,再小就拉不下来了。如果输出口驱动电流较大,则阻值可减小,保证下拉时能低于 0.8V 即可。当输出高电平时,忽略管子的漏电流,两输入口需 200uA,200uA x15K=3V 即上拉电阻压降为 3V,输出口可达到 2V,此阻值为最大阻值,再大就拉不到 2V 了。选 10K 可用。COMS 门的可参考 74HC 系列设计时管子
36、的漏电流不可忽略,IO 口实际电流在不同电平下也是不同的,上述仅仅是原理,一句话概括为:输出高电平时要喂饱后面的输入口,输出低电平不要把输出口喂撑了(否则多余的电流喂给了级联的输入口,高于低电平门限值就不可靠了)。4.3.24.3.2 上拉电阻的选择上拉电阻的选择我们在此设计中原则的是用 P0 口来驱动数码管的显示,所以我们所通过上述原理。如果是驱动 led,那么用 1K 左右的就行了。如果希望亮度大一些,电阻可减小,最小不要小于 200 欧姆,否则电流太大;如果希望亮度小一些,电阻可增大,增加到多少,主要看亮度情况,以亮度合适为准,一般来说超过 3K 以上时,亮度就很弱了,但是对于超高亮度的
37、 LED,有时候电阻为 10K 时觉得亮度还能够用。通常就用 1k 的。其具体的连接电路图如图 4.3 所示:图图 4.34.3 单片机上拉电阻示意图单片机上拉电阻示意图4.44.4 单片机电源及下载线电路单片机电源及下载线电路7805 是我们最常用到的稳压芯片了,他的使用方便,用很简单的电路即可以输入一个直流稳压电源,他的输出电压恰好为 5v,刚好是 51 系列单片机运行所需的电压,介绍一下他的 3 个引脚以及用它来构成的稳压电路的资料。其中 1 接整流器输出的+电压,2 为公共地(也就是负极),3 就是我们需要的正 5V 输出电压了。图图 4.44.4 70857085 引脚图引脚图图图
38、4.54.5 70857085 电源原理图电源原理图本次用的下载线电路是以一块 74LS373 芯片为主的电路。原理图如图 4.6。该电路在原理图上只有一个下载口的体现,只要把下载线接到下载口就可以把程序下载到单片机中了。图图 4.64.6 下载线电路原理图下载线电路原理图4.54.5 温度控制电路温度控制电路温度控制分为高、低温控制。设计所要达到的效果就是,我们给单片机设置一个固定的温度范围,当温度传感器测量的温度高于我们设置的最高数值时,这时单片机指令控制 P3.2 口产生一个高电平信号送给固态继电器,是继电器的产开开关闭合,使开关打开通电。控制一个降温装置的开启(本设计中考虑到成本和技术
39、问题,采用电风扇进行降温控制)。相反,当温度传感器测量的温度低于设置的最低数值的时候,这时单片机又控制 P3.3 口产生一个高电平送给继电器,使开关打开从而控制升问装置进行加热(本系统采用电热丝进行加热)。通过一个升温和一个降温装置,就能实现温度的调节。只要通过程序,将我们所要达到的温度控制在一个恒温状态下。控制电路的原理图如 5.7 所示,继电器的正极接电源电压,负极接三极管的集电极,之所以采用三极管,就是继电器一般是需要驱动电压的。而单片机的管脚不能提供最后高的电压,这样就会导致即使单片机送出了高电平也无法将继电器开关打开。当接上三极管后就能将输入信号的发送到继电器当中,驱动开关使温度调节
40、器改变温度。图图 4.74.7 温度控制电路温度控制电路继电器的选择上,我们选择北京科通继电器总厂生产的 GX-10F 继电器为例,列出输入、输出参数,根据输入电压参数值大小,可确定工作电压大小。如采用TTL 或 CMOS 等逻辑电平控制时,最好采用有足够带载能力的低电平驱动,并尽可能使“0”电平低于 0.8 V。如在噪声很强的环境下工作,不能选用通、断电压值相差小的产品,必需选用通、断电压值相差大的产品,(如选接通电压为 8 V 或 12 V 的产品)这样不会因噪声干扰而造成控制失灵 。我们在这选择 12V 的继电器作为我们使用的器件。使用的具体元件参数如下表。第五章第五章 温度控制的软件设
41、计温度控制的软件设计5.15.1 数码管动态显示数码管动态显示单片机 AT89C51 输出 8 个高低电平信号每个数码管的 8 个段分别连接 P0.0-P0.7 口上当某个数码管的公共端为“0”时,那么这个数码管被选中,这时此数码管的哪段为”1“则哪段就被点亮初学者可以利用本实验板自带的仿真器功能来单步执行,来观察数码管的工作原理,由于 I/O 资源有限,一个 51 单片机只有 32 个 I/O所以只能将 8 个数码管以动态扫描的方式来显示,何为动态扫描呢? 动态扫描的连接方式是将 8 个数码管的 8 个段用相同的 I/O 来控制,即第一个数码管的”a“段由 P0.0 控制第二个数码管的”a“
42、段也是由 P0.0 来控制的而 8 个数码管的公共端则是由不同的 I/O 来控制,即第一个数码管的公共端由 P2.4 控制而第二个数码管的公共端有 P2.5 控制 动态扫描的控制原理是:将第一个数码管要显示的内容显示出来,然后立刻将第二个数码管的内容显示出来,一次把第 8 个数码管的内容显示出来由于单片机的工作速度非常快,所以当显示第 8 个数码管的时候第一个数码管的内容还没有完全消失,这时立刻重复上面的过程,就实现了数码管的。数码关分共阳极数码管,还有就是共阴极数码管,我们就采用共阴来使用。单片机各个口的电压输出的都为高电平。共阴就通过控制阳极,即可控制 LED 显示。5.25.2 DS18
43、B20DS18B20 初始化初始化DS18B20 的一线工作协议流程是:初始化ROM 操作指令存储器操作指令数据传输。其工作时序包括初始化时序、写时序和读时序。故主机控制 DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对 DS18B20 进行复位,复位成功后发送一条 ROM 指令,最后发送 RAM 指令,这样才能对 DS18B20 进行预定的操作。复位要求主 CPU 将数据线下拉 500 微秒,然后释放,DS18B20 收到信号后等待 1660 微秒左右,后发出 60240 微秒的存在低脉冲,主 CPU 收到此信号表示复位成功。DS18B20 的单线协议和命令DS18B20 有严格的通信协议来保证各位数据的传输的正确性和完整性主机操作单线器件 DS18B20 必须遵循下面的顺序.1.初始化单线总线上的所有操作均从初始化开始。初始化过程如下:主机通过拉低单