?? microt02.h
字號:
#ifndef _MicroT02_H_
#define _MicroT02_H_
/*
華氏度(Fahrenheit) 和攝氏度(Centigrade)都是溫度單位。包括我國在內(nèi)的世界上很多國家都使用攝氏度,
美國和其他一些英語國家使用華氏度而較少使用攝氏度。
華氏度以其發(fā)明者Gabriel D. Fahrenheir(1681-1736)命名,其冰點是32°F,沸點為212°F。
攝氏度的發(fā)明者是Anders Celsius(1701-1744),其冰點是0°C,沸點為100°C。
兩者的換算公式:
C=5/9(F-32)
F=9/5C+32
注:C代表攝氏度;F代表華氏度
$sDegree=($input-32)*5/9;
$hDegree=$input*9/5+32;
*/
//-------------------------------------------------------------------------------
//-------------------------------------------------------------------------------
typedef struct {
unsigned BIT0: 1;
unsigned BIT1: 1;
unsigned BIT2: 1;
unsigned BIT3: 1;
unsigned BIT4: 1;
unsigned BIT5: 1;
unsigned BIT6: 1;
unsigned BIT7: 1;
}PICCBIT;//定義一個只能按位域尋址的新變量類型
typedef union {
PICCBIT BIT;//可以按位域尋址
unsigned char BYTE;//可以按字節(jié)尋址
}PICCBITBYTE;//定義一個既能按位域尋址也可按字節(jié)尋址的新變量類型
typedef struct {
unsigned char ByteL;
unsigned char ByteH;
}PICCWORD;//定義一個只能按字節(jié)尋址的新變量類型
typedef union {
PICCWORD WORD ;//可以按字節(jié)尋址
unsigned int PICINT;//可以按整型數(shù)尋址
}PICCWORDINT;//定義一個既能按字節(jié)尋址也可按整型尋址的新變量類型
typedef struct {
unsigned char Byte4;
unsigned char Byte3;
unsigned char Byte2;
unsigned char Byte1;
}PICCLong;
typedef union {
PICCLong MyLong ;//可以按字節(jié)尋址
unsigned long int MyLongInt;//MyLongInt=Byte1Byte2Byte3Byte4 可以按長整型尋址
}PICCMyLong;//定義一個既能按字節(jié)尋址也可按長整型尋址的新變量類型
//-------------------------------------------------------------------------------
#define pLedCom3 RA0 // 輸出低電平點亮 SEG要輸出高亮
#define pVoltageIn RA1 //12V電壓采集輸入
#define pSensorIn RA2 //傳感器采集輸入
#define pModelIn RA3 // *只能輸入用 型號輸入
#define pLedSegA RA4 //
#define pKeyInK1 RA4
#define pLedCom1 RA5 //
#define pHotOut RB4 //
#define pColdOut RB5 //
#define pFanOut RB6 //
#define pLedSegF RB7 //
#define pKeyInK2 RB7
#define pKeyInK4 RC0 //按鍵 溫度調(diào)節(jié)K4
#define pKeyInK3 RC1 //按鍵 開關K3
#define pLedSegG RC2
#define pLedSegE RC3 //
#define pLedSegC RC4 //同時為C的符號控制 =1輸出
#define pLedSegB RC5 //同時為F的符號控制 =1輸出
#define pLedSegD RC6 //
#define pLedCom2 RC7 //
#define pTrisK2 TRISB7
#define pTrisK1 TRISA4
PICCBITBYTE rKeyFlag;
PICCBITBYTE rWorkFlag;
PICCBITBYTE rPORT6;
PICCBITBYTE rErrFlag;
//********************************************
#define fFanOut rPORT6.BIT.BIT6
#define fColdOut rPORT6.BIT.BIT5
#define fHotOut rPORT6.BIT.BIT4
#define fModeDH01 rPORT6.BIT.BIT3
#define fSelfTest rPORT6.BIT.BIT2 //自檢狀態(tài)
#define fNegVol rErrFlag.BIT.BIT0 //電源反接狀態(tài)
#define fSenError rErrFlag.BIT.BIT1 //傳感器故障
#define fTempMax80 rErrFlag.BIT.BIT2 //傳感器溫度超過80
#define fInVolDown rErrFlag.BIT.BIT3 //處于低電壓狀態(tài)
#define fInVolHigh rErrFlag.BIT.BIT4 //處于高電壓狀態(tài)
#define fPowerUp rWorkFlag.BIT.BIT0 //上電完成開始工作
#define fPowerOn rWorkFlag.BIT.BIT1 //1=系統(tǒng)開機狀態(tài)
#define fFDisp rWorkFlag.BIT.BIT2 //華式溫度顯示 (99-32)*5/9=
#define fVolDown rWorkFlag.BIT.BIT3 //檢測到低電壓 進入延時
#define fVolHigh rWorkFlag.BIT.BIT4 //檢測到高電壓 進入延時
#define fOnDelay rWorkFlag.BIT.BIT5 //已延時等待嗎?
#define fTempSetS rWorkFlag.BIT.BIT6
#define fFlash rWorkFlag.BIT.BIT7
#define fNeedSaveE2 rKeyFlag.BIT.BIT0 //需要保存數(shù)據(jù)到E2Prom中
#define fkeyprocess rKeyFlag.BIT.BIT1 //按鍵有效標志,為1時對按鍵執(zhí)行
#define fkeyesc rKeyFlag.BIT.BIT2 //為0,按鍵已釋放 1為按鍵未釋放
#define fInqPOwerOn rKeyFlag.BIT.BIT3 //上次再開機過程中斷電
#define fack rKeyFlag.BIT.BIT4 //24C02應答位
#define fenflash rKeyFlag.BIT.BIT5 //1=允許閃爍
#define ftask0 rKeyFlag.BIT.BIT6 //task按鍵狀態(tài) 0-去抖 1-重復的延緩
#define ftask1 rKeyFlag.BIT.BIT7 // 1-重復
#define TRUE 1
#define FALSE 0
PICCWORDINT rTempAd;
PICCWORDINT rVoltageAd;
unsigned char rCount1,rCount2,rCount3;
unsigned char rMsecond,rMCount,rTaskJump;
unsigned char rAdConCount,rCurAdValue,rAdValue,rVolAdValue;
unsigned char rSetTemp,rTempValue;
unsigned char rkeypre,rkeycnt; //存放上次功能鍵 鍵值相同計數(shù)
unsigned char rDispTimeBrush,rDispValue;
unsigned char rSecond,rSetTemp5s,rFanDelay180s; // 風扇輸出關閉延時狀態(tài)
unsigned char rVolDown60s,rSelfTestTime;
unsigned char rOnDelay,rSaveDelay,rE2Data[4];
unsigned char rInqOnTime; //請求開機的時間
unsigned char rNeedWrE2; //需要寫E2PROM
unsigned char rTestValue;
#define constTMR0 6
//-------電路有串聯(lián)2個二極管
#define cDh01MinVol 92 //99 //低壓 11.6V 電阻 47K--10K
#define cDh01MaxVol 148 //156 //高壓 18V
#define cDh01RetMinVol 93 //100 恢復電壓 11.7
#define cDh01RetMaxVol 105 //112 //恢復電壓 13V
#define cT02MaxVol 156 //>20V
#define cT02RetMaxVol 148 // 恢復電壓19V
#define cMaxSetTemp 65+cNegSetTemp
#define cMinSetTempDh01 cNegSetTemp-5 //-5度
#define cMinSetTempT02 cNegSetTemp-9 //-9度
#define cHotsetTemp 50+cNegSetTemp //默認加熱溫度 50
#define cColdSetTemp 0+cNegSetTemp //默認制冷溫度 0
#define cColdT02Set 5+cNegSetTemp //T02默認制冷溫度 0
#define cNegSetTemp 20 //默認的偏移溫度 0->-20 20->0 DH01:-5~65 T02:-9~65
#define cSetTemp3s 10 //設定溫度延時 5S
#define cVolDown60s 120 //電壓低延時輸出
#define cVolHigh5s 10 //高壓延時時間
#define cFanOff60s 181 //按K3按鍵關機 風扇輸出關閉延時60s
#define constOnDelay 61 //制冷與制熱切換時 開關機之間的延時
//--------以下與按鍵有關的參數(shù)設定---------
#define N 2 //去抖時年齡下限
#define constMaxRate 50 //16*30 重復前的延遲值50=600ms
#define constMinRate 16 //16ms*16 重復速度 20=240ms
#define constKeyMask 0x0C //屏蔽不允許連擊的按鍵 1=不允許連擊
#define cDelaySave 5 //延時保存時間 5s
#define constE2Data 0x56
#define cT02InqOnTime 10 //T02請求開機的時間
#define cDh01InqOnTime 0 //Dh01請求開機的時間
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -