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

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

?? setbid.c

?? ASC 信號機控制程序,國內最先進的信號機控制程序
?? C
?? 第 1 頁 / 共 3 頁
字號:
#include <absacc.h>
#include <reg51.h>
#define  eeprom_addr    0x8050;
extern unsigned char receive_flag;
extern unsigned char xdata checkdata[512];
extern unsigned int check_temp;
extern unsigned int xdata tr_flagaddr;
extern unsigned char xdata second_flag;

sbit   WatchDog = P1^3;       //看門狗
unsigned char lin;
unsigned char add_transparence=0;

unsigned int add_transparence_valid=0;
unsigned int add_final_number;



unsigned char xdata data_final_number;
unsigned int xdata datanumber=0;
unsigned char xdata tempdata;
unsigned char xdata add_bit;
unsigned char xdata answer_data[310];
unsigned char xdata data_final[310];
unsigned char xdata h_address;
unsigned char xdata l_address;

extern unsigned char xdata  RX_BUF[512];
extern unsigned int xdata  head;
extern unsigned int xdata  tail;
extern unsigned int re_flagaddr;
extern unsigned int xdata data_address;
extern unsigned char xdata checkdata[512];
extern unsigned int xdata address;

extern unsigned short cal_crc(unsigned char *ptr,unsigned int len) ;
//發送數據到fpga
unsigned char tran_fpag(unsigned char flag,unsigned int len)//標志和長度
{
  unsigned int i;
  unsigned char j;
      for(i=0;i<6;i++){
           tr_flagaddr=0XA030+5*i;
           if(XBYTE[tr_flagaddr]==0x87)break;
                      }
  ///////////////////////////////////////////////////////
 // data_address=XBYTE[0XA021]<<8+XBYTE[0XA022]+1;     //當前數據區的尾地址

 // address=data_address;                              //當前數據區的尾地址偏移量
 // data_address=data_address+len;            //應答數據長度1字節
 // if(data_address>0x7f0)data_address=data_address-0x7f0+0x80;
  while((XBYTE[0xa023]==0)&&(XBYTE[0xa024]==1)){};    //等待FGPA修改頭尾
  XBYTE[0xa023]=0x01;                              //CPU修改頭尾
  XBYTE[0xa024]=0X00;
  data_address=(XBYTE[0XA021]<<8)+XBYTE[0XA022]+1;
  data_address=(data_address&0x7ff);
  address=data_address;                     //當前數據區的尾地址偏移量
  data_address=data_address+len;            //應答數據長度1字節
  if(data_address>0x7f0)data_address=data_address-0x7f0+0x80;
  data_address--;
  XBYTE[0XA021]=data_address>>8;          //
  XBYTE[0XA022]=data_address;
  XBYTE[0XA023]=0X00;                      //CPU修改頭尾結束
  XBYTE[0XA024]=0X00;
  for(i=0;i<6;i++){
           tr_flagaddr=0XA030+5*i;
           if(XBYTE[tr_flagaddr]==0x87)break;
                      }
  if(i==6)return 1;

  XBYTE[tr_flagaddr+1]=address>>8;        //發送數據的首地址
  XBYTE[tr_flagaddr+2]=address;

  XBYTE[tr_flagaddr+3]=data_address>>8;   //發送數據的尾地址
  XBYTE[tr_flagaddr+4]=data_address;
 // XBYTE[tr_flagaddr]=0x01;
  address=address+0xa000;                 //發送應答數據
  if(address>0xa7f0)address=0xa080;
  ///////////////////////////////////////////////////
   switch(flag){
     case 0x94:if(checkdata[5]==0){
                    XBYTE[address]=0x94;
                    address++;       //  標識
                    if(address>0xa7f0)address=0xa080;
                    for(i=0;i<289;i++){
                             XBYTE[address]=XBYTE[0X5000+i];
                             address++;
                             if(address>0xa7f0)address=0xa080;
                                       }
                                   }else{
                    XBYTE[address]=0x94;
                    address++;
                    if(address>0xa7f0)address=0xa080;
                       for(i=0;i<289;i++){
                             XBYTE[address]=XBYTE[0X5121+i];
                             address++;
                             if(address>0xa7f0)data_address=0xa080;
                                         }
                    XBYTE[tr_flagaddr]=0x01;
                break;
     case 0x95: j=checkdata[5];
                j=(j-1)*98;
                XBYTE[address]=0x95;       //  標識
                address++;
                if(address>0xa7f0)address=0xa080;
                for(i=0;i<98;i++){
                             XBYTE[address]=XBYTE[0X5242+i+j];
                             address++;
                             if(address>0xa7f0)address=0xa080;
                                   }
               XBYTE[tr_flagaddr]=0x01;
                break;
     case 0x96: j=checkdata[5];
                j=(j-1)*41;
                XBYTE[address]=0x96;       //  標識
                address++;
                if(address>0xa7f0)address=0xa080;
                for(i=0;i<41;i++){
                             XBYTE[address]=XBYTE[0X5e82+i+j];
                             address++;
                             if(address>0xa7f0)address=0xa080;
                                   }
                XBYTE[tr_flagaddr]=0x01;
                break;
     case 0x97: break;
     case 0x98:j=checkdata[5];
                j=(j-1)*74;
                XBYTE[address]=0x96;       //  標識
                address++;if(address>0xa7f0)address=0xa080;
                for(i=0;i<41;i++){
                             XBYTE[address]=XBYTE[0X63a2+i+j];
                             address++;
                             if(address>0xa7f0)address=0xa080;
                                   }
                XBYTE[tr_flagaddr]=0x01;
                break;
     case 0x99: XBYTE[address]=0x99;       //  標識
                address++;
                if(address>0xa7f0)address=0xa080;
                for(i=0;i<60;i++){
                             XBYTE[address]=XBYTE[0X6ce2+i];
                             address++;
                             if(address>0xa7f0)address=0xa080;
                                   }
                XBYTE[tr_flagaddr]=0x01;
                break;
     case 0x9a: break;
     case 0x9b: break;
     case 0x9c:break;
     default:break;
              }
          }
     return 0;

}
//透明性檢驗
void add_transparences()
{
		switch(add_transparence)
		{
			case 0 :
				if(add_bit==1)
				{
					add_transparence=1;
                    add_transparence_valid=0;
				}
				else
				{
					add_transparence=0;
                    add_transparence_valid=0;
				}
				break;
			case 1 :
				if(add_bit==1)
				{
					add_transparence=2;
                    add_transparence_valid=0;
				}
				else
				{
					add_transparence=0;
                    add_transparence_valid=0;
				}
				break;
			case 2:
				if(add_bit==1)
				{
					add_transparence=3;
                    add_transparence_valid=0;
				}
				else
				{
					add_transparence=0;
                    add_transparence_valid=0;
				}
				break;
			case 3:
				if(add_bit==1)
				{
					add_transparence=4;
                    add_transparence_valid=0;
				}
				else
				{
					add_transparence=0;
                    add_transparence_valid=0;
				}
				break;
			case 4:
				if(add_bit==1)
				{
					add_transparence=0;
                    add_transparence_valid=1;
				}
				else
				{
					add_transparence=0;
                    add_transparence_valid=0;
				}
				break;
			}



}

