亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? scom.c

?? 一個很好的完整的空調控制器程序
?? C
字號:
/**************** (c) 2005   佛山菱電 *****************************************
PROJECT  : AUX VRV
COMPILER : AVR GCC/ICC
MODULE   : scom.c
VERSION  : 1.0.0
DATE     : 2006/01/02
AUTHOR   : 朱坤
DESCRIPTION : 與外機通信(T0)

MODIFICATIONS :
******************************************************************************/
#include "scom.h"
#include "ports.h"
#include "main.h"
#include "fan.h"
#include "adc.h"
#include "pzf.h"

#ifndef EnSTYLE5

const u8 SCom_SM_Tab[] ={0x00,0x03,0x01,0x09};

u8 ScSt0Cnt;           /* 低電平計時 */
u8 ScInHiCnt;          /* 高電平計時 */
u8 * ScByteCnt;        /* 字節(jié)計數(shù) */
u8 ScBitCnt;           /* 位計數(shù) */
u8 ScFlag;             /* 標志位 */
#define fScRxOk   7
#define fScTxRxSc 6
#define fScTx     5          /* 1: Tx, 0: Rx  */
#define fScTxLo   4          /* 1: 高電平標志 */

u8 ScBufAdr[14];       /* 緩沖區(qū)(14字節(jié)) */

/* 發(fā)送監(jiān)控計時, 若內機處于發(fā)送狀態(tài)超時,強制為接收狀態(tài) */
u8 ScComTm;
/* 外機通信故障計時 */
u8 ScMonCnt;

/*-----------------------------------------------------------------------------
ROUTINE NAME : TIMB_Int
INPUT/OUTPUT : None

DESCRIPTION  : timer B Interrupt Service Routine

COMMENTS     : 外機收發(fā) 0.256mS
-----------------------------------------------------------------------------*/
#ifdef AVRGCC
SIGNAL(SIG_OUTPUT_COMPARE0)
#else
#pragma interrupt_handler TIMB_Int:iv_TIMER0_COMP
void TIMB_Int(void)
#endif
{                                      /* 三型外機通信處理 */
    if (ValBit(ScFlag,fScTx)){         /* 1: 發(fā)送 */
      if (ValBit(ScFlag,fScTxLo)){     /* 1: 高電平標志 */
        ClrBit(ScFlag,fScTxLo);
        SetBit(pTx,pbTx);              /* 低電位 */
        if (ValBit(ScFlag,fScTxRxSc)){
          TBOC1HR += 768/32;           /* 0.768 mS */
        } else {
          TBOC1HR += 6400/32;          /* 6.4 mS */
        }
      } else {
        SetBit(ScFlag,fScTxLo);
        ClrBit(pTx,pbTx);              /* 高電位 */
        if (ValBit(ScFlag,fScTxRxSc)){
          if (ScByteCnt == &ScBufAdr[14]) ScFlag = 0;
          if ((u8)(*ScByteCnt & ScBitCnt) == 0){
            OCR0 += 768/32;            /* 0.768 mS */
          } else {
            OCR0 += 3072/32;           /* 3.072 mS */
          }
          if ((ScBitCnt <<= 1) == 0){
            ScBitCnt = 1;
            ScByteCnt++;
          }
        } else {
          OCR0 += 6400/32;             /* 6.4 mS */
          SetBit(ScFlag,fScTxRxSc);
          ScBitCnt = 1;
          ScByteCnt = ScBufAdr;
          ScComTm = 0;                 /* 監(jiān)控計時 */
        }
      }
    } else {                           /* 0.256mS 三型外機接收 */
      OCR0 += 256/32;                  /* 0.256 mS */
      if (!ValBit(ScFlag,fScRxOk)){    /* 尚未處理,不接收 */
        ClrBit(pTx,pbTx);              /* 準備接收 */
        if (ValBit(pRx,pbRx)||ValBit(pRx,pbRx)){
          ScSt0Cnt = 0;
          if (++ScInHiCnt == 0) ScFlag = 0;
          //++ScInHiCnt;
        } else {
          if (++ScSt0Cnt > 0x12) ScFlag = 0; /* 4.864mS */
          if (ValBit(ScFlag,fScTxRxSc)){
             /* 0.256mS - 4.608mS  */
             if ((ScInHiCnt != 0) && (ScInHiCnt <= 0x12)){
               /* 1.792mS */
               if (ScInHiCnt > 0x07) *ScByteCnt |= ScBitCnt;
               if ((ScBitCnt<<=1) == 0){
                 ScBitCnt = 1;
                 if (ScByteCnt == &ScBufAdr[5]) { /* 接收6字節(jié) */
                   ScFlag = (u8)(1<<fScRxOk);
                 } else {
                   *++ScByteCnt = 0;     /* 準備接收下一個字節(jié) */
                 }
               }
             }
          } else if ((ScInHiCnt >= 0x10) && (ScInHiCnt < 0x23)){
            /* 6.4mS 引導脈沖 4.096mS - 8.96mS */
            SetBit(ScFlag,fScTxRxSc);
            ScBitCnt = 1;
            ScByteCnt = ScBufAdr;
            ScBufAdr[0] = 0;
            ScComTm = 0;
          }
          ScInHiCnt = 0;
        }
      }
    }
}

