欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
基于單片機設(shè)計的半導(dǎo)體制冷系統(tǒng)程序(含PID較正)
[打印本頁]
作者:
18312284784
時間:
2019-5-3 17:07
標(biāo)題:
基于單片機設(shè)計的半導(dǎo)體制冷系統(tǒng)程序(含PID較正)
設(shè)計要求:
1.利用4*4矩陣鍵盤進(jìn)行溫度任意設(shè)定
2.利用PID控制實現(xiàn)PWM控制,驅(qū)動H橋電路,使制冷片工作
3.利用18b20顯示系統(tǒng)實時溫度值
4.利用1cd1602進(jìn)行鍵盤輸入值顯示,時間顯示
單片機源程序如下:
#include <reg52.h>
#include <math.h>
#include "anjian.h"
#include "1602.h"
#include "18b20.h"
#include "anjian.c"
#include "1602.c"
#include "18b20.c"
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define LCD_COM 0
#define LCD_DAT 1
#define tpwnsum (5000)
#define THR1 (-tpwnsum)
#define THR0 (-50000)
/***********************************/
uint T = 0;
/************************************/
float idata temp,key,sum=0,anjian=0;
char e=0;
sbit pwm=P3^6;
void T_1() //T1初始化
{
EA=1;
TMOD|=0x10;
ET1=1;
TH1=THR1/256;
TL1=THR1%256;
TR1=1;
}
void Delay1ms(unsigned int n)
{
unsigned int i,j;
for(i=n;i>0;i--)
for(j=112;j>0;j--);
}
void T_0() //T0初始化
{
TMOD=0X01;
EA=1;
TR0=1;
ET0=1;
TH0=THR0/256;
TL0=THR0%256;
}
void main(void)
{
uchar k;
uchar i=0,j=0,flag=0;
float x=0,y=0,w=0;
Delay1ms(10);
anjian=000;
T_0();
T_1();
LCD_Initial();
GotoXY(0,0);
Print("shuru:");
GotoXY(1,0);
Print("sc: C");
while(1)
{
k=key1();
if(((k>=0)&&(k<=10)))
{
if(k==10)
{
if(i!=0)
if(flag==0)
{
GotoXY(0,6+i);
LCD_WRITE('.',LCD_DAT);
flag=1;
i++;
}
}
else
{
lcd_word(0x86+i,k);
if(flag==0)
x=x*10+k;
else
{
y=y*10+k;
j++;
}
i++;
}
}
if(k==15)
{
w=x+y/pow(10,j);
anjian=w;i=0,j=0;
x=0,y=0,w=0;
flag=0;
GotoXY(0,6);
Print(" ");
}
disp(0x8b,anjian);
disp(0xc3,temp);
}
}
/* PID較正*/
float idata e0,e1,e2;
int kp=1,ki=200,kd=1;
float U;
float D;
unsigned int Higt;
unsigned int low;
void T0down() interrupt 1 //T0中斷
{
TH0=THR0/256;
TL0=THR0%256;
temp=readtemp()/10.0;
e2=e1; //e2=e1;e1=e0 順序不能換過來,不然往下看三行,有詳細(xì)解析
e1=e0;
e0=anjian-temp;
U=kp*(e0-e1)+ki*e0+kd*(e0-2*e1+e2); //如果上面的e2=e1;e1=e0換成 e1=e0; e2=e1 ,則u=ki*e0 ,對kp和kd木有關(guān)系了,PID算法不準(zhǔn)確
//且是增量型PID算法
if(anjian>=temp)
{
TR1=0; //關(guān)中斷
pwm=0;
}
else
{
D=abs(U)/100.0;
if(D>0.95)D=0.95;
if(D<0.05)D=0.05;
Higt=D*tpwnsum;
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
keshe終極版.rar
(201.44 KB, 下載次數(shù): 78)
2019-5-3 17:07 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
51hei團(tuán)團(tuán)
時間:
2019-5-5 22:10
好資料,51黑有你更精彩!!!
作者:
niute
時間:
2019-5-14 19:21
注釋再多一點就好了
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1