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

51单片机温控器PID程序

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
/*****************************************************/+ S+ q( \# R3 F) C& a+ X5 _
/*采用AT89C51为主控制芯片*/; i# ]% O& i# N' @8 n% `
/*P0口为数码管的段选口,P2.4~P2.7为位选口*/
! p" Y( D* \2 E  y7 l; C, m/*DS18B20的DQ接P2.3,12MHZ晶振*/
7 i4 s  \! z' o8 O. H* ?' j/*P2^2,PWM控制脚*/
/ [, r2 p7 j' e# Q; m' r% W5 j1 l2 X  [/*****************************************************/5 F) ?8 }' s+ z& J3 z) W0 L/ E
#include<reg51.h>! q5 j% U5 H) n. t1 E! r+ ^
#define Kp 1        //比例系数 ! J* E2 J& R* l$ g( F  S% M1 q
#define Ki 0.25 //积分系数) ?+ y9 }( \' g1 L8 T1 G6 E2 J' e
#define Kd 1        //微分系数
2 C9 Q; Y% R3 {: F4 B/ t, m3 {4 I% D( R
unsigned char m,n,p;                          //温度的十位 个位 小数* {6 V; _# X+ B/ Q  A/ W% a0 A
unsigned char test_temp;                //温度检定标志, c- h. M0 j7 m( }
unsigned char key_set_flag;                //按键设定进入标志
0 J( E1 }, W, M7 g% uunsigned char key_hold;                        //按键保持标志
8 R& e4 K+ ^$ f. h) Vunsigned char Change_step=1;        //温度设置步进
# P* D3 n6 O1 b  k2 }int Real_temp;                //实际温度值
- `' Y( Y! @& D: R( Cint Set_temp;                //设置温度$ ?8 a4 y/ k8 G, ]  E% L
int Disp_temp;                //显示温度
6 o' B: ]- M7 r3 \$ Iint last_error;                //上次误差
+ H2 S* J  W1 J, B2 B. `float I_term;                //前面温差和+ ]: F) F0 r6 ?" J8 [. G+ [% I

  R9 C1 F" q: y" o! W2 s3 v7 ?int PID_MAX;
2 ~8 z/ F: v+ G7 g( x7 ~  gunsigned int out,PWMT,counter;
* r8 m& }. Q5 v* F- k* u/ _/ Vint time;        //可控硅脉冲触发时刻
: A2 [: x) y7 A
7 {+ _: P' W+ ~9 f9 V3 W1 _sbit DQ=P2^3;        //定义DS18b20的管脚" T! J! Z1 y1 e
sbit L1=P2^7;        //定义控制数码管的管脚% F2 k/ J2 d2 Q% G
sbit L2=P2^6;- \* f$ Y0 K7 k5 z: S5 I/ ~6 q
sbit L3=P2^5;
; l1 ?' b2 y4 a; B- B2 s/ Wsbit L4=P2^4;
* r- d' l0 g# J5 Dsbit PWM=P2^2;        //PWM控制脚' v* l4 y' z9 r2 A

4 X" Z; s0 a& [7 Eunsigned char table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,( |/ C% e1 j# ~2 l2 P1 O' U
0x82,0xF8,0x80,0x90,0x7F,0xbF,0xC6};//0-9数字,后面为". - C"$ @4 T" i' ^4 Z
游客,如果您要查看本帖隐藏内容请回复
" y- W' s. @7 Z& F( E" F

7 {9 _1 V; }+ d6 m9 Q9 H7 Z

该用户从未签到

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

该用户从未签到

7#
发表于 2021-7-17 08:02 | 只看该作者
哈哈哈。。看看学习学习
5 P- }' l( y) n1 r  q* H. i

该用户从未签到

8#
发表于 2021-7-24 11:30 | 只看该作者
不错的算法!
2 P; E3 l* R/ Z1 T: m, v( X
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-18 06:00 , Processed in 0.109375 second(s), 26 queries , Gzip On.

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

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

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