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

51单片机温控器PID程序

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
/*****************************************************/& W, I! k* ?+ b# g% H9 U% i" j& ?
/*采用AT89C51为主控制芯片*/. X5 L- X3 ~7 e7 F6 W( K/ F( W5 h
/*P0口为数码管的段选口,P2.4~P2.7为位选口*/
) ?1 E1 Z2 e8 A2 i. H/*DS18B20的DQ接P2.3,12MHZ晶振*/9 X* E$ g  [, s" w  B6 E% o
/*P2^2,PWM控制脚*/
* o" r  {: i- s; [1 L/*****************************************************/! w# d% o! R0 J0 N5 i
#include<reg51.h>+ Z" G) U2 _% F" k/ z8 f
#define Kp 1        //比例系数
" x) I" `1 }( w$ L6 K#define Ki 0.25 //积分系数
- `3 `0 B7 S/ V0 \$ {; u9 d#define Kd 1        //微分系数
0 j, x, N% ]" L" y1 ]! Q$ b0 ?0 p% Q# S/ K( p
unsigned char m,n,p;                          //温度的十位 个位 小数
9 c; o) L% ^; p; \6 q  @; Hunsigned char test_temp;                //温度检定标志
- q3 c7 j+ i1 T% punsigned char key_set_flag;                //按键设定进入标志% E+ a8 p$ d0 X7 F4 U* }
unsigned char key_hold;                        //按键保持标志+ A5 L3 v' ]2 R
unsigned char Change_step=1;        //温度设置步进
8 y3 m) |7 X1 F( W2 Wint Real_temp;                //实际温度值
6 O3 O. g* f  \/ M7 Y8 zint Set_temp;                //设置温度
! _0 ^+ f7 H" @' s, Lint Disp_temp;                //显示温度
. H9 @6 ~) a# B8 g1 Zint last_error;                //上次误差
& {* A4 J( L, A) x. s" |float I_term;                //前面温差和( L7 N# t: p* E3 G
! K) K6 X% J/ g7 ?$ B0 {
int PID_MAX;1 v) x' D' v8 ^% ?8 C
unsigned int out,PWMT,counter;
  ^+ m$ z, w3 k8 x# }5 |4 B& R4 Hint time;        //可控硅脉冲触发时刻* F, T5 h/ h- N% ^: S/ ^5 ~) Y% I
& g/ q& p3 ], O
sbit DQ=P2^3;        //定义DS18b20的管脚
9 U9 V5 e8 G- C# c" o; o7 }/ jsbit L1=P2^7;        //定义控制数码管的管脚
- }) M" C" ~1 m9 }9 `: Qsbit L2=P2^6;/ ?& H) E0 Z3 O3 h; o
sbit L3=P2^5;
# A& a- W& V* ^7 G+ T6 vsbit L4=P2^4;+ K0 V# Y  T% B5 m
sbit PWM=P2^2;        //PWM控制脚* \7 p5 C) X) j+ s% E: Z
% u1 X+ }0 t8 p# E+ z  D: W$ R
unsigned char table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,
* B0 {0 m* y6 K7 v4 W1 Y5 i4 S0x82,0xF8,0x80,0x90,0x7F,0xbF,0xC6};//0-9数字,后面为". - C"
" O% z4 {) F2 W6 _
游客,如果您要查看本帖隐藏内容请回复

! R. c, t, n% Y3 p# ], |; y( c2 n0 e

该用户从未签到

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

该用户从未签到

7#
发表于 2021-7-17 08:02 | 只看该作者
哈哈哈。。看看学习学习
% Y4 W1 P  F# K

该用户从未签到

8#
发表于 2021-7-24 11:30 | 只看该作者
不错的算法!7 A" s$ O; E# `  X9 u9 O4 x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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