//設置時間
set_time()
{
  unsigned char *p;
  unsigned short check_temp;
  unsigned char i,j;
  unsigned char beginbit=0;           ////////////////////////////////////////

  //設置時間后用
  datanumber=0;
  data_final_number=0;
  tempdata=0;
  XBYTE[0XC009]=checkdata[5];  //year
  XBYTE[0XC008]=checkdata[6];  //month
  XBYTE[0XC007]=checkdata[7];  //date
  XBYTE[0XC004]=checkdata[8];  //hour
  XBYTE[0XC002]=checkdata[9];  //min
  XBYTE[0XC000]=checkdata[10];  //sec
  XBYTE[0XC006]=checkdata[11];  //day
  //應答
  answer_data[0]=h_address;
  answer_data[1]=l_address;
  answer_data[2]=0xcc;
  answer_data[3]=0xc1;
  answer_data[4]=0xd3;
 // answer_data[5]=0x00;
  p=&answer_data[0];
  check_temp=cal_crc(p,5);
  answer_data[5]=(check_temp>>8);    //crc
  answer_data[6]=check_temp;         //crc
  answer_data[7]=0x7e;
  for(i=0;i<8;i++){
        for(j=0;j<8;j++){
           add_bit=(answer_data[i]>>(7-j))%2;
           add_transparences();
           tempdata=tempdata+(add_bit<<(7-data_final_number++));
           if((add_transparence_valid==1) && (i!=7)){ ///////////////////////////////////
                   if(data_final_number==8)beginbit=1;
                                      else data_final_number++;
                                          }      ///////////////////////////////////
           if(data_final_number>=8){             /////////////////////////////////
               if(beginbit==1){                  ////////////////////
                          data_final_number=1;   ////////////////////////
                          beginbit=0;            ////////////////////
                               }else{
                          data_final_number=0;
                                     }
                 data_final[datanumber++]=tempdata; 	  /////////////////////
	        tempdata=0;
                                    }
                         }
                    }
        if( data_final_number!=0)data_final[datanumber++]=tempdata;
        EA=0;
        SBUF=0X7E;
        while(TI==0);TI=0;
	for(i=0;i<datanumber;i++)
	{
	    SBUF=data_final[i];
            while(TI==0);TI=0;

	}EA=1;

}
//設置相位
set_phase()
{
  unsigned char *p;
  unsigned short check_temp;
  unsigned int i;
  unsigned int j,k;
  unsigned char beginbit=0;
  datanumber=0;
  data_final_number=0;
  //設置相位  0X5000
 // EA=0;

  if(checkdata[5]==0){
     for(i=0;i<289;i++){
           XBYTE[0X5000+i]=checkdata[5+i];
           k=eeprom_addr;
           k=k+i;
           XBYTE[k]=checkdata[5+i];
           k=0;
           do{k++;WatchDog = !WatchDog;}while(k<800);
           }
                  }else{
          for(i=0;i<289;i++){
             XBYTE[0X5121+i]=checkdata[5+i];
             k=eeprom_addr;
             k=k+0x121+i;
             XBYTE[k]=checkdata[5+i];
             k=0;
             do{k++;WatchDog = !WatchDog;}while(k<800);
                             }
                        }
  //EA=1;
  //應答
  answer_data[0]=h_address;
  answer_data[1]=l_address;
  answer_data[2]=0xcc;
  answer_data[3]=0xc1;
  answer_data[4]=0xd4;

  p=&answer_data[0];
  check_temp=cal_crc(p,5);
  answer_data[5]=(check_temp>>8);    //crc
  answer_data[6]=check_temp;         //crc
  answer_data[7]=0x7e;

  for(i=0;i<8;i++){
        for(j=0;j<8;j++){
           add_bit=(answer_data[i]>>(7-j))%2;
           add_transparences();
           tempdata=tempdata+(add_bit<<(7-data_final_number++));
           if((add_transparence_valid==1) && (i!=7)){ ///////////////////////////////////
                   if(data_final_number==8)beginbit=1;
                                      else data_final_number++;
                                          }      ///////////////////////////////////
           if(data_final_number>=8){             /////////////////////////////////
               if(beginbit==1){                  ////////////////////
                          data_final_number=1;   ////////////////////////
                          beginbit=0;            ////////////////////
                               }else{
                          data_final_number=0;
                                     }
                 data_final[datanumber++]=tempdata; 	  /////////////////////
	        tempdata=0;
                                    }
                         }
                    }
        if( data_final_number!=0)data_final[datanumber++]=tempdata;
        EA=0;
        SBUF=0X7E;
        while(!TI);TI=0;
	for(i=0;i<datanumber;i++)
	{
	   SBUF=data_final[i];
            while(!TI);TI=0;
	}
         EA=1;
   //更改FPGA數據內容
      tran_fpag(0x94,290);
}
//設置階段表
set_stage()
{
  unsigned char *p;
  unsigned short check_temp;

  unsigned int i;
  unsigned int j,k;
  unsigned char beginbit=0;
  datanumber=0;
  data_final_number=0;
  //設置階段表
  j=(checkdata[5]-1)*98;
  for(i=0;i<98;i++){
          XBYTE[0X5242+i+j]=checkdata[5+i];  //一個階段表寫入
          k=eeprom_addr;
          k=k+0x242+i+j;
          XBYTE[k]=checkdata[5+i];
          k=0;
          do{k++;WatchDog = !WatchDog;}while(k<800);
                    }
  //應答
  answer_data[0]=h_address;
  answer_data[1]=l_address;
  answer_data[2]=0XCC;
  answer_data[3]=0XC1;
  answer_data[4]=0XD5;
  p=&answer_data[0];
  check_temp=cal_crc(p,5);
  answer_data[5]=(check_temp>>8);    //crc
  answer_data[6]=check_temp;         //crc
  answer_data[7]=0x7e;

  for(i=0;i<8;i++){
        for(j=0;j<8;j++){
           add_bit=(answer_data[i]>>(7-j))%2;
           add_transparences();
          // if((add_transparence_valid==1) && (i!=17))data_final_number++;
           tempdata=tempdata+(add_bit<<(7-data_final_number++));
           if((add_transparence_valid==1) && (i!=7)){ ///////////////////////////////////
                   if(data_final_number==8)beginbit=1;
                                      else data_final_number++;
                                          }      ///////////////////////////////////
           if(data_final_number>=8){             /////////////////////////////////
               if(beginbit==1){                  ////////////////////
                          data_final_number=1;   ////////////////////////
                          beginbit=0;            ////////////////////
                               }else{
                          data_final_number=0;
                                     }
                 data_final[datanumber++]=tempdata; 	  /////////////////////
	        tempdata=0;
                                    }
                         }
                    }
        if( data_final_number!=0)data_final[datanumber++]=tempdata;
        EA=0;
        SBUF=0X7E;
        while(!TI);TI=0;
	for(i=0;i<datanumber;i++)
	{
	    SBUF=data_final[i];
            while(!TI);TI=0;
	}
        EA=1;
        tran_fpag(0x95,99);
}
//設置當前方案
set_project()
{
  unsigned char *p;
  unsigned short check_temp;

  unsigned int i,k;
  unsigned int j;
  unsigned char beginbit=0;
  data_final_number=0;
  datanumber=0;
  //設置當前方案
  j=(checkdata[5]-1)*41;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久国产精品色婷婷| 国产.精品.日韩.另类.中文.在线.播放| 91麻豆精品国产91| 国产精品88888| 亚洲国产精品自拍| 国产精品久久久久三级| 日韩视频永久免费| 色琪琪一区二区三区亚洲区| 韩国一区二区三区| 污片在线观看一区二区| 亚洲欧美日韩一区| 国产日韩欧美a| 欧美一个色资源| 色综合久久88色综合天天免费| 韩国精品久久久| 美女久久久精品| 亚洲一级二级在线| 日韩码欧中文字| 国产欧美日韩三级| 精品国产污污免费网站入口| 在线播放欧美女士性生活| 91激情在线视频| 波多野结衣在线一区| 久草中文综合在线| 久久精品国产精品亚洲红杏| 日韩在线一二三区| 亚洲在线一区二区三区| 一区二区三区免费观看| 自拍偷拍欧美激情| 国产精品久久久久久久第一福利| 亚洲精品一区二区三区蜜桃下载 | 777欧美精品| 欧美怡红院视频| 一本一道波多野结衣一区二区| 国产成人在线免费| 国产成人综合亚洲91猫咪| 国产精品一品二品| 懂色av一区二区三区蜜臀| 国产成人免费av在线| 处破女av一区二区| caoporen国产精品视频| 91视频.com| 欧洲亚洲精品在线| 777色狠狠一区二区三区| 欧美高清一级片在线| 91精品国产欧美一区二区| 日韩免费视频一区| 精品国产百合女同互慰| 久久精品在这里| 最新中文字幕一区二区三区 | 欧美日本一道本| 欧美日韩国产欧美日美国产精品| 欧美影院一区二区三区| 在线成人av网站| 欧美成va人片在线观看| 国产婷婷一区二区| 亚洲视频1区2区| 亚洲国产综合在线| 日韩av成人高清| 精品一区二区三区在线观看国产| 国产一区二区三区精品欧美日韩一区二区三区 | 中文字幕综合网| 一区二区三区.www| 日本伊人午夜精品| 国产精品亚洲第一区在线暖暖韩国| 成人永久免费视频| 欧美日韩一区中文字幕| 日韩视频一区二区| 国产精品色哟哟| 亚洲一二三四区不卡| 美女脱光内衣内裤视频久久影院| 国产乱码精品一区二区三| 成人av影院在线| 欧美日韩精品免费| 国产日韩v精品一区二区| 亚洲乱码国产乱码精品精小说 | aaa欧美大片| 欧美日韩精品三区| 久久午夜羞羞影院免费观看| 日韩伦理电影网| 免费看日韩a级影片| 国产高清在线精品| 欧美军同video69gay| 国产欧美久久久精品影院| 亚洲精品成人天堂一二三| 久久www免费人成看片高清| 成人性视频网站| 欧美日韩国产系列| 国产精品国产馆在线真实露脸| 天天综合天天综合色| caoporn国产精品| 欧美白人最猛性xxxxx69交| 亚洲精品免费在线| 国产91高潮流白浆在线麻豆| 欧美精品亚洲二区| 中文字幕亚洲一区二区va在线| 日本欧美一区二区三区乱码| av在线一区二区| 日韩精品一区二区三区在线观看 | 久久国产夜色精品鲁鲁99| 99视频有精品| www激情久久| 日韩中文字幕区一区有砖一区| 97精品国产露脸对白| 精品国产一区二区三区忘忧草| 一区二区三区四区国产精品| 国产伦精品一区二区三区免费| 欧美色男人天堂| 亚洲色图欧美激情| 国产精品123| 欧美va亚洲va| 蜜桃视频在线观看一区| 欧美性感一区二区三区| 综合久久综合久久| 成人一区二区三区中文字幕| 久久综合成人精品亚洲另类欧美| 偷拍一区二区三区四区| 欧美羞羞免费网站| 亚洲激情一二三区| 99精品国产视频| 国产精品区一区二区三| 国产精品中文字幕日韩精品| 日韩三级.com| 日本不卡视频在线观看| 91精品国产综合久久蜜臀| 亚洲一区二区三区四区五区黄 | 狠狠色丁香婷婷综合| 欧美精品一级二级| 婷婷国产在线综合| 欧美日韩一卡二卡三卡| 午夜亚洲福利老司机| 欧美日韩一区久久| 丝袜a∨在线一区二区三区不卡| 欧美日免费三级在线| 午夜激情一区二区三区| 欧美亚洲动漫精品| 天天爽夜夜爽夜夜爽精品视频| 欧美在线免费观看亚洲| 亚洲黄色录像片| 91久久线看在观草草青青| 亚洲在线成人精品| 91精品婷婷国产综合久久竹菊| 亚洲r级在线视频| 日韩视频不卡中文| 极品美女销魂一区二区三区| 精品国产髙清在线看国产毛片| 韩国一区二区视频| 欧美国产日韩精品免费观看| 不卡大黄网站免费看| 亚洲精品久久久蜜桃| 欧美精品 日韩| 久久99国产精品久久| 国产欧美日本一区二区三区| av不卡在线观看| 亚洲地区一二三色| 欧美成人精品二区三区99精品| 国内久久精品视频| 中文字幕在线一区免费| 欧美天天综合网| 久久精品999| 国产精品久久久久一区二区三区| 色综合久久中文综合久久牛| 亚洲国产精品久久人人爱 | 久久久精品国产免大香伊 | 成人黄色片在线观看| 一区二区成人在线视频| 日韩精品一区二区三区在线播放| 高清视频一区二区| 亚洲成人av免费| 久久亚区不卡日本| 在线视频欧美精品| 美女免费视频一区二区| 国产精品少妇自拍| 这里只有精品免费| 成人午夜免费电影| 天堂蜜桃一区二区三区| 欧美国产丝袜视频| 91精品国产91久久久久久一区二区 | 亚洲一区二区三区四区在线观看 | 国产蜜臀av在线一区二区三区| 91一区二区三区在线观看| 免费人成在线不卡| 亚洲青青青在线视频| 欧美成人一区二区三区在线观看| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 日韩综合小视频| 亚洲欧洲另类国产综合| 欧美成人a在线| 欧美熟乱第一页| 粉嫩aⅴ一区二区三区四区 | 亚洲精品在线网站| 精品视频一区二区三区免费| 成人深夜在线观看| 美女国产一区二区三区| 亚洲一区二区三区美女| 国产精品免费免费| 久久麻豆一区二区| 日韩一区二区精品在线观看| 91蜜桃网址入口| 国产成人精品aa毛片|