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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? hicj6.c

?? 這是一個
?? C
?? 第 1 頁 / 共 3 頁
字號:
/********************Copyright******************************

名稱:HICJ6.C
功能:主程序
說明:
修改:2004/12/24

************************************************************/
#include "P89C60X2.h"
#include "hicj6.h"
#include "hd7279.h"
#include "fram.h"

extern void Trs_Edit(void);
extern void Rcv_Pro(void);
extern void PSendChar(unsigned char);
void Hdd_Check(void);
void Disp_Pro(void);
void Key_Pro(void);
void TrsRelay(BYTE,BYTE);
void Init();

BYTE code LedCode[6]={0x40,0x30,0x08,0x06,0x01,0x80};
BYTE code Bat_Val[5]={0x40,0x60,0x70,0x78,0x7c};
BYTE code  A8_A10[8]={2,1,0,3,4,6,7,5};
DWORD code Full_Val[5]={1000000,10000000,160000000,32000000,320000000};

BYTE data Time_Counter;
BYTE data Trs_Counter;
BYTE data Hdd_Wp,Hdd_Rp;
BYTE data Rcv_Count;
BYTE data  Run_Count;
BYTE data Hdd_En[5],Short_En[5],Break_En[5];
BYTE data ms500;

BYTE data Hdd_New_Bak[5];
BYTE data Hdd_Old[5],Hdd_Old_Bak[5];
extern BYTE data Short_New[5],Break_New[5];
BYTE data Short_Bak,Break_Bak;
BYTE data Key_Count,Pulse,Type;
BYTE data Key_New,Key_Old,Key_Val,Key_Press;
BYTE data Alarm;
extern BYTE data Trs_Wp,Trs_Rp,Rcv_Wp,Rcv_Rp;
extern BYTE data Station,House_Max;
BYTE data Start,House;
BYTE data HddEn_Sum,Key_C,Flash;
BYTE idata TrsRelayOff[5];
BYTE data WriteOrder;
BYTE data Keep_Flag[5];
BYTE idata Short_Old[5];
BYTE idata RelayOff[5];

BYTE xdata Hdd_New[10][5];
BYTE xdata HddVal[40];
BYTE xdata Trs_Buf[25];
BYTE xdata Rcv_Buf[30];
BYTE xdata Hdd10s[40];
BYTE xdata TrsOffCount[40];



bit Trs_Flag,Rcv_Flag,Alarm_Flag;
bit Sp_Flag,Alarm_Check,HddEn_Count;
bit  Ac_New,Ac_Old,Ac_Tmp;
bit  Bat_New,Bat_Old,Bat_Tmp;
BYTE idata Keep_Count[40]=0;
WORD  idata Press_Count;

union hdd_long {BYTE Hdd_B[4];DWORD Hdd_L;} Hdd_Str;

/**********************************************************
*名	   稱:serial_int
*功	   能:串口中斷函數(shù)
*說	   明:處理串口發(fā)送、接收數(shù)據(jù),每個字節(jié)中斷一次
*調(diào)	   用:
*入口參數(shù):無
*返 回 值:無
***********************************************************/

void serial_int(void) interrupt 4 //using 1
{
 EA=0;
 if (RI)
  {
   RI=0;
   Rcv_Count=0;
    if(Rcv_Wp==29)
    {
     Rcv_Wp=0;
    }
   Rcv_Buf[Rcv_Wp]=SBUF;
   if(
       Rcv_Buf[Rcv_Wp-2]==0xeb && Rcv_Buf[Rcv_Wp-1]==0x90
      &&Rcv_Wp<8)
      {
      	Rcv_Flag=1;
      	Rcv_Rp=Rcv_Wp;
      }
   Rcv_Wp++;
  }
 if (TI)
  {
   TI=0;
   if(Trs_Wp!=Trs_Rp)
    {
    	SBUF=Trs_Buf[Trs_Rp];
    	Trs_Rp++;
    }
    else  DIR485=1;

  }
 EA=1;
 }