void Init_TIMB(void)
{
   /* FOC2 WGM20 COM21 COM20 WGM21 CS22 CS21 CS20 */
   TCCR0 = 0x05;       /* Normal, OC0 Disconnected, 1:256 */
   OCR0 = (u8)(256/32);/* 設置下一次中斷時間 0.256 */
   TCNT0 = 0x00;
   //ScFlag = 0;       /* 清除所有標志 */
   UCSRB = 0x00;       /* 禁止 SCI */

   //TIFR = 0x0FF;     /* 清除所有中斷 */
   //TIMSK &= (u8)(1 << TOIE0);
   TIMSK |= (u8)(1 << OCIE0);
   //ClrBit(pTx,pbTx); /* 準備接收 */
}

/*-----------------------------------------------------------------------------
;① 室外機→室內機
;室外機給室內機發(fā)送3個字節(jié)的數(shù)據(jù),加反碼共6個字節(jié)。
;第一字節(jié):室外機故障標志反碼;第二字節(jié):室外機故障標志正碼
; D0   室外機壓縮機排氣溫度過高   (=0 正常;=1 故障)
; D1   缺氟或換向閥故障           (=0 正常;=1 故障)
; D2   室外機交流輸入電流過大     (=0 正常;=1 故障)
; D3   室外機交流輸入電流采樣異常 (=0 正常;=1 異常)
; D4   室外機直流母線電壓異常     (=0 正常;=1 異常)
; D5   室內機總功率過大           (=0 無效;=1 有效)
; D6   室外機傳感器故障           (=0 正常;=1 故障)
; D7   室外機變頻器模塊保護故障   (=0 正常;=1 故障)
;第三字節(jié):室外機狀態(tài)及故障標志反碼,第四字節(jié):室外機狀態(tài)及故障標志正碼
; D0   制熱除霜工作狀態(tài)位       1= 除霜狀態(tài)    0= 非除霜狀態(tài)
; D1   制熱工作狀態(tài)             1= 有效        0= 無效
; D2   壓縮機啟停狀態(tài)位         1= 啟動        0= 停止
; D3   室外風機啟停狀態(tài)位       1= 啟動        0= 停止
; D4   允許室內機啟動位         1= 允許啟動    0= 不允許啟動
; D5   保留
; D6   該通道不存在或通訊故障   1= 不存在或故障; 0= 正常
; D7   室外機三次故障停機       1= 故障           0= 正常
;第五字節(jié):膨脹閥開度反碼,第六字節(jié):膨脹閥開度正碼。
;② 室內機→室外機
;室內機給室外機發(fā)送7個字節(jié)的數(shù)據(jù),加反碼共為14個字節(jié)。
;第一字節(jié):設定室內溫度正碼;      第二字節(jié):設定室內溫度反碼;
;第三字節(jié):實測室內環(huán)境溫度正碼;  第四字節(jié):實測室內環(huán)境溫度反碼;
;第五字節(jié):實測室內機盤管溫度正碼;第六字節(jié):實測室內機盤管溫度反碼
;第七字節(jié):命令狀態(tài)字節(jié)正碼;      第八字節(jié):命令狀態(tài)字節(jié)反碼
;命令狀態(tài)字內容:
;  D1、D0 = 00  通風或待機狀態(tài)
; 01  制冷
; 10  保留
; 11  制熱
; D2  保留
; D3:除濕狀態(tài)位 "1"要求除濕,"0" 不要求除濕
; D7、D6、D5、D4  = 1111 系統(tǒng)進入商檢狀態(tài)
;  = 1100 系統(tǒng)進入柜機抽檢狀態(tài)
;  = 1101 系統(tǒng)進入掛機抽檢狀態(tài)
;  = 0001 微風
;  = 0010 低風
;  = 0100 中風
;  = 1000 高風
;第九字節(jié):  實測室內盤管細管溫度正碼;  第十字節(jié):  實測室內盤管細管溫度反碼;
;第十一字節(jié):實測室內盤管粗管溫度正碼;  第十二字節(jié):實測室內盤管粗管溫度反碼;
;第十三字節(jié):室內機功率(匹)正碼;      第十四字節(jié):室內機功率反碼。
-----------------------------------------------------------------------------*/
void ScCom_Sub(void)
{
   if (ScMonCnt > 60){              /* 外機通信故障監(jiān)控計時(秒) */
     SetBit(Errorflg,fSComErr);     /* 外機通信故障 */
     OutSideValve = 0;              /* 關閥 */
   }
   if (ScComTm == 255){             /* 外機通信監(jiān)控計時 */
     ScFlag = 0;                    /* 清除所有標志 */
     ScComTm = 0;
     ClrBit(pTx,pbTx);              /* 準備接收 */
   }

   if (ValBit(ScFlag,fScRxOk)){     /* 1: 接收Ok */
      if (((ScBufAdr[0]|ScBufAdr[1]) == 0x0FF) &&
          ((ScBufAdr[2]|ScBufAdr[3]) == 0x0FF) &&
          ((ScBufAdr[4]|ScBufAdr[5]) == 0x0FF)){
        ScMonCnt = 0;                /* 與外機通信故障計時 */
        ClrBit(Errorflg,fSComErr);   /* 1:與外機通信故障  */
        OutSideErr[0] = ScBufAdr[1]; /* 外機故障 */
        OutDevStu[0] = ScBufAdr[3];  /* 外機狀態(tài) */
        /* 膨脹閥開度 */
        OutSideValve =(u16)(((ScBufAdr[5] > (PZFMAX >> 1))? (PZFMAX >> 1): ScBufAdr[5]) << 1);

        /* 在模式?jīng)]有發(fā)送到外機之前,先清除允許標志 */
        if (!ValBit(Sysflag,fModeflag)){
          ClrBit(OutDevStu[0],fRunEnable);
          ClrBit(OutDevStu[0],fOutDeforst);
        }
        if (ValBit(OutDevStu[0],fRunEnable)) ClrBit(Sysflag2,fRequest);

        ScComTx_Sub();                    /* 準備發(fā)送數(shù)據(jù) */

        OCR0 += (u8)(0x0FF);             /* 間隔時間(15.3mS) */
        ClrBit(pTx,pbTx);                 /* 發(fā)送準備 */
        ScFlag = (1<<fScTx)|(1<<fScTxLo); /* 清除所有標志 */
      }
      ClrBit(ScFlag,fScRxOk);             /* 清除標志 */
   }
}

