资源描述:
《模糊pid控制温控系统的设计c语言程序代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、../********************************************************************模糊PID控制温控系统仿真设计C程序代码********************************************************************/#include#defineucharunsignedchar#defineuintunsignedint#definePULSE200#definenumber0.035sbit
2、SDO=P2^0;sbitSDI=P2^1;sbitCS=P2^2;sbitCLK=P2^3;sbitEOC=P2^4;sbitRS=P2^5;sbitRW=P2^6;sbitEN=P2^7;sbitKEY1=P3^0;sbitKEY2=P3^1;sbitKEY3=P3^2;sbitKEY4=P3^3;sbitKEY5=P3^4;sbitIN1=P3^5;sbitIN2=P3^6;sbitENA=P3^7;ucharflag;ucharflag_start;floatS_temp=60.0;floatP_temp=
3、20.0;floatKp;floatKi;floatKd;floatErr=0.0;floatLast_Err=0.0;floatD_Err=0.0;floatSum_Err=0.0;floatU=0.0;/******************************函数功能:延时******************************/voiddelay_ms(ucharz){资料..uchari;ucharj;for(i=z;i>0;i--)for(j=360;j>0;j--);}voiddelay_us(
4、ucharz){uchari;for(i=z;i>0;i--);}voidLCD_WriteData(ucharDat){RS=1;P1=Dat;delay_us(10);EN=1;delay_us(10);EN=0;}voidLCD_WriteCOM(ucharcom){RS=0;P1=com;delay_us(10);EN=1;delay_us(10);EN=0;}voidShow_Num(ucharx,uchary,ucharn,floatnum){uchara[3];uchari;uintTemp;Temp
5、=(int)num;for(i=0;i0;i--)LCD_WriteData(a[i-1]+0x30);}voidShow_Ki(ucharnum_Ki){ucharTemp;num_Ki=Ki*100;Temp=(uchar)num_Ki;Show_Num(10,2,1,Temp%10);Temp
6、=Temp/10;Show_Num(9,2,1,Temp%10);Temp=Temp/10;Show_Num(7,2,1,Temp);}voidShow_char(ucharx,uchary,ucharch){if(y%2==1)LCD_WriteCOM(0x80+x);elseLCD_WriteCOM(0x80+0x40+x);LCD_WriteData(ch);}voidLCD_Init(void){RW=0;EN=0;LCD_WriteCOM(0x38);LCD_WriteCOM(0x0c);LCD_Writ
7、eCOM(0x06);LCD_WriteCOM(0x01);}/***********************************函数功能:显示函数*************************************/voidLCD_display(void){Show_char(1,1,'T');delay_us(10);Show_char(0,1,'P');资料..delay_us(10);Show_char(1,1,'T');delay_us(10);Show_char(2,1,':');delay
8、_us(10);Show_Num(3,1,3,P_temp);delay_us(10);Show_char(10,1,'S');delay_us(10);Show_char(11,1,'T');delay_us(10);Show_char(12,1,':');delay_us(10);Show_Num(13,1,3,S_temp);delay_us(10);