/**********************************************************
*名	   稱:timer2
*功	   能:定時器2 中斷函數(shù)
*說	   明:完成定時采集電度端口狀態(tài)(20MS)及其他一些定時處理
*調(diào)	   用:無
*入口參數(shù):無
*返 回 值:無
***********************************************************/
void timer2(void) interrupt 5 //using 2
{
  BYTE data i,j;
  BYTE data P1_Tmp;
  TF2=0;
  Time_Counter++;
  Trs_Counter++;
  Rcv_Count++;
 // Run=~Run;
//  Run=1;

    for (i=0;i<5;i++)
    {
     P1_Tmp=1<<(i+3);
     P1_Tmp=~P1_Tmp&0xf8;
     for(j=0;j<8;j++)
      {
       P1=P1_Tmp|A8_A10[j];
       long_delay();
       if(Hdd==0)
        {
          Hdd_New[Hdd_Wp][i]|=1<<j;
        }
         else
         {
          Hdd_New[Hdd_Wp][i]&=~(1<<j);
         }

      }
    }

// Run=0;

  Hdd_Wp++;
  if(Hdd_Wp==10)
   {
    Hdd_Wp=0;

   }
  if(Key_Val)Key_C++;
  if(!Key)
   {
    Key_Count++;
   }
   else
   {
    Key_Count=0;
   }
  if (Press_Count<1000)
   {
     Press_Count++;
    }
}

