




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嘉 应 学 院()与PC的温度控制系统软件姓 名: 廖 砚 雄学 号: 2051022137院 系: 电子信息工程学专 : 电子信息工程指导教师: 龚昌来副教申请学位: 工学学士嘉 应 学 院 教 务 处 制PAGE\*ROMANPAGE\*ROMANII要、处、反应和锅的温度进行检测AT89S52PC单片机作下位机完成温度数据的采PCPC单PC可PC人项性能指标高,可关键词:DS18B20;单片机;温度控制;PID算法录1.111233PID431 432 533 PID63.4 735 93.6 PID941141 11C5112141545 DS18B201846 PWM204.7 PC215.3051 30PID303334、总电路图 34二、PC运作VB35三、36四、PC44参考文献: 49PAGEPAGE10PC1。 绪论 1。1 前言随着新技术的不断开发与应用,近年来单片机发展给现代工业测控领域带来了一次新的技术革命,单片机的应用已经渗透到电力、冶金、化工、建材、机械、食品、石油等各个行业,发展迅速。而传统的温度采集方法不仅费时费力,而且精度差,单片机的出现使得温度的采集和数据处理问题能够得到很好的解决。温度是工业对象中的一个重要的被控参数。然而所采用的测温元件和测量方法不相同,产品的工艺不同,控制温度的精度也不相同。因此对数据采集的精度和采用的控制方法也不相同.本系统所使用的加热器件是电炉,,要温度0。控制精度5.使用单片机行控制。,,技术,使人相是技的.是,,能[1,,能力和使用方等,数、能化方的用途。单片机与PC以AT89S52单片机,热器DS18B20,电炉控制电的系统了单片机的能。是件能,件能,控制系统,具一的使用和参。1。2 分析一、系统能要求单片机与PC机的温度控制系统应能到人方所控制的温度,温控器能电炉加热此能,重新一温度,能控制温度;采用的控制方法,温度(4到6)时,系统的时和量.现控制,机械;控制方法,控制精度到C护安如际的范围就会指令报警;装置通串口送上位上位接存贮显示温度化曲线。系统总方1—1所示键盘PC
电单阻片炉机显示器
机驱动 1-1 S12。,00,5°C5°C05°C内,±05°C现场直数字式输,大大提了干性.恶劣现场。以方式性破坏较大因此按脉冲宽输出信号占空比大从而实现对输出.遵循了冗余原则以软代原则典型替换的,性标准化模块化打良好.扩展配置满足础留当裕,以利扩充修改。2。 系统硬件简介 本系统硬件由单片机AT89S52最小系统电路、温度检测电路、温度控制电路等部分组成。在系统中,利用DS18B20温度传感器测得水温的实际温度并转换成与水温相对应的数字信号进入单片机,单片机进行数据处理后,将温度与设定温度比较,由设定的控制算法计算出控制量,根据控制量通过控制固态继电器的导通和关闭从而控制电阻丝的导通以实现对温度的控制。该系统中还利用PC机通过RS232串口通信进行实时监控.一、单片机最小系统电路:本系统采用晶振,复位电路组成的单片机最小系统电路使单片机正常运作以结合其他模块组成本设计所要求的系统.二、串口及其通信:TTL/CMOS[2],PCRS232[3]RS232的电,使用+3V+15V的电,单片机串行口并PC机串行口相进行电转换后相。本设计用MAX232电转换片进行电的转换。51单片机一个的串行通口,所以单片机和计算机间以进行串口通。采用制串口,和计算机的 9串口其中的 3根:5的 GND、2的 RXD、3的 TXD。、温度检测电路:DS18B20,DS1820DS18B20出,从单片机DS18B20.定和成温度换所的电以由数据本而要部电。、温度控制电路:本设计由固态继电器控制电的通,以实现对温度的控制,固态继电器e,简成“SS,一种部由固态电子元件电耦合器、晶体管、可硅、电阻、电容)组成的新型无触点开关器件.普通继电器一样的输入侧与输出侧绝缘的。但普通电磁继电器比,SSR小,开速快无械触点,没械磨损怕害气体腐蚀没械噪声,耐动耐冲击寿命长。在通、和电弧,信号的,电与计算机口。作为控制的行部件得的应用。3.PIDPID、鲁实现等优点并且不需建立其精确数学模型因此在过中仍然应最广泛类象电阻炉由模型较为复杂无建立精确数学模型故采PID比较方便PID也存在现场参数麻烦、被象模型参数漂离最佳工况等问问在本设计中采4D.模PID、模PID[3-1模PID、模PID方数PID性定t实出c(t偏差比例(P积I(D通过性构量象进行.PID方程u(t)K
et)1 tet)dt
de(t)
(1)TPT0I
D dt 式中 e(t)r(t)c(t)2PID数D(S)U(SE(S)
K P
S1DTST S1DI
2)三、PID各校正环作用1例环:即时比例地反应偏差信号t偏差旦产生立即产生减小偏差。2消除静差提高无差度积作强弱取决积时间常数TTI越大积作越弱反之则越强。3.应(),并在,PIDPID规律离散化模拟形式离散化形式模拟形式离散化形式e(t)r(t)c(t)de(t)dTtet)dt0e(n)r(n)c(n)e(n)e(n1)Tni0eiT()T e(i)i0n二、PID差分方程u(n)K
e(n)
T
e(i)
e(n1uPu (n)u
I(n)u
Ti0(n)u
0 P式u
I(n)P
D Ke(n)P
称为比例项u (n)KI P
TT
e(i)
称为积分项u (n)KD P
Ii0DT e(n1DT
称为微分项三、常1P
u(n)
(n)uP 0
(5)2.PI
u(n)
(n)P
(n)uI 0
(6)3PD
u(n)
(n)P
(n)uD 0
(7)4PID
u(n)
(n)P
(n)I
(n)uD
(8)实际运算由于水具很大热惯性PIDI(积分项)具非常明显延迟反应,抑超量,所以积分应该适当强才能达到较佳果PD方案。四、PID两种类型13-2u(n)
K e(n)TP TI
ni0
Te(i) T
)
u
(9)23-3u(n)u(n)u(n1)
T
0)TK e(n)e(nTP
1)
K e(n)K P PTI
e(n)2e(n
1)
2)3—2PID图3—3PID图PID算法,将温度传感器采样输入作为当前输入,然后与设定值e(n),然后再对之PIDopen,而加热器.PID一、PIDPIDu(n)ae(n)ae(0 1T
1)ae(n2T
2)2T
(1)T式中a
K D),a K
D),
K D0 P T T 1 P I
2 PT2.PID3-4PID1.
34u(n)u(nu(n)u(na0
e(n)a1
e(na2
e(n2)
1)2.PID3-4PIDun+u(1)=n)和更新un1三对控制限制1。控制总是受到定字长限制2。执行机构实际不允许超过(或下)极限u(n)uu(n)min
minu u
(1)(n)u
minu
(n)
maxmax
(n)
max微分项改进不完全微分PID控制1.不完全微分PID传 1 T
S1G (S)C
KP1TI
STDDKD
S1
14)3-5 PID2.3-63.PIDT T u (n)uD D
(n1)
DTD
e(n)e(n1)TD
e(n)uDTD
(n1)
5)K KD DTu(n)KPTI
u (n)K D P
(n)uD
(n1)
(16)、先行1。先行先行是把对偏改为对被控量,这样,在给定值变化时,会产生输出大幅度变化。而且由于被控量一般会突变,即使给定值已发生改变,被控量P KT P u (n) c(n)c(n1)
(17)D T输入滤波输入滤波就是在计项时,是直接应当前时刻误e(n),而是采滤波n微项
KT P (n) e(n)3e(n1)3e(n2)e(n3)P
(18)D 6TP KT P u (n) e(n)2e(n1)6e(n2)2e(n3)e(n4)
(9)D 6T3.5 周期的选择,,――定理1最
T (20)max 2fmax式中f 为信号组分中最分量。max三应综合考虑1.给定给定,应给定,中。2性考虑,T在T(情况从系统抗求来看求迅校正。式和执构类型太,积分微分明显因微度影响,定因。应应器输出求相应长每调节都足够的来完成n与T如下关系:Tn Tjj1
j第 j程序执36 PID参PID参求和定方法1.原则要求:被控过程是稳定的,能迅速和准确地跟踪给定值的变化,超调量小,在不同干扰下系统输出应能保持在给定值,操作变量不宜过大,在系统与环境参数发生变化时控制应保持稳定。显然,要同时满足上述各项要求是困难的,必须根据具体过程的要求,满足主要方面,并兼顾其它方面。2。PID参数整定方法:理论计算法――依赖被控对象准确的数学模型(一般较难做到)工程整定法――不依赖被控对象准确的数学模型,直接在控制系统中进行现场整定(简单易行)二、常用的简易工程整定法。扩充法6――用的被控对象整定数调参数的被控对象时的一下。作用和作用,大系数K直系统对输的应达P到(稳定下时的系数K 系统的T 。K K(3)控制.
e2(t)dt0控制0
DDC (22)
e2(t)dt00模拟常,控制1.05时.DDC与模控制。(4)根据定的控制,T、K、T、T的值.P I D2参数整定下:(1)系统操作被调量调到给定值,并稳定下,然后然变给定值,给对象一个输.2)用被调量在输下的整个变化过程,7。37被调量在输下的整个变化过程3τTTτ/τ4TTτ/KTT期T。3。归一参数定法
P I D令T01T TK I
0.5T TK
0.125T DKu(n)
K 2.45e(n)3.5e(n1)1.25e(n2)P
(23)变K,止 .P4。系统软件设计4。1 软件开发工具简介一、单片机开发工具本系统开发工具采KEIL51CL的同8051CC51uVision2这环境包括:编译器汇编器实操系统调试器。SLISPHEXEEPUSB。二、PC机开发工具VBVBVB几年内风靡全球。VB设计方法,极短软开发周期,较生]。10lc5VB8)[7],系统方面较成VB6。0行在win2000,winxp,windowsNT操作系统下,是一32程序开发工具.主要有以下几点:简了s平台上提供了图形户)的成开发环境(IDE)。简单Basic语言。既适于有任何编程开发者学习,适合于开发种复杂底层程序。具有强大据和字符串功能.VisualBasic提供了许多现成字符串函数.于.以,VisualBasic是一于功能开发系统。5提供了IntelliSense.在VisualBasic口进对象时候IntelliSense自一相信,对象和方法.6。。,可以快速地成一,成其据,,工具,制作表,以发程序。4。2 C51单片机软开发语言 C语言是一种通计算机程序设计语言.由于汇编程序可读性和可移植性都较差,而 C语言既是一种高级语言,又兼有一些汇编语言才具有点,其表达能力和算能力和算能力都很强,并且具有很好可移植性硬控制能力,编写效率高,软调试直观,升级方便。同时语言具有完善模块程序结构和功能丰富库函数,在软开发中可以模块化程序设计方法,并可以方便地调库函数一些常功能。再说现在单片机程序存储器容量越来越大,因此不像过去那样对程序规模大小斤斤计较,这有利于C语言程序在单片机上广.此外,使C语言进行MCS-51系列单片机系统开发,编程者可以专注于软部分设计,不必将大量精力花在内存分配底层工作上,从而大大地加快了软开发速度,C语言程序可读性比汇编语言好得多,对于程序的改进和扩充也方便得多,因此越来越多的设计人员选用 C语言来开发单片机控制程序[8]。鉴于 C语言在功能上、结构性、可读性和可维护性上比汇编有明显的优势,编程有众多优点,在本设计中,采用的是 C语言编写程序。C32,语句关键字、存储类型关键字和其它关键字四类.1.数据类型关键字(12个):char:声明字符型变量或函数double:声明双精度变量或函数enum声明枚举类型float:声明浮点型变量或函数int:声明整型变量或函数long:声明长整型变量或函数short:声明短整型变量或函数signed:声明有符号类型变量或函数struct:声明结构体变量或函数union:声明共用体(联合)数据类型unsigned:声明无符号类型变量或函数void,()2。控制语句关键字(12个):(1)循环语句for:一循环语句(可可言)do:循环语句的循环体while:循环语句的循环break:continue:结循环,开一循环(2)语句if: 语句else:语句分(if)goto:无语句(3)开关语句switch:用于开关语句case:支default开关语句中的“其他”分支(4)返回语句return子(以带看带)3.存储类型关键字(4个):声明自动变量 一般不使用extern:声明变量是在其他文件正声明(也可以看做是引用变量)r:声明积存器变量:声明静态变量4。其它关键字(4个):声明只读变量sizeof:计算数据类型长度f:用以给数据类型取别名(当然还有其他作用volatile:说明变量在程序执行中可被隐含地改变二、C语言中的 9中控制语句goto语句:无条件转向;if语句:;while循环语句;do-while语句:先执行循环体,然后判断循环条件是否成立.之后继续循环;for语句:循环,可替代while语句; 只是用法不同;break语句跳出本层的循环;(只跳出包含此语句的循环)continue语句:继续(一般放到循环语句里,不在执行它下面的语句,直接跳到判断语句例:for语句,就直接跳到第二个分号处,while语句,就直接跳到 while()的括号里;switch语句:;return语句:;程序的件计程序,、、改,程序的用的,整个包括、、度、中断、控制算法、出控制个分,其件体4—1。度中断控制控制串口初算法出通信始4—1件体化初始化初始化处据显示传至机初始化口8888机先转初始化时器时器4—2单片机程序结构框图 4—3单片机程序初始化结构4。4 单片机中断服务子程序的实现中断是指当计算机执行正常程序时,由于系统中出现某些需要紧急处的情况或特殊请求时,计算机打断当前正在运行的程序,转而对这些紧急情况进行处,处完毕后,再返回继续执行原来被打断的程序。主要事件,而当外界有特殊情单片机的中断功能,可以提高单片机的工作效率,尤其是在编制实时性要求较高的控制程序时.80512优先级,5中断源。中断源的优先级是可以编程的。80515中断源分是:外0INT0。外1INT1。片时/计0出中断请求。片时/计1出中断请求。片行/中断请求。以5中断外,对于8052系列单片机来,片时/计2出中断请求。时中断服务程序过单片机的时T010ms时,再过进行计2s时中断服务程序后,可进行当前的测及显示,根据所测值与设值比较进行控制等。4-4为时T0流程。NY4—4T0二串行口发送/接服务串口通信原:串口通讯对单片机而言意义重大,不但可以现将单片机的数据传输计算机端,而且也能现计算机对单片机的.由于其所需电缆线少,接线简单,所以在较远距,得了广泛的运。以下对串口通信一些需要注意的地方作一点说1。波特率选择波特率(BoudRate)就是在串口通信每能发送的数(bits/second).MCS—51串行端口在作下不的波特率计算方。其,02波特率计算简单,13的波特率选择,在以作1说明串口通信波特率的选择。在串行端口作于/1设置器作于2(自动再加).在下波特率计算公:=D/*1N7TH1—-定时器的重载值.在选择的时候需要考虑两点:首先系统需要的通信速。这要根据系统的运作点,确定通信的范围。然后考虑通信时钟误差。使同一在选择不同的通信速时通信时钟误差会有很大差别。为了通信的稳定我们应该尽量选择时钟误差最小的进行通信。下面举例说明选择过程:假设系统要求的通信20000bit/sz1TH1=256-62500/0048009601920。列计数器重载值表4—1通信误差因此在通信,最好选1202400,4800的一。2.通信协议的使用通信协议是通信设备在通信前的约定。单计有了协议这约定通信明的以进行下一PC单进行通信,在程设计过程有如下约定:0xA1:单P0数据取数据PC;0xA2:单PC一数据;0xA3:单作成功信息。在系统工作过程,单到 PC数据信息后便查找协议完成相应的作。当单到 0xA1时取P0数据取数据PC;当单到0xA2时单等待PC一数据;当PC到 0xA3时就表明单作已经成功。通过单内部的定时器1工作于 8位自重载模,于产生。进入断服务程序后,数据进行取进行判断处.4-5为串断服务程序流程.进入读据N 否命令 Y将据存入寄存
根据命令执行相应操作4-545 DS18B20,,DS18B20DALLAS3T925℃~12℃可编912A/D,可0.0625℃各。DS18B20编序DS18B20:路主机先对DS18B20进行初始化,主DSl820可ROM,然后再发出存储命令如换读暂存机控制DS18B20根据DS18B20初始化时写和读别写5INIT初始化WRITE写(命令或数据)D读据发送4列号和行发送据到C机的然后在主调就可实现和发送.DS18B201.初始化序位CPU500微秒然后释放,DS18B20到信号后待16~60微秒左右,后发出60~240微秒存在低脉冲,CPU信号表示复位。2读序DS18B20从主机把单拉低之后15秒之内就得释放单让DS18B20DS18B20,60us3.DS18B2001060us,DS18B215u45uI0,1,15usDS18B20ROM,DS18B20,DS18B20,ascallPC,4—6示.4-6 三处方法18B20化12存储18B20两8比特RAM中,制中前5是符号,果测050只测0.2即可际;果051测102即可得际.具体:函**********/read_temp(){);/C;/pME;/ ae; /8e; /8位te)/pe/}8]8a1。PWM控制9]为了设计精控仪对电热管的加热功率进行连续控制可采PWMPID器输出与电热管通电控制算法得到的增量式算式 作输出直接改变电热管通断占空比从而可实现对温的精闭环连续控制。图4-7左图单片机输出控信号,经器输出与电热管通电开辟单PWM可加热时间,时间成正比即可实现加热功率的连续调节控制开辟单PWM可加热时间,而关断时间.采将的V单,若为负赋H赋为可以到偏将的单单片机断成10ms时器而关断时间.采将的V单,若为负赋H赋为可以到偏量与电热管加热时间成正比。14137M141350Hz,S0,SM±M电7也存在定±0.5%[10]。但对本系统没什么影响。PWM程序上实现也很简单循环来脉冲如下程序:for(j=0;j〈Time;j++)//Time脉冲(10ms单){if(j〈Out) //Out脉宽变量outp=Jopen; //elseoutp=Jclose; //delay10ms(1);}4。7 PC程序PC程序中。在本MSComm讯MSComm具完善数据发送和此PC以利与其它备实现轻松连简单高效地种处捕获并处讯错及事查询检查属性的值事和错。常属性和法::置或返回端号其值范围19缺省1。Settings置或返回奇偶校验数据停止:0,,”.Portopen:。InputModeInputlenInBufferSizeInBufferCountInput:从接缓冲区中读取数据并清空该缓冲区,该属性设计时无效,运时只读.OutBufferSize:设置返回发送缓冲区的大小,缺省值为512OutBufferCount:设置返回发送缓冲区中等待计算机发送的字符数。Output:向发送缓冲区发送数据,该属性设计时无效,运时只读。Rthreshold:该属性为一阀值。当接缓冲区中字符数达到该值时,MSComm控件CommeventComEvReceiveOnComm户可在OnCommd0m例如户希望接缓冲区中达到一字符就接一Rthreshold1。这样接缓冲区中接到一字符,就产生一次OnCommSthreshold:该属性亦为一阀值.当发送缓冲区中字符数小于该值时,MSComm件设置CommeventComEvSendOnCommSthreshold0OnCommOnCommOnCommSthreshold332MSCommCommeventComEvSendOnCommOnCommOnComm件。CommEvent串OnComm户程序就可在OnComm程序中针对不同的代码,进相应的处。MSCommSelectCaseCOM.ListIndexCase0MSComm1。CommPort=1Case1MSComm1.CommPort=2Case2MSComm1。CommPort=3Case3MSComm1=4EndSelectMSComm1=”9600,n,8,1"’指定端口号(COM)81止位==0 '=1 11=接程序实例:PrivateSubMSComm1_OnComm()SelectCaseMSComm1.CommEventCasecomEvReceiveText1.TextTextMSComm1.InputCaseElseEndSelectEndSub发送程序实例:PrivateSubCommand1_Click()MSComm1.Output=Trim(Text2.Text)EndSub二、绘图模块VBLineCircle[11],还可以利MSChart控件绘制各种图表而本设计就采MSChartMSChart的数据分析图形方面有很大的优势,我们只要将需按图形表示的数据装入数中,将数数据赋MSChart进的图形标、、图例、方面的定,就可以到所的数据分析图形.MSChart:MSChart1MSChart2MSChartVB的因此在前必须程“部添加MSChart添加MSChart控件的选项MicrosoftChartControl60(OLEDB)”VB工具箱中添加了MSChart在窗体中“画MSChart,可到如下图形:1MSChart1)MSChart7.3,MSChartR1R2、R3R4R5,“",。维,则它所形只制出.若维被制直方,则会被逐制直方彩条若维被制圆饼,则会被逐制饼彩色扇形。MSChart二维,则它所形制出多若二维被制直方,则会被逐制直方彩条若二维被制圆饼MSChart制出多圆饼,每会被逐制饼彩色扇形。(2)MSChartChartDataMSChartChartData于存放MSChartChartData的常方法是:程序先形存入,再赋值给MSChart的ChartDataMSChartChartData默认属性,因此该属性编程中省略.MSChart1=xX赋值给MSChart语句。利MSChartChartDataMSChart装入返回总是二维1。例,果要MSChart1装入,就编写下语句:DimarAsVariantarMSChart1ChartData3tMSChartChartType属,MSChart.MSChartChartType.MSChart1Command1Command2,编43x0,1kx,Command2Clickxmx1o41osr xebd)Fori=1To4Forj=1To3x,j=d*NextjNextEndSubebkMSChart1.chartType=VtChChartType2dBarMSChart1=xEndSubebkMSChart1.chartType=VtChChartType2dPieMSChart1=xEndSubCommand1下形:75aet:wwt()。tRowCountMSChartColumnCount:ColumnCountMSChartData:DataChartDataMSChartChartDataDataMSChartRowt、RowCount、Column、ColumnCountDataMSChart可读取表某特13:MSChart1.Row=1=3=2:MSChart,MSChartRRR,MSChartRowLabel“";MSChart所则MSChartColumnLabel“".还必须意当MSChart控ColumnLabelttShowLegend才能显示所(1)RowLabel:RowLabel于MSChartllt(3)ShowLegend:ShowLegend逻辑型当True显示由l识,否则e。3.添加脚:MSChart添加脚应MSChartTitleText和FootnoteText.()TitleTexTitleText于MSChar2)FootnoteTextFootnoteText于MSChar脚。MSChart1TitleText来MSChart1MSChart1.FootnoteText来MSChart1脚。命令按钮[11]模块应命令按钮CommandButton按钮操统应命令按钮命令实能。命令按钮VB应命令,命令按钮来实当然具体产生何种动应事代码来决定命令按钮方法事1nCanceEs”是否等效。Default:是否等效(4)Enabled:被操作当属性值为True,e处2612。2.6Enabledeee默由其nel属性为表面添加图片后述复选框对象选对象也具e关属性DisabledPictureDownPicture属性分别无效时与处状态时图形.除述几十分重要属性外还有一些其它属性,它们作方可同属性。方法SetFocus方对时等同本.,其有一形框见图26的“1”.k行时当时,引发Click,同时驱动系统与此事对应过代码段,温度模块本由本框1.本框本框是一本编辑区可计阶段或期间这区域输入编辑修最大长度.字.来确定框中是否有滚动条。locked。SelStart开始位置第字符0。Selcength长度。标签控件Caption来设置在标签上,,也可以在程序中变信息。Borderstyle属性来设置标签边框型1Font属性来设置标签字体,既可以在创建界面时设定也可以在程序中变。Alignment来设置标签上对齐方式分别是:左对齐0;右对齐1;居中2。Visible,它能设定该控件是否可见。551 51.10100℃以上具有单向滞等点。5152PID定PID原:比例P迅反应误差减小稳误差;比例作大会引起系统不稳定积I作,只要系统有偏差存积作不断积累输以误差;积作会引起大系统分D以减小,系统稳定,系统应速减小系统趋近于0。面PID:、K=5,K=2:0℃)应如5.形以看来于KP D P过大造成过52 K5K5 10℃3来,由P DKP5.3 K2 K=4 (50--6℃)对应的如54由形可以看出,P D由于KD
过小,系统的超调比较大,而且预测性不好造成度长时间超调。54 三四K2K=770—8℃)对应的如55由形可以看出来,P D由于KD
选择适中系统超调很小而且超调维持很短时间就会恢复平衡点。5。5 四K=1.2,K7。P D。AT89C52、处等功能并通过串口通PC进行通PC上进行显示及一些操作,从而使更加直观,使更加方便。主要解决了下几问题:1.硬硬电路,所元器也很少,体积小,重量轻,抗干扰能力强2。实现与PC通进行监控。当然讲也存在着一些不足:电路技术还不够熟电路焊接技术不够熟练,焊接效果较差通RS232RS485通距离将会大大增加但我相,随着PC应不断推广和不断熟基于P度控制将会得到广泛应。:、系统硬件总电路图PCVB界面、单片机程序/***********************/// C/************************///1Ze1。h〉esh〉 )用e#defineucharunsignedchar#defineuintunsignedintsbit ssr=P3^6; //继电器口sbit DQ=P2^7; //输入口structPID{ unsignedintSetPoint; //设定目标//比例常数ProportionalConstunsignedintIntegral; //积分常数IntegralConstunsignedintDerivative; //微分常数DerivativeConstunsignedintLastError; //Error[—1]unsignedintPrevError; //Error[-2]unsignedintSumError; //SumsofErrors;structPIDspid;uinth;uintx=0;uinty=0;uintrout;uintopen=1;uintset_temper;uinttemper;ucharflag=0;ucharm=0;ucharn=0;ucharup=0;//*****//re16]=0x00,0x00,0x01,0x00x020x03,0x03,0x040x00x0,0x060x06,0x00x08,0x08,0x0;re0370x380x3;/ACCII0” ” ” ” 4” "5" ” " ” ”/ra a2={0x000x0; //ra displa5]0x00,0x000x00,0x00,0x0; //4r5} ;*1***/voiddelauintt)t>0;t--}//voidsend_int(voi)TMOD=0x2; //18,TH1=0xfd; //2400TL1=0xf;TH0=0xD8; //0TL0=0xF0;ET0=1; //0ES=1; //EA=1; //SCON=0xd8; //PCON=0x00; //}/********/voidwork_tem{;1]>127)1}elsea]0x0bdispla4]];temp_dat0]&0xf0)41]&0x04//display[3]=display[4]/100;]%0;displa2]=display[/1;displa1=displa11;temper=display[410+displa0];}}//voidsend_str()F];0; //TI=0; ////一符F1;while(TI==0); //TI=0; //SBUF=0x2;0; //I=0; //F0;while(TI==0); //I=0; //0; //位0}/**0**/t(d)r1;)e()DQ=0;dela(5; //;; //66uspresence=DQ; //presence=0继续一步}delay(45); //e=D;}DQ=1;}/****18B20****///1-WIREdrl)r;r;0i—)DQ=1;_nop_;_nop_(;DQ=0;_nop);_nop_(_nop__nop_();_nop_(//5usDQ=val&0x0; //dela6; //66usval=val/2; //}Q=;delay(1);}**01**///ucharread_byte(void)r;re=r-—)(_nop_);1;DQ=0; //_nop);_nop;_nop);_nop_; Q=;_)_//4usi|; //66us}DQ=1;}*****/){t; /0xCC); //SkipROM; // temp_dat0]=read_byte(//8位temp_date; //8位ow_reset();0xCC);//SkipROM0x44); //work_temp(); //}/*****************************///PID/******************/unsignedintPIDCalc(structPID*pp,unsignedintNextPoin)dtr;r=—〉SetPoint-NextPoint//偏差p—SumError+=Erro//积分r=—〉rp—r//当前微分pp—>PrevError=pp—〉LastError;pp-〉LastError=Error;nnr/pp—〉Integral*pp-〉SumError//积项+edErro//微项}/*****************************比较子程序**********************/{unsignedchari;tempe){ir;}else{i++)rout=PIDCalc(spir;/mD}if(open=200)d);else;}}else—{}{i+){t=cd/mD}0)dr0;else;}}}}dttDp){t(tD;}********main(){Disdata=0xff; //;ow_reset(); //write_byte(0xC; //SkipROMwrite_byte(0x4; //t(d;spid。Proportion=1.2; //SetPIDCoefficientsl=;spid。Derivative=7;spid.SetPoint=200;(h〈0h++){} //延时让温度传感器完成send_int();TR0=;TR1=while(1){ p; /0据h〈0h++){} //延时让温度传感器完成i);n==0)send_st(; //1传送温度值}}//定时器0中断程序voidclk_int(void)interrupt1{in)}else{if(x〈;0}}TR0=0;TH0=0XD8;TL0=0XF0;TR0=1;}//串口中断程序voidzhong_int(void)interrupt4{uchartext;if(up==1){RI=0;text=SBUF;temp_5[y]=text;SBUF=text;while(TI==0);TI=0;y++;if(y==5){y=0;m=1;up=0;5[4&0x0f;}}else{RI=0;text=SBUF;if(text==0x41){flag=1;} //1else{if(text==0x43)up=1;}}}//*******************结束**************************//PCDimnAsIntegerDimtAsInteger ‘定义全局变量veub) DimiAsIntegerf((xxt)〈3r(xx)0rx2xt)<0txx,,1)".”Label3。Caption="设定输入错误,不发送”ElseLabel3。Caption=""ten(m(xxt)Case5x8。xt=m(xxt)Case4。t)Case3。Text"t)MSComm1。Output=”C"d=ueEndIfdubveub) 集IfCommand2。Caption采数据"ThenCommand2.Caption="停止采"d=ueMSComm1Output”A”ElseCommand2Caption=”"Timer1.Enabled=FalseMSComm1.Output="B”MSComm1.Output"B”EndIfEndSubebk==IfCommand5.C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/SCIA 002-2024建材产品碳足迹核算与评价技术通则
- T/CECS 10400-2024固废基胶凝材料
- T/CHCA 009-2024道路地下病害雷达检测评估规程
- 上海初中试卷题库及答案
- 上海二中数学试题及答案
- 股东会股权转让协议书范本8篇
- 律师代理关系解除合同7篇
- 自有场地承租合同7篇
- 个人财产抵押贷款合同6篇
- 货物供给合同书4篇
- 2024年山东省济南市中考英语试题卷(含答案解析)
- 技术保障管理制度
- 【MOOC】中西医结合儿科学-河南中医药大学 中国大学慕课MOOC答案
- 2023年驾驶台资源管理真题模拟汇编(共873题)
- 2025中考英语作文预测:19个热点话题及范文
- 黑龙江省龙东地区2024-2025学年高二上学期阶段测试(二)(期中)英语试卷(含答案)
- 《班组安全培训》课件
- 2025年中考道德与法治时政热点专题复习:凝聚榜样力量 坚定文化自信(含练习题及答案)
- DB11-T 584-2022 薄抹灰外墙外保温工程技术规程
- 老年痴呆症的护理
- 2024秋期国家开放大学本科《中国当代文学专题》一平台在线形考(形考任务一至六)试题及答案
评论
0/150
提交评论