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

51单片机温控器PID程序

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
/*****************************************************/
# R0 O9 r7 V+ s& H) ?/*采用AT89C51为主控制芯片*/
7 b+ F$ G- \3 b3 K* o1 o/*P0口为数码管的段选口,P2.4~P2.7为位选口*/
" k" c* J( r/ T: m( j/*DS18B20的DQ接P2.3,12MHZ晶振*/% h! h0 f3 E$ ~3 y0 I
/*P2^2,PWM控制脚*/
- Q1 J9 ]5 o* M3 a8 @4 d& p$ n/*****************************************************/) U- F( a' y' P
#include<reg51.h>
/ K* J; \, F( P9 _& q$ D% J#define Kp 1        //比例系数 7 Q7 e6 i0 o5 I5 @$ Y6 K( I1 z5 K
#define Ki 0.25 //积分系数
6 F: N, J# `' G#define Kd 1        //微分系数/ {' h0 z6 R: B4 X
' B1 m) ^5 h' C7 L
unsigned char m,n,p;                          //温度的十位 个位 小数
3 K: X% o! T' j! B5 R* kunsigned char test_temp;                //温度检定标志
* f. _' j- H7 Uunsigned char key_set_flag;                //按键设定进入标志8 o: v9 L* P  Q: ~4 P) Y& b, K$ G
unsigned char key_hold;                        //按键保持标志
$ Y: c: E9 i/ X4 I% r& Qunsigned char Change_step=1;        //温度设置步进
( v5 r5 c9 S/ H; B8 K: Z) Lint Real_temp;                //实际温度值
) a- [8 w) w! l) y/ @( bint Set_temp;                //设置温度
% E9 O6 o5 n. B6 \7 B9 N. _int Disp_temp;                //显示温度
# }9 x  o6 q# n6 i: Eint last_error;                //上次误差
- l) R& N+ ?; {& K' b; U: Z5 Z0 Vfloat I_term;                //前面温差和7 I/ B' ^" a6 M( B* ?4 V) ?+ g

! ^0 F. [) B( P: I7 \3 u8 Aint PID_MAX;- Q% q& X  U/ [* K$ V9 y8 p
unsigned int out,PWMT,counter;
" ]! x- e1 _) A3 H; Wint time;        //可控硅脉冲触发时刻/ z( m% M) a# X2 U; D+ U4 u& E/ ^9 B

6 B$ h0 E7 _6 ]/ q" r* V2 ^, o  Dsbit DQ=P2^3;        //定义DS18b20的管脚$ f2 q. O5 v+ J/ N) ^
sbit L1=P2^7;        //定义控制数码管的管脚, Z4 o( g$ O- Q' f/ \" j
sbit L2=P2^6;
# y, i) }3 n3 p4 `5 \/ [" P8 y; ssbit L3=P2^5;; Y1 J- U  U2 M9 T- H7 T: L
sbit L4=P2^4;& t% |$ g) \1 k: q- N& X: N' e! ~
sbit PWM=P2^2;        //PWM控制脚
6 s0 N* h, @* D, `7 p
5 b7 K7 N% E6 {" u, R7 x+ cunsigned char table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,
% Q% @; K4 j1 D. Z, y0x82,0xF8,0x80,0x90,0x7F,0xbF,0xC6};//0-9数字,后面为". - C"$ i4 @3 m0 \$ `" i1 Y
游客,如果您要查看本帖隐藏内容请回复
$ D( A1 v# \& n! q

2 n% v- p5 O9 E  g

该用户从未签到

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

该用户从未签到

7#
发表于 2021-7-17 08:02 | 只看该作者
哈哈哈。。看看学习学习. `' R- I3 P0 r1 G

该用户从未签到

8#
发表于 2021-7-24 11:30 | 只看该作者
不错的算法!
) e! i# }7 ]1 s2 B0 j+ E, }
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-4 11:09 , Processed in 0.140625 second(s), 27 queries , Gzip On.

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

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

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