继电器温度控制器设计

上传人:桔**** 文档编号:576391452 上传时间:2024-08-19 格式:PDF 页数:20 大小:1.29MB
返回 下载 相关 举报
继电器温度控制器设计_第1页
第1页 / 共20页
继电器温度控制器设计_第2页
第2页 / 共20页
继电器温度控制器设计_第3页
第3页 / 共20页
继电器温度控制器设计_第4页
第4页 / 共20页
继电器温度控制器设计_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《继电器温度控制器设计》由会员分享,可在线阅读,更多相关《继电器温度控制器设计(20页珍藏版)》请在金锄头文库上搜索。

1、 摘 要 在工农业生产和日常生活中,对温度的检测和控制有着非常重要的意义和实际应用。而计算机控制系统的应用发展,使得科学研究、工农业生产、工艺时间的效率大大的提高 本设计是一个基于 AT89C52 单片机的继电器自动水温控制系统,该系统具有实时显示、温度测量、温度设定功能并能根据设定值对环境温度进行调节实现控温的目的,控制算法基于数字 PID 算法。 温度测量范围从 0100 , 温度控制范围为 2090, 测量的精度为 1, 超调量小于 5%,实验结果表明,本系统能较好地控制水温,满足我们的要求。 关键词: 继电器;AT89C52; 水温控制系统;PID Abstract In the in

2、dustry and agriculture production or the daily life, the temperature examination and control has a very vital significance and the practical application. And with the develop- ment of computer control system, the efficiency of scientific research、the industry and the agriculture production has get a

3、 big enhancement. This design is a relay automatic water temperature control system based on AT89C52. It has the real time display, the temperature survey、hypothesis and can carry on the adjustme- nt according to the setting value. The control algorithm based on the digital PID algorithm. The temper

4、ature survey scope from 0+100 , the temperature control scope for 2090, the survey precision for 1, is smaller than over 5%. The experimental result indicated that this system can control the water temperature well, satisfies our request. Key words: relay;AT89C52; emperature control system; PID 目 录

5、计算机控制技术课程设计论文 第 1 页 共 18 页 引言 . 1 1 课程设计概述 . 1 1.1 课程设计题目 . 1 1.2 设计要求: . 1 1.3 主要设备和芯片 . 1 2 总体设计及方案论证: . 1 2.1 总体设计框图 . 1 2.2 方案论证 . 2 2.2.1 控制电路的方案选择 . 2 2.2.2 测温电路方案的选择 . 2 2.2.3 软件算法方案选择 . 2 3 硬件设计 . 3 3.1 最小系统部分 . 3 3.2 温度采集电路 . 4 3.3 键盘、显示电路 . 4 3.4 继电器执行控制电路 . 5 3.5 串口与 PC 机通信电路 . 6 4 软件设计与实

6、现 . 7 4.1 软件流程图 . 7 4.2 控制算法 PID . 11 5 系统调试 . 11 5.1 最小系统部分调试 . 11 5.2 串口与上位机通信部分调试 . 11 5.3 继电器部分调试 . 11 5.4 测温部分调试 . 12 6 PID 参数整定 . 12 7 测试数据及结果分析 . 13 8 结论 . 13 谢 辞 . 14 参考文献 . 15 附 录 . 16计算机控制技术课程设计论文 第 1 页 共 18 页 1 引言 随着人们生活水平的提高,对生活环境的要求也越来越高,家用电器越来越趋向于自动控制控制乃至于智能控制,针对目前家庭的实际需要,自动水温控制系统比较方便实

7、用,本文就通过 51 系列单片机来实现一种自动控制水温控制系统的设计。该系统能实时反映当前温度信息,通过液晶屏直观的显示给用户,用户可通过键盘自行设定温度,系统通过 PID 调节能使温度保持在预设定值。 1 课程设计概述 1.1 课程设计题目 继电器水温控制系统。 1.2 设计要求: 用热敏元件设计测温电路;功率元件继电器进行交流电的功率调整; 控制范围 4090;控制精度1%;系统超调量5; 通过键盘进行温度设置; 实际温度可以实时显示。 1.3 主要设备和芯片 5V 电源 1 台 数字示波器 1 台 普通万用表 1 个 继电器 1 个 DS18B20 测温元件; 1 个 AT89S52 芯

