| 
 | 
	
    
 
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 |   
 
 
 
 |