void ScComTx_Sub(void)                    /* 準備發(fā)送數(shù)據(jù) */
{
   ScBufAdr[0] =(u8)(SetupTp - 0x80);     /* Ts */

   if (ValBit(Errorflg,fAmbientErr)){
     ScBufAdr[2] = 0x80;                  /* Tr */
   } else {
#ifdef ChigoXG1
     if ((RunMode & MODEMASK) == MODEHEAT){
#ifdef ChigoXG1Set
       ScBufAdr[2] = (u8)(AmbientTp - ChigoXG1Set);
#else
       ScBufAdr[2] = (u8)(AmbientTp - SetOffset);
#endif
     } else {
       ScBufAdr[2] = (u8)(AmbientTp - 0x80);
     }
#else
     ScBufAdr[2] = (u8)(AmbientTp - 0x80);
#endif

     /* 強制運行時,修改設定溫度,不處理補償溫度 */
     if (ValBit(Sysflag,fContinue)){
       if ((RunMode & MODEMASK) == MODEHEAT){
         if (AmbientTp > 0x7B){
           ScBufAdr[0] = (u8)(AmbientTp + 0x85);
         } else {
           ScBufAdr[0] = 0x00;    /* Ts = Tr+5 */
         }
       } else if (((RunMode & MODEMASK) == MODECOOL)||
                  ((RunMode & MODEMASK) == MODEDRY)){
         if (AmbientTp > 0x85){
           ScBufAdr[0] = (u8)(AmbientTp + 0x7B);
         } else {
           ScBufAdr[0] = 0x00;    /* Ts = Tr-5 */
           ScBufAdr[2] = 0x05;
         }
       }     }
   }

   /* 盤管中點溫度 */
   ScBufAdr[4] = (u8)(ValBit(Errorflg,fTubeMidErr)? 0x80 : TubeMidTp - 0x80);

   /* 內機模式 - 不開機,不發(fā)送模式 */
   SetBit(Sysflag,fModeflag);      /* 模式發(fā)送標志 */
   ScBufAdr[6] = (u8)(ValBit(RunMode,fSysOn)? SCom_SM_Tab[RunMode & 0x03] : 0);

   /* 盤管入口/出口溫度 */
   ScBufAdr[8] = (u8)(ValBit(Errorflg,fTubeInErr)? 0x80 : TubeInTp - 0x80);
   ScBufAdr[10] = (u8)(ValBit(Errorflg,fTubeOutErr)? 0x80 : TubeOutTp - 0x80);

   /* 內機功率 */
   ScBufAdr[12] = (u8)(ValBit(Sysflag,fPower) ? PowerConst : 0);
   if (ValBit(RunMode,fSysOn) && ValBit(Sysflag2,fRequest)){
     ScBufAdr[12] = PowerConst;
     if ((RunMode & MODEMASK) == MODEHEAT){
       ScBufAdr[2] = (u8)(ScBufAdr[0] - 1);   /* Tr = Ts-1 */
     } else if (((RunMode & MODEMASK) == MODECOOL)||
                ((RunMode & MODEMASK) == MODEDRY)){
       ScBufAdr[2] = (u8)(ScBufAdr[0] + 1);   /* Tr = Ts+1 */
     }
   }

   /* 設置反碼 */
   ScBufAdr[1] = (u8)(255 - ScBufAdr[0]);
   ScBufAdr[3] = (u8)(255 - ScBufAdr[2]);
   ScBufAdr[5] = (u8)(255 - ScBufAdr[4]);
   ScBufAdr[7] = (u8)(255 - ScBufAdr[6]);
   ScBufAdr[9] = (u8)(255 - ScBufAdr[8]);
   ScBufAdr[11] = (u8)(255 - ScBufAdr[10]);
   ScBufAdr[13] = (u8)(255 - ScBufAdr[12]);
}