8、片, 1 片 MAX232 芯片, 1 片 LCD1602 液晶显示器; 1 个 2 总体设计及方案论证: 2.1 总体设计框图 对题目进行深入的分析和思考,可将整个系统分为以下几个部分:测温电路、控制电路、功率电路和加热装置。系统框图如图 1 所示。 计算机控制技术课程设计论文 第 2 页 共 18 页 2 图 1 系统框图 2.2 方案论证 2.2.1 控制电路的方案选择 方案一:采用运放等模拟电路搭建一个控制器,用模拟方式实现 PID 控制,对于纯粹的水温控制,这是足够的。但是附加显示、温度设定等功能,还要附加许多电路,稍显麻烦。同样,使用逻辑电路也可实现控制功能,但总体的电路设计和制作

9、比较烦琐。 方案二:采用 FPGA 实现控制功能。使用 FPGA 时,电路设计比较简单,通过相应的编程设计,可以很容易地实现控制和显示、键盘等功能,是一种可选的方案。但与单片机相比,价格较高,显然大材小用。 方案三:采用单片机最小系统同时完成控制、显示、键盘等功能,电路设计和制作比较简单,成本也低,是一种非常好的方案。 综上所述本设计采用方案三作为控制电路。 2.2.2 测温电路方案的选择 方案一:采用热敏电阻作为测温元件。热敏电阻精度高,需要配合电桥使用,要实现精度测量需要配上精密较高的电阻。此外还需要制作相应的调理电路。 方案二:半导体温度传感器作为测温元件,半导体温度传感器应用也很广泛,

10、它的精度、可靠性都不错,价格也适中,使用比较简单,是一个较好的选择。 综上所述本设计采用方案二作为测温电路。 2.2.3 软件算法方案选择 方案一:采用模糊控制算法,对于一个典型的模糊控制系统,考虑它的输入信号有偏差e和偏差变化率e两种,输出信号为控制信号u。根据测试经验,可选取三角型隶属函数,分为正大、正中、正小、正零、零、负零、负小、负中、负大, 9 个档次。然后根据控制规则列出规则基表。这控制电路显示输入测温电路功率电路加热装置水计算机控制技术课程设计论文 第 3 页 共 18 页 3 种控制方法能够较精确的实现设计要求,但是考虑到单片机的存储量,和实时性,不采取这种尚未完全推广的控制方

11、法。 方案二:采用经典 PID 控制算法和根据实验数据分区间控制的算法,对于温度系统来说,被控对象没有精确的数学模型。热得快加热使得水温具有有热惯性,而且检测的实时数据是检测点附近的实时温度并不能完全体现 1 升水的实际温度,所以经典 PID 控制算法不能满足设计要求,还必须根据实验数据进行调整。这种控制算法基本能够满足设计要求,且通用性较强。 本设计采用方案二作为控制算法。 3 硬件设计 整个系统以单片机 AT89S51 为核心部件,在 51 最小系统外围添加了温度检测、键盘输入、液晶显示部分以及继电器构成的执行部件。 3.1 最小系统部分 设计选择的单片机芯片是 AT89S51。AT89S

12、51 具有如下特点:4k Bytes Flash 片内程序存储器,128 bytes 的随机存取数据存储器(RAM) ,32 个外部双向输入/输出(I/O)口,5 个中断优先级 2 层中断嵌套中断,2 个 16 位可编程定时计数器,2 个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 P3.4 作为继电器控制端口;P3.5 作温度检测元件输入端口; P1 口键盘扫描端口;P0 口作 LCD 液晶显示数据输入端口 P3 口作为上位通信串口输入端。 图 2 最小系统部分 计算机控制技术课程设计论文 第 4 页 共 18 页 4 3.2 温度采集电路 DS18B20 温度传感器简介: DS

13、18B20 为单线数字温度传感器,支持“一线总线”接口,大大提高了系统的抗干扰性,应用于温控控制、工业系统、消费品、温度计或任何热感测系统。DS18B20 具有以下特性: 1、 零待机功耗; 2、 无需外部器件; 3、 可通过数据线供电; 4、 温度以 9 位数字量读出; 5、 独特的单线接口仅需一个端口引脚进行通讯; 6、 测温范围-55+125,在-10+85内,精度为0.5。 测温电路设计: 电路采用温度传感器 DS18B20,可直接输出数字量,单线器件和单片机的接口只需一根信号线,所以本设计的硬件电路十分简单,容易实现。能达到 0.5C 的固有分辨率,使用读取温度暂存寄存器的方法能达到

