91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

基于STC系列單片機完成,溫度傳感器利用的是負溫度系數熱敏電阻,通過PID算法進行溫度控制,輸出為PWM波,利用三位數碼管進行溫度顯示,包括三個按鍵,設定鍵,溫度增加和溫度減小。

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?“string.h“
#include?“Stdio.h“
#include?“absacc.h“

#define?uchar?unsigned?char
#define?uint?unsigned?int

uint?h_val;??
uint?l_val;
float?temp;?

float?temperature;
unsigned?int?rout;?//?PID?Response?(Output)?
unsigned?int?rin;?//?PID?Feedback?(Input)
unsigned?int?temper;

unsigned?int?cool_count=0;
unsigned?int?set_temper;
unsigned?int?set_temperl;
unsigned?int?set_temperh;
uint?warm_num=0;
uint?cool_num=0;
char?control=0;
sfr?INT_CLKO?=?0x8f;

//看門狗
sfr?WDT_CONTR=0xC1;
//declear?SFR?associated?with?the?IAP
sfr?IAP_DATA=0xC2;
sfr?IAP_ADDRH=0xC3;
sfr?IAP_ADDRL=0xC4;
sfr?IAP_CMD=0xC5;
sfr?IAP_TRIG=0xC6;
sfr?IAP_CONTR=0xC7;
//declear?EEPROM?command
#define?CMD_IDLE?0
#define?CMD_READ?1
#define?CMD_PROGRAM?2
#define?CMD_ERASE?3
//define?EEPROM?operation?const?for?IAP_CONTR
#define?ENABLE_IAP?0x83
//Start?address?for?EEPROM
#define?IAP_ADDRESS?0x000

//?DISABLE?EEPROM?FUNCTION
void?IapIdle()
{
IAP_CONTR=0;
IAP_CMD=0;
IAP_TRIG=0;
IAP_ADDRH=0x80;
IAP_ADDRL=0;
}

//PROGRAM?ONE?BYTE?TO?EEPROM?AREA
void?IapProgramByte(uint?addruchar?dat)
{
IAP_CONTR=ENABLE_IAP;
IAP_CMD=CMD_PROGRAM;
IAP_ADDRL=addr;
IAP_ADDRH=addr>>8;
IAP_DATA=dat;
IAP_TRIG=0x5a;
IAP_TRIG=0xa5;
_nop_();
IapIdle();
}

//ERASE?ONE?SECTOR?AREA
void?IapEraseSector(uint?addr)
{
IAP_CONTR=ENABLE_IAP;
IAP_CMD=CMD_ERASE;
IAP_ADDRL=addr;
IAP_ADDRH=addr>>8;
IAP_TRIG=0x5a;
IAP_TRIG=0xa5;
_nop_();
IapIdle();
}

//READ?one?BYTE?FROM?EEPROM?AREA

uchar?IapReadByte(uint?addr)
{
uchar?dat;

IAP_CONTR=ENABLE_IAP;
IAP_CMD=CMD_READ;
IAP_ADDRL=addr;
IAP_ADDRH=addr>>8;
IAP_TRIG=0x5a;
IAP_TRIG=0xa5;
_nop_();
dat=IAP_DATA;
IapIdle();
return?dat;
}

//
//定義數碼管顯示
sbit?LCD_dig1?=?P2^0;?????????????
sbit?LCD_dig2?=?P2^2;
sbit?LCD_dig3?=?P2^1;
sbit?DS?=?P3^7;?????????????
sbit?ST?=?P3^4;
sbit?SH?=?P3^5;
sbit?cool?=?P2^5;
sbit?warm?=?P2^6;
sbit?led?=?P2^7;
sbit?key0=P3^2;
sbit?key1=P3^3;
sbit?key2=P3^6;

struct?PID?{
unsigned?int?Proportion;?//?比例常數?Proportional?Const
unsigned?int?Integral;?//?積分常數?Integral?Const
unsigned?int?Derivative;?//?微分常數?Derivative?Const
unsigned?int?LastError;?//?Error[-1]
unsigned?int?PrevError;?//?Error[-2]
};
xdata?struct?PID?spid;?//?PID?Control?Structure

//AD供電后延時
void?YS14520us(void)???
{
????unsigned?char?abc;
????for(c=2;c>0;c--)
????????for(b=238;b>0;b--)
????????????for(a=90;a>0;a--)?;
???????????????

}
/*************************延時**************************************/
void?delay1(int?ms)
{
???unsigned?char?y;
???while(ms--)
???{
?????for(y?=?0;?y<250;?y++)
????{
??????_nop_();
??????_nop_();
??????_nop_();

????}
???}
}


//數碼管表
idata?uchar?LCD_table[]={0x030x9f0x250x0d0x990x490x410x1f0x010x090x020x9e0x240x0c0x980x480x400x1e0x000x08} ;

評論

共有 條評論