找回密码
 注册
关于网站域名变更的通知
查看: 858|回复: 7
打印 上一主题 下一主题

51单片机温控器PID程序

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-1-6 10:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
/*****************************************************/
) h0 {9 H' C6 r: e& [7 J3 w/*采用AT89C51为主控制芯片*/; G& J# V6 m  V
/*P0口为数码管的段选口,P2.4~P2.7为位选口*/
$ b, N* x: r% g% G9 W- ^* r/*DS18B20的DQ接P2.3,12MHZ晶振*/
5 B4 ~+ D( \, }* d/*P2^2,PWM控制脚*/) V- _. u9 P2 y' S5 F2 ^
/*****************************************************/
" C0 O* j) Q, P& L#include<reg51.h>
0 N& u9 V, w  E* f0 u. |2 y$ }#define Kp 1        //比例系数 & _+ q8 C& C9 K" Q, ~
#define Ki 0.25 //积分系数
7 ~; [0 J9 w, R1 J% o# T; U! L#define Kd 1        //微分系数
' |" ]& [: C6 f" e. K* i3 T$ n* W1 ~( a  j
unsigned char m,n,p;                          //温度的十位 个位 小数
  Y% @* o! l/ s& eunsigned char test_temp;                //温度检定标志7 R1 ?) U5 I; p+ Y. d0 @% U+ P' Q
unsigned char key_set_flag;                //按键设定进入标志
. q* X' \& K% y* c0 G- o8 H' Dunsigned char key_hold;                        //按键保持标志# h  C& h* @7 W0 H! l( p
unsigned char Change_step=1;        //温度设置步进
6 o5 v1 u  h7 q& Bint Real_temp;                //实际温度值) P: U; ?- o% Q. j! Y. y5 d
int Set_temp;                //设置温度
  h- n: _" l# G" sint Disp_temp;                //显示温度
) r5 B; V8 e- v" m2 h0 \# }int last_error;                //上次误差& v7 B( c, ]$ D* l0 }
float I_term;                //前面温差和& O3 ?# D2 ?+ I% g% G+ n! y
6 C7 d& I2 ~4 C3 M, n3 m
int PID_MAX;
, ^  v+ _7 M1 G0 D. L8 Q' [. Punsigned int out,PWMT,counter;1 W- P, N" H0 _
int time;        //可控硅脉冲触发时刻! k$ k. i6 a6 X: c$ a: \! v1 F
- u# v9 _. a: i
sbit DQ=P2^3;        //定义DS18b20的管脚
, f6 e3 w6 [, B5 Ysbit L1=P2^7;        //定义控制数码管的管脚
. y2 Q0 S; S/ G' E8 [$ t2 Msbit L2=P2^6;
- K" g+ {2 H) X! f& D) c$ t. o  \( rsbit L3=P2^5;
! u' J) X% E$ f& S8 F; d3 ?sbit L4=P2^4;0 b* ?/ G# E' E, A" p1 F3 d  ]" V
sbit PWM=P2^2;        //PWM控制脚5 r5 L; N# V$ v  |1 s* f+ |/ E, w

5 D8 |5 o. ^5 V5 K) O$ k( p% |unsigned char table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,
; q" z$ y( j+ c& K- G4 |0x82,0xF8,0x80,0x90,0x7F,0xbF,0xC6};//0-9数字,后面为". - C"* x5 d1 v/ J% S# O2 r
游客,如果您要查看本帖隐藏内容请回复

  `: t' J1 x) u# M2 i  O9 u, N$ K. D$ N) p

该用户从未签到

2#
发表于 2020-1-6 18:33 | 只看该作者
不错的算法!

该用户从未签到

7#
发表于 2021-7-17 08:02 | 只看该作者
哈哈哈。。看看学习学习: j9 n) U& s6 u% n) f

该用户从未签到

8#
发表于 2021-7-24 11:30 | 只看该作者
不错的算法!% X  i: ^  B9 Y6 @  ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-21 21:44 , Processed in 0.078125 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表