14、 0.2C 以上的精度。 18B20 连接电路图如图 3 所示 图 3 温度采集电路 3.3 键盘、显示电路 在键盘输入方面,选用常用的 44 扫描键盘,分别用作 PID 模式选择、温度设定值输入、确定或取消设置。 在显示方面,选用了常用的显示容量为 162 个字符的液晶显示模块 LCD1602。通过相应的软件编程,可以实现比较美观和丰富的显示界面。模块连接电路图如图 4 所示。 计算机控制技术课程设计论文 第 5 页 共 18 页 5 图 4 键盘、显示电路 3.4 继电器执行控制电路 通过给 I/O 端口高低电位来控制继电器的通断,继而控制热得快加热的占空比(平均功率) ,以达到控制水温的

15、目的。电路设计如下 图 5 继电器控制电路 其中,三极管 NPN9014 为控制开关作用,当输入高电平,NPN 饱和导通,继电器线圈通电,触电吸合,使 220V 电源接通。反之,当输入低电平,NPN 截止,继电器线圈断电,触点断开。 电阻 R19 为限流电阻,主要起限流作用,降低晶体管 T1 的功耗。 电阻 Rxl 使晶体管有效截止。 D1 为续流二极管(本设计采用 IN4007) ,其作用是保护 NPN,当继电器吸合, D1 截止,不影计算机控制技术课程设计论文 第 6 页 共 18 页 6 响电路工作。继电器释放时,由于继电器线圈存在电感,这时 NPN 已经截止,所以会在线圈的两端产生较高

16、的感应电压。此电压的极性为上负下正,正端接在 NPN 的集电极上,当感应电压与 Vcc之和大于 NPN 三极管的集电极反向电压时,NPN 可能损坏,加入二极管,继电器线圈产生的感应电流从二极管流过,使三极管 NPN 得到保护。 3.5 串口与 PC 机通信电路 随着计算机技术的快速发展和广泛应用,上位机和下位机的主从工作方式为工业控制以及自动控制系统 所采用。 由于 PC 机分析能力强,处理速度更快及单片机使用灵活方便等特点,所以一般将 PC 机作为上位机,单片机作为下位机,二者通过 RS-232 接收、发送数据和传送指令。单片机可单独处理数据和控制任务,同时也将数据传送给 PC 机,由 PC

17、 机对这些数据经行处理或显示。 51 单片机有一个全双工的串行通讯口,利用其 RXD 和 TXD 与外界进行通信。单片机串口有 3条引线:TXD 发送数据、RXD 接收数据、GND 信号地。因此在通信距离较短时可采用零 MODEM方式,简单三线连结构。 PC 机有两个标准的 RS-232 串行口,其电平采用的是 EIA 电平,而 51 单片机的串行通信是由TXDRXD 来进行全双工通信的, 它们的电平是 TIL 电平; 为了 PC 机与 51 单片机之间能可靠地进行串行通信,需要电平转换芯片,这里采用 MAX232 芯片进行转换。 该部分电路作为拓展应用,电路如图 6 所示。 图 6 串口与

18、PC 机通信电路 综上所述,本着简单、实用的原则,最后选用了一个比较典型的硬件方案:测温电本路选用DS18B20 集成数组测温电路;控制芯片采用常见的 AT89S51,显示方式采用 162 字符液晶显示器1602 键盘采用 4X4 按键 计算机控制技术课程设计论文 第 7 页 共 18 页 7 4 软件设计与实现 4.1 软件流程图 本设计实现对 1L 左右水的温度的测量并用液晶显示,使待测水温的静态误差在 1C 范围以内。温度设定范围为 20100C,最小区分度为 1C,标定温差1C。同时当水温达到设定值时在环境温度降低时温度控制的静态误差1C。 主程序流程图如图 10 所示,实现对范围、温

19、度值的设定,执行、显示实时温度。控制算法流程图如图 12、图 13 所示,实现对温度的控制 计算机控制技术课程设计论文 第 8 页 共 18 页 8 图 4-1 系统主程序流程图 计算机控制技术课程设计论文 第 9 页 共 18 页 9 图 4-2 温度采集与控制子程序 图 4-3 PID 算法子程序 计算机控制技术课程设计论文 第 10 页 共 18 页 10 图 4-3 加热控制量自校正子程序 开始能否一次性达到设定值?启动开始用程序默认 1倍 PID 控制量进入控温量自校正环节启动 10 倍 PID 控制量加热保存好此温度上升点和控制量作为以后上升控制量N温度下降?启动 1倍 PID 控

