单片机恒温箱温度控制系统的结构 设计 一、本课程设计系统概述 1、系统原理 选用 AT89C2051单片机为中央处理器, 通过温度传感器 DS18B20对恒温箱进 行温度采集,将采集到的信号传送给单片机, 在由单片机对数据进行处理控制显 示器,并比较采集温度与设定温度是否一致,然后驱动恒温箱的加热或制冷。 2、系统总结构图 总体设计应该是全面考虑系统的总体目标, 进行硬件初步选型, 然后确定一 个系统的草案, 同时考虑软硬件实现的可行性。 总体方案经过反复推敲, 确定了 以美国 Atmel 公司推出的 51 系列单片机为温度智能控制系统的核心,并选择低 功耗和低成本的存储器、数码显示器等元件,总体方案如下图: 恒 输入部 温度传感器 温 箱 AT89C 显示部 2051 驱动控制 加热 上位 PC 制冷 图 1 系统总体框图 二、硬件各单元设计 1、单片机最小系统电路 单片机选用 Atmel 公司的单片机芯片 AT89C2051, 完全可以满足本系统中要 求的采集、控制和数据处理的需要。单片机的选择在整个系统设计中至关重要, 该单片机与 MCS-51系列单片机高度兼容、低功耗、可以在接近零频率下工作等 诸多优点,而广泛应用于各类计算机系统、工业控制、消费类产品中。 AT89C2051是 AT89系列单片机中的一种精简产品。 它是将 AT89C51的 P0 口、 P2 口、 EA/Vpp、 ALE/PROG、PSEN口线省去后,形成的一种仅 20 引脚的单片机,相当于早期 Intel8031 的最小应用系统。 这对于一些不太复杂的控制场合, 仅有一片 AT89C2051就足够了,是真正意义上的“单片机” 。 AT89C2051为很多规模 不太大的嵌入式控制系统提供了一种极佳的选择方案,使传统的 51 系列单片机 的体积、功耗大、可选模式少等诸多弱点不复存在。该型号单片机包括 : 1)一个 8 位的微处理器 (CPU)。 2)片有 2K 字节的程序存储器 (ROM)和 128/256 字节 RAM。 3) 15 条可编程双向 I/O 口线 位定时器 / 计数器都可以设置成计数方式,用以对外部事件进行计数,也可设置成定时方式,并可以根据计数或定时的结果实现计算机控制。 5)五个中断源的中断控制系统。 6)一个全双工 UATR(通用异步接收发送器间或单片机与微机之间的串行通信。 7)片含模拟比较器。 8)低功耗的闲置和掉电模式。 +5V 10uF 33pF R1 2 1K ) 的串行 I/0 口,用于实现单片机之 +5V * 1 RST Vcc 20 2 (RXD)P3.0 P1.7 19 3 (TXD)P3.1 P1.6 18 RST Y1 12MHz 1 4 17 XTAL2 P1.5 5 16 XTAL1 P1.4 33pF R2 10K 6 (INT0)P3.2 P1.3 15 7 (INT1)P3.3 P1.2 14 8 (T0)P3.4 P1.1(AIN1) 13 9 (T1)P3.5 P1.0(AIN0) 12 10 GND P3.7 11 AT89C2051 图 2 最小系统电路 AT89C2051是一个 20脚的双列直插封装 (DIP) 芯片。最小系统电路包括晶体振 荡电路和手动复位电路,如图 2。 本设计使用一片 AT89C2051就代替了原来的 8031、 EPROM2732和地址锁存器 74LS373,因为 AT89C2051部的 2KB EPROM和128B的RAM,对智能化温度传感器测试 系统已能满足设计要求,而且降低了成本,结构设计也较精巧。 2、温度传感器 采用数字温度传感器 DS18B20,与传统的热敏电阻相比 , 他能够直接读出被 测温度并且可根据实际要求通过简单的编程实现 9~12位的数字值读数方式。可 以分别在 93.75ms和 750ms完成 9位和 12位的数字量 , 并且从 DS18B20读出的信息或写入 DS18B20的信息仅需要一根口线 ( 单线接口 ) 读写 , 温度变换功率来源于数据总线 , 总线本身也可以向所挂接的 DS18B20供电 , 而无需额外电源。因而使用 DS18B20可使系统结构更趋简单 , 可靠性更高,成本更低。测量温度围为~ 55℃~ +125℃。C,在一 10℃~ +85℃。C围,精度为± 0.5 ℃。DS1822的精度较差 为± 2℃。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。其引脚分布如图 3所示 3 DS18B20引脚图 引脚功能如下 : NC(1 、2 、 6 、 7 、8脚) : 空引脚 , 悬空不使用。 VDD(3脚): 可选电源脚 , 电源电压围 3~5.5V 。 DQ(4脚): 数据输入 / 输出脚 , 漏极开路 , 常态下高电平。 (2) DS18B20 测温原理 DS18B20的测温原理如图 4所示,图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器 1。高温度系数晶振随温度变化其振荡率明显改变, 所产生的信号作为计数器 2的脉冲输入。计数器 1和温度寄存器被预置在 -55 ℃所对应的一个基数值。 计数器 1对低温度系数晶振产生的脉冲信 号进行减法计数, 当计数器 1的预置值减到 0时,温度寄存器的值将加 1,计数器 1 的预置将重新被装入,计数器 1重新开始对低温度系数晶振产生的脉冲信号进行 计数,如此循环直到计数器 2 计数到 0时,停止温度寄存器值的累加,此时温度 寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线 性,其输出用于修正计数器 1的预置值。 DS18B20在正常使用时的测温分辨率为 0.5 ℃,如果要更高的精度, 则在对 DS18B20测温原理进行详细分析的基础上, 采 取直接读取 DS18B20部暂存寄存器的方法,将 DS18B20的测温分辨率提高到 0.1 ~ 0.01 ℃。 斜率累加器 预置 比较 低温度系数晶振 计数器1 预置 LSB 置位/ 加1 请除 =0 高温度系数晶振 温度寄存器 计数器2 停止 =0 图4 测温原理图 DS18B20 与单片机接口电路 P1.3口和 DSl8B20的引脚 DQ连接 , 作为单一数据线即为温度传感芯片 DSl8B20, 本设计虽然只使用了一片 DSl8B20 , 但由于不存在远程温度测量的考虑 , 所以为了简单起见 , 采用外部供电的方式 , 如图 2.6 所示。测温电缆采用屏蔽 4芯双绞线 , 其中一对线接地线与信号线 , 另一对接 VCC和地线 , 屏蔽层在电源源端单点接地。 5 DS18B20与单片机接口电路 3、 键盘显示电路 LED与控制器的连接有并行和串行方式。由于串行方式占用较少接口,因此 得到广泛应用。显示电路中选用 MAX7219作为 LED驱动芯片。 MAX7219是一个高集成化的串行输入 / 输出的共阴极 LED驱动显示器。每片可驱动 8位7段加小数点的共阴极数码管。片包括 BCD译码器、多路扫描控制器、字和位驱动器和 8× 8静态 RAM。外部只需要一个电阻设置所有 LED显示器字段电流。 MAX7219和控制器只需要三根 导线连接,每位显示数字有一个地址由控制器写入。允许使用者选择每位是 BCD 译码或不译码。 使用者还可以选择停机模式、 数字亮度控制、 从 1~8位选择扫描位数和对所有 LED显示器的测试模式。 引脚功能 MAX7219 是24引脚芯片,它的引脚排列如图 2.7 所示。各引脚功能如下: DIN(1脚 ): 串行数据输入端, 当CLK为上升沿时数据被载入 16位部移位寄存器。 CLK ( 13脚):串行时钟脉冲输入端,最大工作频率可达 10MHz。 LOAD(12脚):片选端,当 LOAD为低电平时,芯片接收来自 DIN的数据,接收完毕, LOAD回到高电平,接收的数据将被锁定。 DIG0~DIG7( 2、3、 5、 6、7、8、10、11脚):吸收显示器共阴极电流的位驱动线引脚图 SEGA~ SEGG、SEGDP(14、 15、 16、17、 20、 21、22、 23脚):驱动显示器 7 段及小数点的输出电流,一般为 40mA,可编程调整。 ISET (18脚):硬件亮度调节端。 DOUT(24脚):串行数据输出端; V+,正电源。 GND( 9脚):接地。 (2)MAX7219与单片机和 LED及键盘的接口电路 1)MAX7219的3个输入端 DIN、CLK和LOAD与单片机的三个 I/O 口连接,DIG0~DIG7 分别与八个共阴极 LED的公共端连接, SEGA~SEGG、SEGDP分别与每个 LED七段 动和小数点驱动端相连。电路图如图 7所示。 2)键盘功能介绍 采用独立式按键设计,如图上图所示。 由于只有四个按键,因此按键接口 电路的设计比较简单, 单片机 P1.4 ~P1.7 端口设定为输入状态, 平时通过电阻上 拉到 Vcc,按键按下时,对应的端口的电平被拉到低电平。这样就可以通过查询 P1的高 4位来判断有门有按键按下按键各接一根输入线,一根输入线的按键工作 状态不会影响其他输入线上的工作状态。 通过读 I/O 口,判断各 I/O 口的电平状态, 即可识别出按下的按键。 4个按键定如下: A、P1.4:S1 功能键,按此键则开始键盘控制。 B、P1.5:S2 加,按此键则温度设定加 1度。 C、P1.6:S3 减,按此键则温度设定减 1度。 D、P1.7:S4 发送,按此键将传感器的温度传送到上位机。 1 2 3 4 5 6 DS0 a10 a DPY A 1 b 9 b a A 6 c 8 c f b O d 5 d g G e 4 I e e c D f 2 f d g 3 d p g Dp 7 d p Dp y Amber-CA +5V U1 2 0 RST VCC (RXD)P3.0 P1.7 1 9 (TXD)P3.1 P1.6 1 8 XTAL2 P1.5 1 7 XTAL1 P1.4 1 6 (INT0 )P3.2 P1.3 1 5 ...... R5 5.1 K a10 b 9 c 8 d 5 ...... ...... e 4 f 2 g 3 Dp 7 R5 R5 R5 5.1 K 5.1 K 5.1 K S4 S3 S2 S1 DS7 a DPY A b a A c f b 7 d g G I e e c D d d p d p Dp y Amber-CA +5V 1 6 7 (INT1 )P3.3 P1.2 1 4 1 12 U2 DIN V+ LOAD 1 9 R1 9.5 K 8 9 10 1 3 (T0 )P3.4 P1. 1(AIN1 ) 1 2 (T1 )P3.5 P1. 0(AIN0 ) GND 1 1 P3.7 AT89 C2 05 1 13 DIG0 2 DIG1 1 1 DIG2 6 DIG3 7 DIG4 3 DIG5 0 DIG6 5 DIG7 8 24 9 4 CLK ISET DIG0 SEG A DIG1 SEG B DIG2 SEG C DIG3 SEG D DIG4 SEG E DIG5 SEG F DIG6 SEG G DIG7 DOUT SEG DP GND GND MAX7 21 9 CNG 1 8 1 4 a 1 6 b 2 0 c 2 3 d 2 1 e 1 5 f 1 7 g 2 2 DP 图 7 MAX7219与单片机和 LED及键盘的接口电路 4、 驱动控制电路 热电制冷介绍 热电制冷原理:半导体热电偶由 N型半导体和 P型半导体组成。当电流的极性如图 8 所示时,电子从电源负极出发,经连接片、 P型半导体、连接片、 N型半导体,最后回到电源正极。 N型材料有多余的电子,有负温差电势。 P型材料电子不足,有温差电势 ; 当电子从 P型穿过结点至 N型时,其能量必然增加,而且增加的能量相当 于结点所消耗的能量。这一点可用温差降低来证明。相反,当电子从 N型流至 P型材料时,结点的温度就会升高。直接接触的热电偶电路在实际的引用中不可用, 所以用图 8的连接方式来代替,实验证明,在温差电路中引入铜连接片和导线,不会改变电路的特性。简单地说当一块 N型半导体材料和一块 P型半导体材料联结成 电偶对时,在这个电路中接通直流电流后,就能产生能量的转移,电流由 N型元件流向 P型元件的接头吸收能量,成为冷端 ; 由 P型元件流向 N型元件的接头释放热量, 成为热端。吸收和放热的大小是通过电流的大小以及半导体材料 N、 P的元件对数来决定。 图 8 半导体制冷原理图 驱动控制电路 光耦合双向可控硅驱动器是一种单片机输出与双向可控硅之间较理想的接口 器件,它由入和输出两部分组成, 输入部分为砷化镓发光二极管, 该二极管在 5mA~ 15mA正向电流作用下发出足够强度的红外光,触发输出部分。连接电路如图 9 所 示。输出部分为硅光敏双向可控硅,在红外线作用下可双向导通。 光电耦合器是以光为媒介传输电信号的一种“电 - 光- 电”转换器件。它由发 光源和受光器两部分组成。把发光源和受光器组装在同一壳体,彼此间用透明绝 缘体隔离。发光源的引脚为输入部分,受光器的引脚为输出端,常见的发光源为发光二极管,受光器为光敏二极管、光敏三极管等。 在光电耦合器输入端加电信号使发光源发光,光的强度取决于激励电流的大小,此光照射到封装在一起的受光器上后,因光电效应而产生了光电流,由受光器输出端引出,这样就实现了“电 - 光 - 电”转换。在光电耦合器的部,由于发光管和受光器之间的耦合电容很小,使用共模输入电压通过极间耦合电容对输出电流的影响很小,因而共模抑制比很高。 在发光二极管上提供一个偏置电流,再把信号电压通过电阻耦合到发光二极管上,这样光电晶体管接收到的是在偏置电流上增、减变化的光信号,其输出电流将随输入的信号电压作线性变化。光电耦合器也可工作在开关状态,传输脉冲信号。在传输脉冲信号是,输入信号和输出信号之间存在一定的延时,不同结构的光电耦合器输入、输出延时时间相差很大。 +5V R9 U9 R10 10k 360 制冷系统 8A Opto TRIAC R12 接P3.4 2 R11 3.9k 330 Q1 7407 Triac +5V C11 R15 0.11uF U9 R16 10k 加热系统 360 9A V1 220V 接 2 Opto TRIAC P3.5 R18 R17 3.9k V1 7407 330 Q2 220V Triac C12 0.01uF 图 9 加热降温驱动控制电路 5、看门狗和上位机通信电路 串口通信功能实现 在实际的工作中,计算机的 CPU与外部设备之间常常要进行信息交换,一台 计算机与其他计算机之间也往往要交换信息,所有这些信息交换均可称为通信。 串行通信是指 : 数据是一位一位按顺序传送的通信方式。它的突出优点是只需一对 传输线 ( 利用线就可以作为传输线 ) ,这样就大大降低了成本,特别适用与远距离 通信 ; 其缺点是传送速度低。 (2)MAX232与单片机接口电路设计 10为MAX232与单片机接口电路;通过它可以把单片机和计算机连接起来,实现远程通讯功能。 看门狗与电源监控芯片介绍 由于工业现场对控制系统可能造成很强的干扰,为保证控制器在任何干扰条件下都能正常工作,就必须对单片机的运行进行监控,避免死机、程序跑飞或进入死循环。采用看门狗电路则可以大大提高整个系统的抗干扰能力态。 本系统选用 MAX813L,该芯片能够监控电源电压、 电池故障和微控制器的工作状态。 MAX813L引脚功能如下: 1)MR(1脚) :手动复位输入,低电平有效。 2)PRI(4 脚 ) 、PFO(5脚) :分别为电源故障输入和电源故障输出。 3)WDI(6脚 ) 、 WDO(8脚) :分别为看门狗输入和看门狗输出。 4)RESET(7脚) :复位输出。 MAX813L芯片主要特点: 1) 复位输出:系统上电、掉电以及供电电压降低时,第 7 脚产生复位脉冲,复位 脉冲宽度的典型值为 200ms,高电平有效,复位门限值为 4.65V。 看门狗电路输出:如果在 1.6s 没有触发该电路,则第 8脚输出一个低电平信号。 手动复位输入:低电平有效,即第 1脚输入一个低电平,则地 7脚产生复位输出。 第4脚输入电压为 1.25V时,第 5脚输出一个低电平信号。 (5) MAX813L与单片机的连接 MAX813L的典型应用电路如图 10所示,在软件设计中, P3.7 不断的输出脉冲信号。如果因某种原因进入死循环,则 P3.7无脉冲输出,于是 1.6s 后在 MAX813L的第8脚输出低电平。 该低电平加到 1脚,使 MAX813L产生复位输出, 使单片机有效复位,摆脱死循环。另外,当电源电压低于限制值 4.65V 时,MAX813L也会产生复位输出, 使单片机处于复位状态,不执行任何指令,知道电压电压恢复正常,以有效防止 因电源电压较低使单片机产生错误的动作。 J1 5 9 4 8 3RXD 7 2TXD 6 1 PC DB9 6、电源电路 J2 12V 1 2 1 VCC 6 1 U4 2 V+ c C1+ 1 c C5+ V C4 C1- 3 10uF 0.01 6 4 V- C2+ 15 + GND 5 C6 C2- 10uF TXD14 T1OUT T1IN 11 TXD TXD 7 10 T2OUT T2IN RXD13 12 RXD RXD R1IN 8 R1OUT R2IN R20UT 9 +5V MAX232 U6 2 VCC PF1 4 1 MR WDI 6 8 WDO PF0 5 3 GND RESET RESET MAX813L 10 MAX232与单片机接口电路 +5V U1 1 RST VCC 20 2 (RXD)P3.0 P1.7 19 3 (TXD)P3.1 P1.6 18 4 XTAL2 P1.5 17 5 XTAL1 P1.4 16 6 (INT0)P3.2 P1.3 15 7 (INT1)P3.3 P1.2 14 8 (T0)P3.4 P1.1(AIN1) 13 9 (T1)P3.5 P1.0(AIN0) 12 10 GND P3.7 11 AT89C2051 D1 U7 7805 R14 4 2 1 3 Vin Vout D 10k J3 N C7 G C10 D2 1 BRIDGE1 2200uF C8 C9 10uF LED 2 3 0.1uF 2 0.1uF CON2 图 11 电源电路 电源电路虽然简单,但需要功能可靠,要有 CBB电容和高品质的 ELNA电容做退 藕,,设计所用的电源都是直流电源 +5V,所用采用三端集成稳压器 7805,可以方 便的实现此功能,电路如图 11所示 7、 PID 控制算法 PID 的数学模型 PID 控制是一种比较成熟的控制理论 , 它通过比例、积分、微分三部分的合理 组合可以用比较简单的方法获得令人满意的控制效果。 PID 的数学模型如图 12 表 示: 比例 R(t) E(t) U(t) Y(t) 积分 被控对象 微分 图 12 PID 数学模型 给定值 R(t) 与实际值 Y(t) 构成控制误差 : E( t ) =R(t )-Y (t ) 式2-1 PID控制器根据 E(t) 将误差的比例 (P) 、积分 (I) 、和微分 (D) 通过线性组合构 成控制量,对受控对象进行控制,其控制规律如式 2所示 : U(t)=K P[e(t)+ 1 E(t )dt Td de(t ) ] 式2-2 t Ti 0 dt U(t) ——控制器输出函数 ;E(t) ——控制器误差函数 ; KP——比例系数 ;T i ——积分时间常数 ;T d——微分时间常数。 一个最简单的控制器可以只有比例部分,它能够产生与输入信号成比例的输 出信号,所以误差一旦产生,控制器立即就有控制作用,使被控制量朝着减小误 差的方向变化, 控制作用的强弱取决于比例系数 KP。比例控制的缺点是不能在设置 点和反馈点之间产生零误差 ( 静差 ) ,为了产生有限的输出信号,必须保持这种静 差。加大 KP可以减小静差,但是 KP过大会导致动态性能变坏,甚至会使闭环系统不 稳定。 为了消除这种静差,可以引入积分控制环节,积分环节能对误差进行记忆并 积分,即使只存在很小的偏差,也可以将其积分后作用于操作部分,有利于消除 静差。但是积分作用具有滞后特性,它总是滞后于偏差的存在,这样会使系统易 于振荡,结果往往超调,使被控变量波动很大。积分控制常用于补偿高精度的控 制系统。 微分控制能对误差进行微分,敏感出误差的变化趋势,将预期的动作作用于 操作部分,增大微分控制作用可以加快系统的响应,使超调量减小,增加系统的 稳定性。缺点是微分控制对干扰同样敏感,使系统抑制干扰的能力降低。微分控 制可用于补偿快速变化的控制系统。 PID 控制规律的离散化 为了用计算机实现 PID控制,必须将式表示 PID控制规律的连续形式变成离散形式,才能通过编程实现。 若设温度采样周期为 T, 第n次采样得到的输入偏差为 en, 输出为 Un 。 微分用差分代替 de(t ) en en 1 式2-3 dt T t n 积分用求和代替 ek gT 式2-4 e(t )dt 0 k 0 这样 PID控制器控制算法的离散形式改写为 U n K P [ en 1 n ek gT Td en en 1 ] 式2-5 Ti k 0 T 这种算法的缺点是,由于是全量输出,所以每次输出均与过去的状态有关, 计算时要对 E(n) 进行累加,所以计算机工作量大。而且,因为计算机输出的 U(n) 对应的是执行机构的实际位置,如果计算机出现故障, u(n) 的大幅度变化会引起 执行机构位置的大幅度变化,这种情况往往是生产实践中不允许的,在某些场合, 可能造成重大的生产事故,因此产生了增量式 PID控制的控制算法。 所谓增量式 PID控制算法是指数字控制器的输出只是控制量的增量 U(n) 。当执 行机构需要的是控制量的增量时,可由式导出提供增量的 PID控制算法。根据递推 规律得 : n 1 U (n 1) K P e(n 1) K i e( j ) K d [e(n 1) e(n 2)] 式2-6 j 0 用式 2-5 减去式 2-6 可得: U n U n 1 K P[ e( n) e(n 1) T Td (en 2en 1 en 2 )] 式 2-7 en T Ti 改写成: U n U n 1 K P { E ( n) E ( n 1) K I E ( n) K D [ E (n ) 2 E (n 1) E ( n 2)]} = U (n 1) PP PI PD 式2-8 事实证明,对于 PID这样简单的控制器,能够适用于广泛的工业和民用对象, 并以其很高的性价比在市场中占主导地分反映了 PID控制,但在工业控制过程中经 常会碰到大滞位,充后、时变的、非线性的复杂系统,其中有的是非线性系统 ; 有 的带有延时和随机干扰 ; 有的无法获得较准确的数学模型或者模型非常粗燥。对于 以上这些系统,如果采用常规的 PID控制器,则难以整定 PID参数,因此比较难以 达到预期的控制效果。同时,在实际生产现场,由于受到参数整定方法繁杂的困 扰,常规 PID控制器参数往往整定不良、性能欠佳,对运行工矿的适用性很差。 三、软件设计 1、温度传感器 DS18B20模块软件设计 DS18B20 上电后处于空闲状态 , 需要控制器发能完成温度转换。 DS18B20的单线 通讯功能是分时完成的,具有严格的时序要求,而 AT89C2051单片机并不支持单线 传输 , 必须采用软件的方法来模拟单线的操作必须严格按照 协议进行。工作协议流程为:主机发复位脉冲初始化 DS18B20→DS18B20发响应脉 冲→主机发 ROM操作指令→主机发存储器操作指令→数据传输。 对 DS18B20操作时,首先要将它复位。复位时,DQ线被拉为低电平,时间为 480~ 960us;接着将数据线us 的低电平作为应答信号,这时主机才能进行读写操作。 进行写操作时,将数据线从高电平拉至低电平,产生写起始信号。从 DQ线的 下降沿起计时,在 15us到 60us这段时间对数据线进行检测,如数据线,完成了一个写周期。在开始另一个写周期前,必须有 1us以上的高电平恢复期。每个写周期必须要进行写操作时,将数据线从高电平拉 至低电平,产生写起始信号。从 DQ线us这段时间对 数据线进行检测,如数据线,完成了一个写 周期。在开始另一个写周期前,必须有 1us以上的高电平恢复期。每个写周期必须 要有 60us以上的持续期。 读操作时,主机将数据线us以上,再使数据线升为高电 平,从而产生读起始信号。从主机将数据线从高电平拉至低电平起 15us至60us, 主机读取数据。每个读周期最短的持续期为 60us,周期之间必须有 1us以上的高电 平恢复期。 温度转换读取温度数值程序流程如图 13所示 开始 初始化 DS18B20 No 应答脉冲? Yes 发起 Skip ROM 命令 发起 Convert T 命令 延时 1s ,等待温 度转换完成 初始化 DS18B20 No 应答脉冲? Yes 发起 Read Scratchpad 命令 读取第 1 、 2 字节即 为温度数据 图 13 温度转换读取温度数值程序流程 2、显示程序设计 MAX7219上电时,译码方式、亮度调节、扫描位数、待机开关和显示检测 5 个控制寄存器全部清零。对于 MAX7219,串行数据以 16位数据包的形式从 DIN脚串 行输入,在 CLK的每一个上升沿一位一位的送入芯片部 16位移位寄存器,而不管 LOAD脚的状态如何。 LOAD脚必须在第 16个上升沿出现的同时或之后,但在下一个 CLK上升沿之前变为高电平,否则移入的数据将丢失。 3、键盘程序设计 在按键的软件设计时考虑了按键去抖动技术问题。因为按键的无操作抖动很可能影响单片机对按键的判断,因此必须考虑去抖动问题。键盘的程序流程图如图14 开始 P1.4是否按下? N Y 延时去抖动 N P1.4是否按下? Y N N S3按下? N S2按下? S4按下? Y 返回 Y Y 调加1子程序 调减1子程序 调发送子程序 返回 图 14 键盘的程序流程 4、 PID 控制程序设计 由式 2-8 可以改写成: P(K)=P(K-1)+K P[E(K)-E(K-1)]+K I · E(K)+KD[E(K)-2E(K-1)+E(K-2)] =P(K-1)+P +P+P 式3-1 PID 根据式 3-1 编程,相应的程序框图如图 15所示: 开始 调用加减发子程序计 E(K)=U R -U I (K) 调用乘法子程序计算 K I× E(K) 调用加减法子程序计算 E(K)-E(K-1) 计算 K P [E(K)-E(K-1)] 计算 K P [E(K)-E(K-1)]+K IE(K) 计算 K P [E(K)-E(K-1)]+K I E(K) +K D [E(K)-2E(K-1)+E(K-2)] 计算 P(K) 返回 图 15 PID 算法程序流程图 5、主程序流程图及程序设计 系统主程序流程图如图 16所示。 有了各个功能块的软件实现方法,软件的总体设计就变得简单了,软件设计 中一个重要的思想就是采用模块化设计,把一个大的任务分解成若干个小任务, 分别编制实现这些小任务的子程序,然后将子程序按照总体要求组装起来,就可 以实现这个大任务了。这种思路对于可重复使用的子程序显得尤为优越,因为不 仅程序结构清晰,而节约程序存储空间。 I 程序开始 初始化数据 调显示程序 中断设置 调比较程序 初始化 DB18B20 Outflag=1 N N 初始化 MAX7219 Outflag=-1 Y Y 获取温度数值 调 PID 算法 调 PID 算法 I 启动制冷 启动制冷 是否与设定值相等 N Y 图 16 主程序流程图 主程序设计 #include “AT89C2051.h ” #include intrins.h sbit TSOR=P1^7; // 温度测
2、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
3、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
4、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
bcg -美国最高法院关于关税的裁决对你的企业意味着什么 What Does the US Supreme Court Ruling on Tariffs Mean for Your Business.pdf
2026届甘肃兰州市高三下学期第一次模拟考试历史试卷(扫描版,含答案).docx
bcg -零售银行如何让人工智能代理发挥作用 How Retail Banks Can Put AI Agents to Work.pdf
住宅项目规范解读(GB 55038-2025) -培训 - 房地产-2025.docx
广东省汕头市2024-2025学年高三下学期第一次模拟考试英语学试题(含答案).docx
原创力文档创建于2008年,本站为文档C2C交易模式,即用户上传的文档直接分享给其他用户(可下载、阅读),本站只是中间服务平台,本站所有文档下载所得的收益归上传人所有。原创力文档是网络服务平台方,若您的权利被侵害,请发链接和相关诉求至 电线) ,上传者


客服1