/**********************************************************
*名	   稱:Disp_Pro
*功	   能:顯示處理
*說	   明:將要顯示的內(nèi)容傳送給HD7279
*調(diào)	   用:write7279
*入口參數(shù):無
*返 回 值:無
***********************************************************/
void Disp_Pro(void)
{
/*
LED 定義
LED[7]-LED[0]  Hdd
LED[9]-LED[8]  House_Code
LED[11]-LED[10] Station-Code

LED[12]         Battery  Red
LED[13]         BAttery  Green
LED[14]         8 @3 LED
LED[15]         One LED
0x80  0x40  0x20  0x10  0x08  0x04  0x02  0x01
A4    B4    B3    B2    B1    A1    A2    A3
A1-Water   0x32
A2-Power   0x31
A3-Gass    0x30
A4-Warm    0x37
B1-heat    0x36
B2-Break   0x35
B3-Short   0x34
B4-Pulse   0x33
從上至下排列,表類型為A,報警類型為B

*/
  BYTE data i,Led[16];

  BYTE Constant_Range;

  Key_Press=0;
  Flash=0;
  i=House%8;
  if((Hdd_En[i]&(1<<i)))
   {
    Read_Hdd(House);
    Hdd_Str.Hdd_L+=HddVal[House];
  
    Constant_Range=Read1B(120+House+0x100);
    Constant_Range>>=4;
     switch (Constant_Range)
                  {
                    case (1):
                             Hdd_Str.Hdd_L*=100; 
                             break;
                    case (2):

                             Hdd_Str.Hdd_L*=10;
                             break;
                  
                    case (4):
                             Hdd_Str.Hdd_L/=10;
                             break;
                    case (5):
                             Hdd_Str.Hdd_L>>=4;
                             break;
                    case (6):
                            Hdd_Str.Hdd_L*=10;
                             Hdd_Str.Hdd_L>>=4;
                             break;
                    case (7):
                             Hdd_Str.Hdd_L*=10;
                             Hdd_Str.Hdd_L>>=5;
                             break;
                    case (8):
                             Hdd_Str.Hdd_L>>=5;
                             break;                                                    
                    default:
                             break;
                  }
  
    
    Led[15]=Read1B(House*3+2+0x100);
    i=Read1B(House*3+1+0x100);
    Led[9]=i/0x10;
    Led[8]=i%0x10;
    if(Led[8]>9)Led[8]=0x0f;
    i=Read1B(House*3+0x100);
    Led[11]=i/0x10;
    Led[10]=i%0x10;
    for(i=8;i<12;i++)
     {
      if(Led[i]>9)Led[i]=0x0f;
     }

    Led[7]=Hdd_Str.Hdd_L/10000000;
    Led[6]= (Hdd_Str.Hdd_L%10000000)/1000000;
    Led[5]=(Hdd_Str.Hdd_L%1000000 )/100000;
    Led[4]=(Hdd_Str.Hdd_L%100000  )/10000;
    Led[3]=(Hdd_Str.Hdd_L%10000   )/1000;
    Led[2]=(Hdd_Str.Hdd_L%1000    )/100;
    Led[1]=(Hdd_Str.Hdd_L%100     )/10;
    Led[0]= Hdd_Str.Hdd_L%10;

    if (Led[7]==0)
    {
      Led[7]=0x0f;
      if(Led[6]==0)
       {
         Led[6]=0x0f;
         if(Led[5]==0)
          {
            Led[5]=0x0f;
           if(Led[4]==0)
            {
              Led[4]=0x0f;
              if(Led[3]==0)
               {
                Led[3]=0x0f;

               }

            }
          }
       }

    }
    i=Read1B(200+House);
    i=(i>>4)&7;
    if(i) Led[i]|=0x80; //Point
    for(i=0;i<8;i++)
     {
       write7279(DECODE0+i,Led[i],0);        //Hdd
     }
    for(i=0;i<4;i++)
     {
       write7279(DECODE0+i,Led[i+8],1);      //House Code
     }

      if(Led[15]>0)
      write7279(DECODE1+7,Led[15],1);
      else
      write7279(DECODE0+7,0x0f,1);
     i=Read1B(200+House);
     i&=0x0f;
      switch (i)
                  {
                    case (0x01):
                             Type=0x04;
                             break;
                    case (0x02):
                             Type=0x02;
                             break;
                    case (0x04):
                             Type=0x01;
                             break;
                    case (0x08):
                             Type=0x80;
                             break;
                    default:
                             Type=0;
                             break;
                  }
      Sp_Flag=0;
      Alarm=0;
      if(Pulse%2) Alarm=0x08;
      Short_Bak=Read1B(170+House/8);
      if(Short_Bak&(1<<(House%8)))
       {
        Alarm|=0x10;
        Sp_Flag=1;
       }
       Break_Bak=Read1B(175+House/8);
      if(Break_Bak&(1<<(House%8)))
       {
        Alarm|=0x20;
        Sp_Flag=1;
       }
       Alarm|=Type;
       Alarm_Flag=1;

       if(Short_New[House/8]&(1<<(House%8)))
         Flash|=1;
       if(Break_New[House/8]&(1<<(House%8)))
         Flash|=2;

   }
   else
   {
      for(i=0;i<8;i++)
     {
       write7279(UNDECODE+i,1,0);
     }
      for(i=0;i<2;i++)
     {
       write7279(UNDECODE+i,1,1);
     }
      write7279(UNDECODE+7,1,1);      //One Led
      Led[11]=(House+1)/10;
      Led[10]=(House+1)%10;
      write7279(DECODE0+2,Led[10],1);
      write7279(DECODE0+3,Led[11],1);
      write7279(UNDECODE+6,0x00,1);           //Type Alarm
      Sp_Flag=0;
   }






 }
 /*
 void Key_Pro(void)
{
  //Key_New=read7279(CMD_READ);
  if(Key_New==0xff) Key_New=0;
  Key_Val=Key_New^Key_Old & Key_New;
  Key_Old=Key_New;
  if (Key_Val==0x3a)
    {
      Key_Press=1;
      House++;
      House=House%House_Sum;
      Press_Count=0;
     }


 }
   */