#endif

/*** (c) 2005  佛山菱電 **************************** END OF FILE *************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区日韩精品| 日韩亚洲欧美中文三级| 国产精品第一页第二页第三页| 精品中文av资源站在线观看| 精品福利视频一区二区三区| 精品一区在线看| 欧美精彩视频一区二区三区| 国产很黄免费观看久久| 中文成人综合网| 99久久精品国产麻豆演员表| 一区二区三区在线视频免费观看 | 亚洲欧洲日本在线| 成人久久18免费网站麻豆| 国产精品国产三级国产| 91国偷自产一区二区三区观看 | 欧美老女人第四色| 精品一区二区三区在线视频| 中文字幕精品在线不卡| 99久久综合狠狠综合久久| 一个色在线综合| 精品少妇一区二区| 成人免费视频视频在线观看免费 | 国产精品99久| 一区二区三区精品| 日韩一级高清毛片| 国产激情视频一区二区在线观看| 欧美韩日一区二区三区| 99国产麻豆精品| 亚洲v日本v欧美v久久精品| 东方欧美亚洲色图在线| 亚洲国产成人在线| av成人动漫在线观看| 午夜一区二区三区视频| 日韩三级中文字幕| 国产·精品毛片| 亚洲男人都懂的| 4438x亚洲最大成人网| 久久精品免费观看| 国产精品久久久久久久午夜片| 91免费视频网址| 日韩va亚洲va欧美va久久| 久久久99精品免费观看不卡| 92国产精品观看| 秋霞电影网一区二区| 国产视频一区在线观看| 在线观看免费成人| 免费精品视频最新在线| 国产精品萝li| 91精品国产色综合久久ai换脸 | 久久精品国产99久久6| 国产日韩成人精品| 欧美久久久久久久久中文字幕| 韩国一区二区在线观看| 伊人色综合久久天天| 日韩西西人体444www| 99久久国产综合色|国产精品| 亚洲成人午夜电影| 中文字幕中文字幕一区| 欧美成人精品1314www| 91免费观看国产| 国产剧情一区二区| 午夜久久久久久| 中文字幕综合网| 欧美疯狂做受xxxx富婆| 国产91丝袜在线观看| 香蕉影视欧美成人| 亚洲欧洲综合另类在线| 久久久久久久久久久久久夜| 欧美巨大另类极品videosbest| 风间由美一区二区三区在线观看| 视频一区视频二区中文字幕| 亚洲桃色在线一区| 久久久一区二区三区捆绑**| 7777女厕盗摄久久久| 在线区一区二视频| 99视频精品免费视频| 麻豆成人综合网| 亚洲国产精品久久人人爱蜜臀| 国产精品久久一级| 国产日韩欧美综合一区| 日韩天堂在线观看| 在线免费观看视频一区| 91亚洲精品乱码久久久久久蜜桃 | 夜夜嗨av一区二区三区网页| 国产精品毛片a∨一区二区三区| 日韩视频在线一区二区| 3atv在线一区二区三区| 日本丰满少妇一区二区三区| 国产98色在线|日韩| 成人永久aaa| 裸体一区二区三区| 日韩av一区二区三区四区| 亚洲成人av一区二区| 亚洲韩国精品一区| 亚洲一区影音先锋| 午夜成人免费电影| 一区二区三区四区激情| 亚洲一区日韩精品中文字幕| 亚洲在线观看免费视频| 一二三四区精品视频| 午夜精品在线看| 日韩不卡一二三区| 蜜臀av一级做a爰片久久| 强制捆绑调教一区二区| 亚洲成人在线免费| 日本特黄久久久高潮| 石原莉奈在线亚洲二区| 青娱乐精品在线视频| 激情综合色播激情啊| 国产美女精品在线| 成人午夜伦理影院| 色视频成人在线观看免| 欧美在线你懂得| 欧美丰满一区二区免费视频| 欧美成人女星排名| 国产欧美日本一区视频| 亚洲精品免费在线播放| 一区二区在线观看av| 午夜精品久久久久久久99水蜜桃| 免费观看一级欧美片| 国产精品一品二品| 欧美色图12p| 国产日韩欧美精品一区| 亚洲高清在线精品| 国产乱码字幕精品高清av| 成人av电影在线| 欧美性一二三区| 久久久精品tv| 亚洲大片一区二区三区| 国产一区二区在线观看视频| 99国产精品久| 欧美一级久久久| 国产精品毛片高清在线完整版| 亚洲福利视频三区| 国产自产高清不卡| 色婷婷综合久久久久中文一区二区 | 成人教育av在线| 欧美综合在线视频| 久久日一线二线三线suv| 亚洲精品国产一区二区精华液| 日日噜噜夜夜狠狠视频欧美人| 韩国av一区二区| 国产91精品露脸国语对白| 欧美性受极品xxxx喷水| 国产婷婷精品av在线| 亚洲成人精品在线观看| 国产精品18久久久久久久久久久久 | 舔着乳尖日韩一区| 成人综合在线视频| 日韩一区二区三区视频在线观看| 国产三级一区二区三区| 亚洲高清在线视频| 国产成人精品免费看| 欧美日韩精品系列| 国产人成一区二区三区影院| 依依成人综合视频| av在线播放一区二区三区| 91精品麻豆日日躁夜夜躁| 亚洲国产成人午夜在线一区| 久久99精品久久久久久国产越南| 色婷婷综合久久久久中文| 国产欧美精品国产国产专区| 奇米综合一区二区三区精品视频| 91蝌蚪porny九色| 久久精品欧美日韩| 欧美aaaaa成人免费观看视频| 日本精品免费观看高清观看| 久久精品欧美一区二区三区不卡| 日本不卡视频一二三区| 欧美中文字幕一区二区三区| 国产精品毛片a∨一区二区三区 | 蜜臀久久久99精品久久久久久| 在线观看网站黄不卡| 国产精品激情偷乱一区二区∴| 久久精品国产亚洲aⅴ| 欧美久久久久免费| 亚洲精品国产视频| 国产一区 二区 三区一级| 91精品国产综合久久久蜜臀粉嫩| 一区二区欧美国产| 日本伦理一区二区| 亚洲另类在线视频| kk眼镜猥琐国模调教系列一区二区| 久久一夜天堂av一区二区三区| 国产盗摄一区二区三区| 久久精品亚洲一区二区三区浴池| 国产呦精品一区二区三区网站| 精品久久久久久久久久久院品网 | 欧美精品一级二级三级| 一区二区三区四区在线免费观看| 97久久精品人人爽人人爽蜜臀| 国产精品久久夜| www.欧美色图| 亚洲一区在线免费观看| 欧美日韩免费视频| 日日夜夜免费精品视频| 日韩欧美国产小视频| 另类调教123区| 国产欧美一区二区三区在线看蜜臀| 国产高清在线精品|