20、制量加热达到设定值?启动 10 倍 PID 控制量加热温度上升?YYNN进入控温量自校正环节温度低于恒温值?温度上升?启动 1倍 PID 控制量加热达到设定值?温度下降?保存好此温度下降温度值是否高于设定值0.2 度?在原上升点控制量减去超调部分量值保存此值至校正控制量单元比上次温度上升点低?比上次温度上升点低?等待温度下降到恒温值再次上升把此温度上升点和控制量作为以后上升控制量YYYYYYYYNNNY计算机控制技术课程设计论文 第 11 页 共 18 页 11 4.2 控制算法 PID 由于该系统为闭环控制系统,故可采用 PID 控制算法。在计算机控制系统中,PID 控制规律的实现必须用数值

21、毕竟的方法,当采样周期相当短时,用求和代替积分,用后向差分代替微分,使模拟 PID 离散化为差分方程。由于该系统需要采取 PWM 的脉宽周期作为控制量,故采取数字 PID 增量型控制算法。 数字 PID 增量型控制算式: )2() 1(2)()()1()() 1()()(kekekeKkeKkekeKkukukuDIp 式中,PK为比列系数;IK=IpTTK为积分系数;TTKKDPI 本设计中,控制参量为热得快的加热时间 5 系统调试 首先对硬件初步检查:检查原理图与 PCB 图是否一致;原理图与器件的引脚是否一致;用万用表检查是否有虚焊,引脚短路现象。确定无误再进行各模块调试,软件的调试和硬

22、件调试配合进行。 5.1 最小系统部分调试 最小系统包括晶振和复位电路,按键电路,液晶显示电路等。 给整个系统上电,指示灯 LED 点亮,说明整个系统供电正常;用万用表测量 AT89S51 的各个供电管脚也正常,能正常复位。 再给单片机写入各个模块的调试程序,调试程序包括按键处理、液晶显示部分。 5.2 串口与上位机通信部分调试 通过串口给单片机下载简单的检测程序,若能下载,则表示通信部分正常工作。 5.3 继电器部分调试 首先进行初步检测:系统上电后,用杜邦线将继电器输入端口接入 5V 高电平,再断开,再接入 5V 高电平,如此往复,听到继电器发出滴答声。电路基本正常。 接着给单片机写入调试

23、程序,调试过程中,发现继电器不能工作,推断原因为端口电流太小,后尝试把 NPN 三极管改为 PNP 三极管,还是不能工作,该端口加个 1K 上拉电阻,继电器依然不工作,后来换回原来的 NPN 三极管,继电器部分可以正常工作。 计算机控制技术课程设计论文 第 12 页 共 18 页 12 5.4 测温部分调试 调入 18B20 测温及显示程序,观看液晶显示部分能否实时显示正确温度,一般就直接测室温的温度,看其是否准确即可。后来把包好的 18B20 放到水中测温的时候,由于包得不够好,导致几个都无法测正确的温度。所以测温传感器放到水中前务必包好。 6 PID 参数整定 总结 PID 参数整定方法:

24、 1、 加温很迅速就达到目标值,但是温度过冲很大: 比例系数太大,致使在为达到设定温度前加温比例过高; 微分系数过小,致使对对象反应不敏感; 2、 加温经常达不到目标值,小于目标值的时间越多; 比例系数过小,加温比例不够 积分系数过小,对恒温偏差补偿不足; 3、 基本上能够在控制目标上,但上下偏差偏大,经常波动; 微分系数过小,对即时变化反应不够快,反映措施不力; 积分系数过大,使微分反应被淹没钝化; 设定的基本定时周期过短,加热没有来得及传到测温点; 4、 受工作环境影响较大,在稍有变化时就会引起温度的波动: 微分系数过小,对即时变化反应不够快,不能及时反映; 设定的基本时周期过长,不能及时

25、得到修到; 一般的生产过程都具有较大的时间常数,而数字 PID 控制系统的采样周期则是要小得多,所以数字调节器的参数整定,完全可以按照模拟调节器的各种参数整定方法进行分析和综合。但是,数字控制器和模拟调节器相比,除了比例系数 KP、积分时间 TI 和微分时间 TD 外,还有一个重要的参数就是采样周期 T 需要很好的选择。合理的选择采样周期 T,也是数字控制系统的关键问题之一。由香农采样定理可知,当采样频率的上限为 Fs2Fmax 时,系统可真实地恢复到原来的连续信号。 从理论上讲,采样频率越高,失真越小,但是从控制器本身而言,大都是依靠偏差信号 E(k)进行调节计算。当采样周期太小时,偏差信号

26、 E(k)也会过小,此时计算机将会失去调节作用。采样周期 T 过长又会引起误差。因此,采样周期 T 必须综合考虑。 对于本次的温度控制系统的设计来说,影响其重要的因素就是滞后了。到图书馆查书得知:采样周期 T 与纯之后时间 t 基本相等,这样控制的效果才比较好。又由于那热的快控制,18B20 离热的快的距离不一样,滞后的时间也不一样。所以我们设计了可以设定采样周期的程序,这样随时都可以调节其采样周期的长短,以达到比较好的控制效果。 在温度控制中,我们不仅要看它的超调量,还要看它掉下来的时候的那个波。为了能够使散热计算机控制技术课程设计论文 第 13 页 共 18 页 13 快点,所以我们设定的

27、温度都比较高。这样调参数的时候可以省不少的时间,控制的效果也比较明显的看到。 下面是我们在调节 PID 参数时, 所记录的一些数据。 为了减小纯滞后的时间, 我们将 18B20放在热得快的附近,传导热量也是比较快的。如果控制效果不好的话,我们可以修改采样周期,再另行调节 PID 参数,以达到较好的效果。 7 测试数据及结果分析 测量仪器:水银温度计,500W 热得快,环境温度5 .34C。 测量结果:如下表所示。 设定温度(C) 40 60 70 90 超调温度(C) 40.5 61 70.8 无 变化范围(C) 39.840.5 59.361.0 69.070.8 89.089.5 由以上测

28、量可见, 系统性能基本上达到了所要求的指标。 静态测温的精度主要有 DS18B20 决定。DS18B20 的精度比较高,这里采取了读取温度寄存器办法,测温精度能够达到 0.2C,可以达到比较好的精度。 在控温指标中,影响系统性能的因素非常多。最关键的是加热系统本身的物理性质及控制算法。由于传感器必须加上防水设施,因此温度传感器难免会有迟滞,热得快本身的延迟,水对流传热等因素也会造成测温的延时,这些都会直接影响系统的控制性能。控制算法方面,需反复试验比较,在上升时间和超调量之间作权衡,选出较好的 PID 系数。 整个系统的设计思想是提高静态控温精度,减小调节时间和超调量。整个系统综合有如下几个特

29、点: 1、通过 DS18B20 集成温度传感器减少了 A/D 转换电路,简化了电路结构。 2、在电路设计中充分考虑了系统的可靠性和安全性。通过精心调试达到基本功能指标,动态性能也达到较好的要求。 8 结论 通过这次的程设计,使我对计算机控制有了更深刻理解,对实际经验的不足导致在设计过程中出现了不少的问题。调试过程中得到了老师的耐心指导,在此表示衷心感谢。同时,也感受到了团队协作的重要性! 计算机控制技术课程设计论文 第 14 页 共 18 页 14 谢 辞 在这次计算机控制课设的设计的过程中,得到了指导老师与同学的很多帮助。非常感谢我的老师耐心地给我分析不懂的问题,给我提出的宝贵的意见。也感谢

30、给予我帮助,并协助我调试系统的同学们。没有你们,这个继电器水温控制系统不会这么顺利地实现。 谢谢你们! 最后,谨向百忙之中抽出宝贵时间审阅论文的老师表示由衷的谢意! 计算机控制技术课程设计论文 第 15 页 共 18 页 15 参考文献 1 潘新民 编著 微型计算机控制技术 电子工业出版社 2010 2 何有才 编著 常用传感器应用电路的设计与实践 科学出版社 2007 3 童诗白 主编 模拟电子技术基础 (第四版) 高等教育出版社 2006 4 胡寿松 主编 自动控制原理 (第五版) 科学出版社,2002 5 例说 51 单片机 计算机控制技术课程设计论文 第 16 页 共 18 页 16

31、附 录 PCB 图 键盘: 计算机控制技术课程设计论文 第 17 页 共 18 页 17 系统部分核心程序: (1)PID 三种算法程序: sbit pid_out=P10; /PID 输出,控制继电器 unsigned char get_t_flag; int pid_p=10; / 比例常数 Proportional Const int pid_i=1; / 积分常数 Integral Const int pid_d=10; / 微分常数 Derivative Const int old_e; /上次偏差 int now_e; /本次偏差 int sum_e; / 偏差和 int d_e;

32、 /偏差差,微分 int now_t,now_ts; /实际温度 int old_t; int get_t_count=0; int out_count=0; int heat_time; /* !标准 PID 算法! */ int normal_PID(int set_t) /读取 PID 参数和计算 now_ts=ReadTemperature()%10000/10; if(now_ts200) now_t=now_ts;/获取温度 now_e=set_t*10 - now_t; /当前偏差 sum_e+=now_e; /积分项求和 d_e=now_e-old_e; /微分项求差 old_

33、t=now_t; /保存上次温度值 old_e=now_e; /保存上次偏差值 if(now_t(set_t*10) pid_i=20; else pid_i=1; return (pid_p*now_e+pid_i*sum_e+pid_d*d_e)/100; /比例项 /积分项 / 微分项 /* !变速积分 PID 算法! */ int speed_change_PID(int set_t) now_t=ReadTemperature()%10000/10; now_e=set_t*10 - now_t; sum_e+=now_e; /积分项求和 d_e=now_e-old_e;/微分项求差

34、 old_t=now_t; /保存上次温度值 old_e=now_e; /保存上次偏差值 pid_p=300; pid_i=(set_t*10-200)-now_e); /得到 0e 的值,40 度时,0200 /-对应 pid_i 随偏差的减小而增大-/ return (pid_p*now_e+pid_i*sum_e/10+pid_d*d_e)/100; /比例项 /积分项 / 微分项 /* !开关控制+PID 算法! */ int switch_and_PID(int set_t) now_t=ReadTemperature()%10000/10;/获取温度 now_e=set_t*10

35、- now_t; /当前偏差 if(now_e=30) /偏差300) out_count=0; /pid 最大值 300 if(out_countheat_time) pid_out=0; /加热 else pid_out=1; /不加热 if(heat_time=0) pid_out=1; /不加热 TH0=60536/256; TL0=60536%256; /定时中断初值,中断一次 5ms /* !PID 初始化! */ void PIDBEGIN() TMOD=0x01; TH0=60536/256; TL0=60536%256; /定时 5ms EA=1; ET0=1; TR0=1;

36、 /开定时中断 0 计算机控制技术课程设计论文 第 18 页 共 18 页 18 (2)部分主程序void main() /主程序 initLCD(); /液晶初始化 PIDBEGIN(); /PID 初始化 Delay1ms(10); init_set(); set_ts=set_t*10; while(1) if(get_t_flag=1) /2s 采样 1 次 get_t_flag=0; now_ts=ReadTemperature()%10000/10; if(now_ts200) now_t=now_ts;/获取温度 if( (now_tset_ts)& (now_t-set_ts)

37、4) ) heat_time=0; if( (now_t5) ) heat_time=0; if( (now_t10) ) heat_time=20; if( (now_t30) ) heat_time=100; if( (now_t50) ) heat_time=130; if( (now_t80) ) heat_time=180; if( (now_t100) ) heat_time=250; if(heat_time300)heat_time=300; if(heat_timeset_ts)&(now_t-set_ts)4) & (now_tset_ts)&(set_ts-now_t)5

38、) ) if(pid_mode_flag=1) heat_time=normal_PID(set_t); /标准 PID 算法 if(pid_mode_flag=2) heat_time=speed_change_PID(set_t); /变速积分 PID 算法 if(pid_mode_flag=3) heat_time=switch_and_PID(set_t); /开关控制+PID 算法 lcdplay(); /* !设置 PID 模式 程序! */ void init_set() unsigned char pid_enter_flag0=0,pid_enter_flag1=0; uns

39、igned char t_flag2=0,t_enter_flag=0; unsigned char t_value2=0;/ 保存键盘的数 /*设置 PID 模式*/ setPosition(0,0); Write_String(Set pid mode:); while(pid_mode_flag=0)|(pid_enter_flag1=0) k=KEYSCAN(); if(k!=0xff) switch(k) case 12:setPosition(1,0); Write_String(normal_PID: ); pid_enter_flag0=1; pid_mode_flag=1;

40、/PID 模式标志 break; case 13:setPosition(1,0); Write_String(speed_change_PID); pid_enter_flag0=1; pid_mode_flag=2; /PID 模式标志 break; case 14:setPosition(1,0); Write_String(switch_and_PID ); pid_enter_flag0=1; pid_mode_flag=3; /PID 模式标志 break; case 15:if(pid_enter_flag0=1) pid_enter_flag1=1;/跳出循环标志位 break;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号