找回密码
 注册
查看: 825|回复: 7
打印 上一主题 下一主题

51单片机温控器PID程序

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
/*****************************************************/
0 F) l' W) x' T+ S/*采用AT89C51为主控制芯片*/' t( g3 ^7 O; q1 _* E/ Y5 z$ l) d4 O
/*P0口为数码管的段选口,P2.4~P2.7为位选口*/
5 R+ l$ J, o  R4 |/*DS18B20的DQ接P2.3,12MHZ晶振*/2 x8 w1 G) s/ e) O% U
/*P2^2,PWM控制脚*/
/ r1 V6 u5 C' c: o$ U. V& p/*****************************************************/
; {! i* u! a0 T+ }, ^# b" U# H! Y#include<reg51.h>) q+ _$ {& I0 K; P! X+ c8 {
#define Kp 1        //比例系数
* L- z: W1 Y- g4 {9 L! W#define Ki 0.25 //积分系数
% @$ C* c  B9 W8 X% ~3 ]#define Kd 1        //微分系数2 M4 N% b+ a, H
  M- b5 [1 p' Q( j$ p9 H* c& p& y! C1 m
unsigned char m,n,p;                          //温度的十位 个位 小数& B+ K' v2 F( U; z$ F
unsigned char test_temp;                //温度检定标志$ y  p1 T: k+ a# c  G9 S0 t
unsigned char key_set_flag;                //按键设定进入标志  |$ s  U. s- _8 v) t9 a* `
unsigned char key_hold;                        //按键保持标志
: \& L$ u' b$ h  yunsigned char Change_step=1;        //温度设置步进
" \- }; @1 z4 H- G& iint Real_temp;                //实际温度值
+ A1 e) f/ T/ r- c9 |int Set_temp;                //设置温度3 W. y& H* J& S/ h1 _" X* h  e
int Disp_temp;                //显示温度
& F0 i& ^/ i) k; z, _; ?; v" @) p$ lint last_error;                //上次误差
+ @2 x+ ~! V6 T9 j4 Z# u. O- y4 _float I_term;                //前面温差和% ]0 j  ?, @3 H

/ E% S; i1 c2 E5 ~1 n" h9 G  Nint PID_MAX;
  i* c& W5 G* y, a5 j6 Wunsigned int out,PWMT,counter;$ D1 Z7 P1 n& y# I7 g3 P9 I% c
int time;        //可控硅脉冲触发时刻8 i% r; r: y7 j2 G8 A

9 T4 L. c% x/ ^4 S3 a# Y! ssbit DQ=P2^3;        //定义DS18b20的管脚
1 O. ]( G6 O. P- O- lsbit L1=P2^7;        //定义控制数码管的管脚
2 c8 @+ q5 u8 O# @0 Osbit L2=P2^6;
* _- \" u7 n5 v- S% ~! @sbit L3=P2^5;2 O! Y+ `4 t/ ~
sbit L4=P2^4;, A% ^9 Z& U  e5 {
sbit PWM=P2^2;        //PWM控制脚
; ~' J: j. K0 D
9 r" Z9 y6 x% R1 O. r0 Qunsigned char table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,
2 b. P/ r" x) }! j5 N$ U) \0x82,0xF8,0x80,0x90,0x7F,0xbF,0xC6};//0-9数字,后面为". - C"4 U% t, o( b! V* x8 b; M) C
游客,如果您要查看本帖隐藏内容请回复
. \" P' o# V/ p% E; ~

; s* u  c. G% B6 {

该用户从未签到

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

该用户从未签到

7#
发表于 2021-7-17 08:02 | 只看该作者
哈哈哈。。看看学习学习
/ A8 f  u$ B6 D& N0 d9 C

该用户从未签到

8#
发表于 2021-7-24 11:30 | 只看该作者
不错的算法!( N: }. c# v, _" Y  D2 m  A
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-5-26 03:23 , Processed in 0.078125 second(s), 26 queries , Gzip On.

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

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

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