void Key_Pro(void)
{
  BYTE Key_Tmp;
  Key_New =Key;
  Key_Tmp=(Key_New^Key_Old)&(~Key_New);
  if(Key_Tmp)
   {
    Key_Val=1;
    Key_C=0;
   }
  if(Key_Val)Key_C++;
  Key_Old=Key_New;
  if (Key_C>1)
    {
      Key_Val=0;
      Key_C=0;
      Key_Press=1;
      House++;
      if(House_Max>1)
       {
        House=House%House_Max;
       }
       else House=0;
      Press_Count=0;
     }


 }

 /**********************************************************
*名	   稱:LedTest
*功	   能:LED數(shù)碼管檢測
*說	   明:對數(shù)碼管分別按段、位進(jìn)行檢測
*調(diào)	   用:write7279 send_byte
*入口參數(shù):無
*返 回 值:無
***********************************************************/

void LedTest(void)
{
BYTE data i,j;
 send_byte(CMD_RESET,0);     // 清除顯示
 cs1=cs2=1;
 send_byte(CMD_RESET,1);
 cs1=cs2=1;
 /*
 send_byte(CMD_TEST,0);
 cs1=cs2=1;
 send_byte(CMD_TEST,1);
 cs1=cs2=1;
 send_byte(CMD_RESET,0);     // 清除顯示
 cs1=cs2=1;
 send_byte(CMD_RESET,1);
 cs1=cs2=1;   */
 for(i=0;i<6;i++)
 {
   Speaker=0;
   for(j=0;j<8;j++)
    {
     write7279(UNDECODE+j,LedCode[i],0);
     write7279(UNDECODE+j,LedCode[i],1);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品一区二区三区蜜桃下载| 欧美丝袜自拍制服另类| 亚洲日本护士毛茸茸| 精品少妇一区二区三区在线播放| 欧美人与性动xxxx| 欧美撒尿777hd撒尿| 欧美在线免费观看亚洲| 在线观看国产91| 国产亚洲欧美色| 国产清纯白嫩初高生在线观看91| 2023国产精品自拍| 久久久精品国产99久久精品芒果| 久久色.com| 蜜桃av噜噜一区二区三区小说| 亚洲成人在线网站| 日韩电影在线一区二区| 精品一区二区在线播放| 韩国视频一区二区| 国产精品亚洲人在线观看| 国产成人午夜高潮毛片| 成人毛片在线观看| 91麻豆精东视频| 欧美唯美清纯偷拍| 一区二区三区免费网站| 男女激情视频一区| av中文字幕亚洲| 欧美日韩国产综合一区二区| 亚洲图片激情小说| 91视频在线观看| 中文字幕一区二| 午夜成人免费视频| 国产精品乡下勾搭老头1| 欧美不卡一区二区| 国产乱码精品一区二区三区忘忧草| 欧美日韩国产一二三| 亚洲一二三四区不卡| 狠狠色伊人亚洲综合成人| 日韩一区二区三区在线视频| 久久在线观看免费| 国产精品一区二区x88av| 国产午夜亚洲精品羞羞网站| 国产精品系列在线播放| 中文字幕亚洲精品在线观看| 色综合久久久久久久久| 欧美成人一区二区三区| 精品一区二区国语对白| 久久久久9999亚洲精品| 成人黄色国产精品网站大全在线免费观看| 欧美亚洲国产怡红院影院| 亚洲精品视频观看| 国产精品一二三区| 综合色天天鬼久久鬼色| 欧美色倩网站大全免费| 麻豆91精品视频| 国产欧美日韩在线| 色综合久久综合中文综合网| 视频一区二区国产| 日本黄色一区二区| 国产精品久久免费看| 久久精品国产精品亚洲红杏| 欧美老年两性高潮| 一区二区三区在线视频观看58| 欧美日韩午夜影院| 国产一区91精品张津瑜| 日韩欧美电影一区| 日本中文字幕一区| 国产日韩欧美在线一区| 91国偷自产一区二区开放时间 | 色哦色哦哦色天天综合| 免费欧美高清视频| 国产精品色哟哟| 国产一区福利在线| 亚洲欧美另类久久久精品2019| 成人自拍视频在线| 亚洲成av人片| 日韩伦理免费电影| 精品美女一区二区三区| 91久久国产最好的精华液| 激情深爱一区二区| 亚洲国产精品精华液网站| 精品视频1区2区3区| 国产成人午夜片在线观看高清观看| 一区二区三区四区亚洲| 国产日产欧美一区| 91精品国产麻豆| 日本美女一区二区| 亚洲欧美日韩系列| 亚洲国产电影在线观看| 成人av网站免费| 久久99久久99小草精品免视看| 亚洲精品精品亚洲| 国产精品免费视频一区| 久久综合色天天久久综合图片| 5858s免费视频成人| 久久国产免费看| 性久久久久久久久久久久| 国产精品乱人伦中文| 国产日产亚洲精品系列| 精品处破学生在线二十三| 欧美日韩精品欧美日韩精品 | 精品无人码麻豆乱码1区2区| 亚洲一线二线三线视频| 亚洲视频小说图片| 国产精品女上位| 国产色爱av资源综合区| 久久久久久久久岛国免费| 精品久久久久久无| 亚洲精品一线二线三线| 日韩欧美高清在线| 精品国产乱码久久久久久影片| 欧美日韩精品一二三区| 欧美精品乱人伦久久久久久| 欧美日韩国产精选| 欧美日韩视频在线第一区| 精品视频1区2区3区| 7777精品伊人久久久大香线蕉的 | 色综合天天在线| 亚洲第四色夜色| 亚洲五码中文字幕| 五月婷婷综合在线| 日韩一区精品视频| 日本午夜一本久久久综合| 美国毛片一区二区| 精品一区二区三区视频| 国产成人亚洲精品狼色在线| 成人午夜伦理影院| 色综合天天综合网天天看片| 欧美色综合天天久久综合精品| 欧美日韩一级二级| 日韩欧美一卡二卡| 国产欧美日韩精品a在线观看| 久久久精品日韩欧美| 国产精品看片你懂得| 亚洲综合图片区| 天天免费综合色| 国产麻豆一精品一av一免费| 丁香六月久久综合狠狠色| 99视频在线精品| 欧美日韩国产影片| 精品日韩在线观看| 国产精品动漫网站| 日韩成人免费电影| 国产精品亚洲成人| 在线观看不卡一区| 欧美mv日韩mv国产网站app| 中文字幕国产一区二区| 亚洲国产一区二区三区青草影视| 久久99精品久久久久久国产越南 | 精品国产乱码久久久久久1区2区| 久久亚洲影视婷婷| 国产精品不卡在线| 日韩精品电影在线观看| 国产超碰在线一区| 国产激情视频一区二区在线观看| 成人av资源下载| 欧美精品第1页| 国产精品久久久久久久久免费丝袜| 亚洲精品一二三区| 国产综合一区二区| 欧美三级三级三级爽爽爽| 国产性色一区二区| 亚洲高清三级视频| 国产成人啪免费观看软件 | 日韩一区二区三区电影在线观看 | 国产午夜精品久久久久久久| 亚洲激情六月丁香| 国产乱子轮精品视频| 欧日韩精品视频| 国产精品不卡在线观看| 狠狠色丁香婷婷综合| 精品视频一区 二区 三区| 中文字幕在线一区| 激情综合网最新| 91精品国产综合久久香蕉的特点| 国产精品女主播在线观看| 国内欧美视频一区二区| 欧美精品在线视频| 亚洲精品中文在线观看| 成人性色生活片免费看爆迷你毛片| 日韩欧美中文字幕制服| 亚洲成人免费视频| 在线观看视频一区| 亚洲人成网站在线| 99精品偷自拍| 欧美人伦禁忌dvd放荡欲情| 中文字幕一区在线观看| 国产传媒欧美日韩成人| 久久亚洲综合av| 国产综合成人久久大片91| 日韩欧美一区二区免费| 日本亚洲一区二区| 欧美一区二区大片| 日本成人在线一区| 91精品国产丝袜白色高跟鞋| 日韩精品午夜视频| 欧美肥胖老妇做爰| 美女视频网站久久| 日韩欧美一区中文| 久久99精品网久久| 国产欧美日韩激情|