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

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

?? 打包機.txt

?? ad7705在打包機儀表中的應用
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
bit err_set;
bit pack_finish;
unsigned int data stand[3];
unsigned char point;
unsigned char mul;
unsigned char compare;
unsigned int dat_a1,dat_a2;
unsigned char big,low;
unsigned int pack_num;
unsigned int aim_dat;
unsigned char luocha_dat;
void INT0_SVC() interrupt 0
{
Key = ZLG7289_Key();
}
void main()
{
  TMOD = 0x01;
  EA = 0;
  IT0 = 1; 
  EA = 1;
  ZLG7289T_Init(); 
  ZLG7289_Init(); 
  ZLG7289T_Reset();
  pack_finish=0;

  while(1)
  {
    main_ini();
    while(key_press&err_set)
    {
      unsigned char F_delay_num;
	  for(F_delay_num=0;F_delay_num<Fdelay_num;F_delay_num++)
	  {
	   weigh_dis();
       key_main(Key);

       if(!start)
       {
        AUTO_PACK();
	    key_press=0;
        _nop_();
       } 
      }
      if(pack_finish)
	  finish=!finish;
    }
  }
}
void AUTO_PACK()
{
  err();
  if(err_set)
  {
   pack_control=1;
  if(big_dat==aim_dat)
  unsmall_screw();
  else
  Hsmall_screw();
  pack_control=0;
  Delay (5);
  pack_num++;
  if(pack_num==10000)pack_num=0;
  Write_A_Page(dis_6,ZLG7289T_N,pack_2402);
  AUTO_luocha();
  pack_finish=1;
  }
}
void Hsmall_screw()
{ 
   unsigned char equal_big=0,equal_small=0;
   big_control=1;
   while(equal_big<equal_big_max)
   {
    unsigned int com;
	com=big_dat*10;
      big_control=0;
   Delay (5);//

   small_control=1;
   while(equal_small<equal_small_max)
   {
    unsigned int com;
    com=(aim_dat-luocha_dat)*10;
    if(dat_a2<com)
	{
	 weigh_dis();
	 equal_small=0;
	}
	else 
	equal_small++;
   }
   small_control=0;
   Delay (5);
}

void unsmall_screw()
{
  unsigned char unequal_big=0;
  big_control=1;
  while(unequal_big<unequal_big_max)
  {
   unsigned int com;
   com=(aim_dat-luocha_dat)*10;
   if(dat_a2<com)
	{
	 weigh_dis();
	 unequal_big=0;
	}
	else 
	unequal_big++;
   }
   big_control=0; 
   Delay (5);//
}
AUTO_luocha()
{
 unsigned int dat_adin,dat_adten=0,sub_dat;
 unsigned char i;
 for(i=0;i<5;i++)
 {
   dat_adin=operation(stand,mul);
   dat_adten=dat_adten+dat_adin;
 }
 dat_adten=dat_adten/50;
  Read_N_Bytes(dis_6,luocha_num,luo_2402 );
 dis_6[1]=luocha_dat/10;
 dis_6[0]=luocha_dat%10;
 Write_A_Page(dis_6,luocha_num,luo_2402);
}

void err()
{
   if(big_dat>aim_dat)
  err_num=2;
}
void ZLG7289Tdis_e(unsigned char e_num)
{
 ZLG7289T_Hide(0xff);
 ZLG7289T_Download(0, 0, 0, 0x0a);
 ZLG7289T_Download(0, 5, 0, 0x0a);
 ZLG7289T_Flash(0);
}
/*
函數:void main_ini()
功能:系統初始化
*/
void main_ini()
{
	big_control=0;
	small_control=0;
	pack_control=0;
	finish=0;
    dat_a1=0;
    dat_a2=0;
    Read_N_Bytes(dis_6,ZLG7289T_N,pack_2402);
	ZLG7289T_dissapear(ZLG7289T_N,l_num,dis_6,0);
    pack_num=dis_6[5]*1000+dis_6[4]*100+dis_6[3]*10+dis_6[2];

    big_dat=dis_6[1]*10+dis_6[0];
	luocha_dat=dis_6[3]*10+dis_6[2];
	if(point)
	{
	  aim_dat=aim_dat*10;
	}
}
void Delay (unsigned int t)
{
	do
	{
		TH0 = 0xDC;
		TL0 = 0x00;
		TR0 = 1;
		while ( !TF0 );
		TF0 = 0;
		TR0 = 0;
	} while (--t);
}

void switch_point()
{

 point=Read_One_Byte(point_2402);
 switch(point)
 {
   case 0: compare=5;break;
   case 1: compare=15;break;
   default: break;
 }
}
void weigh_dis()
{
 dat_a1=operation(stand,mul);
 if(dat_a1<10)   
 {
  dat_a1=0;
  dat_a2=0;
  dis_6[0]=0 ;
  dis_6[1]=0 ;
  dis_6[2]=0 ;
  dis_6[3]=0 ;
  dis_6[4]=0 ;        
  polar=0;
  }
 else   
 {
  if(dat_a1>dat_a2)
  {
	if((dat_a1-dat_a2)>compare)
	{
	  big++;
	  low=0;
	}
   }
   else
   {
     if((dat_a2-dat_a1)>compare)
	 {
	   low++;
	   big=0;
	 }
   }
 }
}
void stand_operation(unsigned int *p)
{
  unsigned char data dat_s8[6]; 
  unsigned int data dat16;      
  unsigned int data dat16_ad0;  
  unsigned int data dat16_ad1;  
  Read_N_Bytes(dat_s8,ZLG7289_N,sw1h_2402);
  dat16=dat_s8[3]*1000+dat_s8[2]*100+dat_s8[1]*10+dat_s8[0];  
  Read_N_Bytes(dat_s8,2,sw0Ah_2402);
  dat16_ad0=dat_s8[1]*256+dat_s8[0];
  dat16_ad1=dat_s8[1]*256+dat_s8[0];
  p[0]=dat16;                
  p[1]=dat16_ad1-dat16_ad0;   
  p[2]=dat16_ad0;             
}

unsigned int operation(unsigned int *p,unsigned char mul)
{
   unsigned long data dat_float;  
   unsigned int xdata dat_ad; 
   unsigned  int data sub;  
   dat_ad=ReadData7705();    
   if(dat_ad>p[2])       
   {
    polar=0;               
   }
   else                      
   {
    polar=1;                 
    sub=p[2]-dat_ad;     
   }        
   dat_float=(unsigned long)p[0]*sub;   
   dat_float=dat_float/p[1]; 
   return dat_float;
}
void dis_p(unsigned char *dis,unsigned int dat_sixteen,unsigned char point)
{
    unsigned char i,m=2;
    unsigned  int div=10000;
	dat_sixteen=dat_sixteen/10;
	dis[5]=0;//清掉不用的位
    for(i=4;i>0;i--)
    {
	 dis[i]=dat_sixteen/div;
	 dat_sixteen=dat_sixteen%div;
	 div=div/10;
	}
	dis_6[0]=dat_sixteen;
	if (point)dis[1]=dis[1]|0x80;
}
/*
函數:dis_polar
功能:加正負號顯示程序
參數:
      polar:極性 0 正
                 1 負
	  *p:顯示的數組
*/
void dis_polar(bit polar,unsigned char *p)
{
 unsigned char i=4;
 bit bdata pol=1;
 if(polar)
 {
  while(pol&(bit)i)
  {
   if(p[i])
   {
    p[i+1]=0x0A;
	pol=0;
   }
   i--;
  }
 }
}


/*========對2402的讀寫========*/
/*調用時需要參數DELY_TIME*/
#include <2402.h>
/*
函數:delayus(unsigned int t)
功能:毫秒級的時間延時函數
參數:t:延時的時間
*/

void delayus(unsigned int data t)
 {
  while(t!=0)
  t--;
 }

/*
函數:I2C_Start(void)
功能:啟動I2C總線
參數:
說明:當SCL為高電平時使SDA產生一個負跳變
*/

void I2C_Start(void)
 {
  SDA=1;
  SCL=1;
  delayus(DELAY_TIME);
  SDA=0;
  delayus(DELAY_TIME);
  SCL=0;
  delayus(DELAY_TIME);
 }

/*
函數:I2C_Stop(void)
功能:終止I2C總線
參數:
說明:當SCL為高電平時使SDA產生一個正跳變
*/
 
void I2C_Stop(void)
 {
  SDA=0;
  SCL=1;
  delayus(DELAY_TIME);
  SDA=1;
  delayus(DELAY_TIME);
  SCL=0;
  delayus(DELAY_TIME);
 }

/*
函數:SEND_0(void)
功能:發送0
參數:
說明: 在SCL為高電平時使SDA信號為低
*/

void SEND_0(void)
 {
  SDA=0;
  SCL=1;
  delayus(DELAY_TIME);
  SCL=0;
  delayus(DELAY_TIME);
 }

/*
函數:SEND_1(void)
功能:發送1
參數:
說明:在SCL為高電平時使SDA信號為高
*/
 
void SEND_1(void)
 {
  SDA=1;
  SCL=1;
  delayus(DELAY_TIME);
  SCL=0;
  delayus(DELAY_TIME);
 }

/*
函數:Check_Acknowledge(void)
功能:發送完一個字節后檢驗設備的應答信號
參數:
說明: 
*/
  
bit Check_Acknowledge(void)
 {
  char data F0;
  SDA=1;
  SCL=1;
  delayus(DELAY_TIME/2);
    F0=SDA;
  delayus(DELAY_TIME/2);
    SCL=0;
  delayus(DELAY_TIME);
   if(F0==1)
  return FALSE;
  return TRUE;
 }

/*
函數:WriteI2CByte(char b)
功能:向I2C總線寫一個字節
參數:b:寫入的字節
說明: 
*/ 

void WriteI2CByte(char b)
 {
  char data i;
  for(i=0;i<8;i++)
  if((b<<i)&0x80)
     SEND_1();
  else
     SEND_0();
 }

/*
函數:ReadI2CByte(void)
功能:從I2C總線讀一個字節
參數:
說明: 
*/ 
 
char ReadI2CByte(void)
 {
 char data  b=0,i,F0;
 for(i=0;i<8;i++)
  {
   SDA=1;          /*釋放總線*/
   SCL=1;          /*接受數據*/
     delayus(10);
   F0=SDA;
     delayus(10);
   SCL=0;
    if(F0==1)
     {
      b=b<<1;
      b=b|0x01;
     }
    else
   b=b<<1;
  }
  return b;
 }

/*
函數:Write_One_Byte(char addr,char thedata)
功能:向2402寫一個字節
參數:addr: 數據存儲的地址
      thedata:所要存儲的數據
說明: 
*/ 

void Write_One_Byte(char addr,char thedata)
 {
   bit acktemp=1;
   I2C_Start();                /*總線開始*/
   WriteI2CByte(0xa0);
   acktemp=Check_Acknowledge();/*發送完一個字節后檢驗設備的應答信號*/
   WriteI2CByte(addr);         /*向address首地址開始寫數據*/
   acktemp=Check_Acknowledge();/*發送完一個字節后檢驗設備的應答信號*/
   WriteI2CByte(thedata);      /*把thedata寫進去*/
   acktemp=Check_Acknowledge();/*發送完一個字節后檢驗設備的應答信號*/
   I2C_Stop();                 /*總線停止*/
 }

/*
函數:Write_A_Page(char *buffer,char m,char addr)
功能:向2402寫一個數組
參數:*buffer:所要存儲的數組
       m:存儲的字節數
      addr: 數據存儲的首地址
說明: 
*/  

void Write_A_Page(char *buffer,char m,char addr)
 {
   bit acktemp=1;
   int i;
   I2C_Start();
   WriteI2CByte(0xa0);
   acktemp=Check_Acknowledge();/*發送完一個字節后檢驗設備的應答信號*/
   WriteI2CByte(addr);         /*address*/
   acktemp=Check_Acknowledge();/*發送完一個字節后檢驗設備的應答信號*/
   for(i=0;i<m;i++)
   {
    WriteI2CByte(buffer[i]);
     if(!Check_Acknowledge())
      {
       I2C_Stop();
      }
   }
   I2C_Stop();
 }

/*
函數:Read_One_Byte(char addr)
功能:從2402讀一個子節
參數:addr: 數據存儲的地址
說明: 
*/  
 
char Read_One_Byte(char addr)
 {
   bit acktemp=1;
   char mydata;
   I2C_Start();           /*啟動I2C總線*/
   WriteI2CByte(0xa0);    /*向I2C總線寫一個字節*/
   acktemp=Check_Acknowledge();/*發送完一個字節后檢驗設備的應答信號*/
   WriteI2CByte(addr);         /*向I2C總線寫一個字節,addr 是地址*/
   acktemp=Check_Acknowledge();/*發送完一個字節后檢驗設備的應答信號*/
   I2C_Start();
   WriteI2CByte(0xa1);
   acktemp=Check_Acknowledge();/*發送完一個字節后檢驗設備的應答信號*/
   mydata=ReadI2CByte();
   acktemp=Check_Acknowledge();/*發送完一個字節后檢驗設備的應答信號*/
   return mydata;
   I2C_Stop();            /*停止I2C總線*/
 }

/*
函數:Read_N_Bytes(char *buffer,char n,char addr)
功能:從2402順序讀n個字節到指定的數組
參數:*buffer:讀取的字節數據所要存儲的數組
       n:讀取的字節數
      addr: 數據所存儲的首地址
說明: 
*/  
 
void Read_N_Bytes(char *buffer,char n,char addr)
 {
   bit acktemp=1;
   int data i=0;
   I2C_Start();           /*啟動I2C總線*/
   WriteI2CByte(0xa0);
   acktemp=Check_Acknowledge();/*發送完一個字節后檢驗設備的應答信號*/
   WriteI2CByte(addr);         /*address*/
   acktemp=Check_Acknowledge();/*發送完一個字節后檢驗設備的應答信號*/
   I2C_Start();
   WriteI2CByte(0xa1);
   acktemp=Check_Acknowledge();/*發送完一個字節后檢驗設備的應答信號*/
   for(i=0;i<n;i++)
   {
    buffer[i]=ReadI2CByte();
     if(i!=n-1)
      SEND_0();    /*發送應答*/
     else
      SEND_1();    /*發送非應答*/
   }
   I2C_Stop();     /*停止I2C總線*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美韩国日本综合| 亚洲午夜私人影院| 欧美综合一区二区三区| 亚洲一区二区三区影院| 欧美va日韩va| 99久久精品一区| 五月婷婷久久丁香| 久久久不卡网国产精品一区| 欧美这里有精品| 国产麻豆精品95视频| 综合久久国产九一剧情麻豆| 777xxx欧美| 欧美性淫爽ww久久久久无| 免费在线观看成人| 亚洲欧美日韩一区| 337p粉嫩大胆噜噜噜噜噜91av | 国产精品视频免费看| 91麻豆精品国产综合久久久久久 | 国产精品乱码久久久久久| 日韩视频不卡中文| 91美女片黄在线| 成人一区二区视频| 国产精品18久久久久久久网站| 麻豆久久久久久| 丝袜a∨在线一区二区三区不卡| 亚洲女人的天堂| 亚洲精品成人少妇| 午夜精品久久久久影视| 日韩在线卡一卡二| 香蕉久久一区二区不卡无毒影院| 亚洲日本在线看| 一区二区欧美国产| 精品制服美女久久| 日本欧美一区二区三区| 日韩国产精品久久| 六月婷婷色综合| 国产另类ts人妖一区二区| 国产99久久久国产精品| 99热在这里有精品免费| 色视频成人在线观看免| 欧美乱熟臀69xxxxxx| 久久精品欧美一区二区三区不卡| 国产免费久久精品| 日韩在线一区二区| 成人性视频免费网站| 欧美日韩国产天堂| 日本一区二区三区dvd视频在线| 国产精品久久久久一区二区三区共| 一区二区欧美国产| 高清成人免费视频| 日韩精品中午字幕| 国产很黄免费观看久久| 99久免费精品视频在线观看| 欧美视频在线播放| 国产精品伦理在线| 久久99精品久久久| 欧美日韩久久久一区| 亚洲精品少妇30p| 国产精品乡下勾搭老头1| 日韩亚洲欧美在线| 免费在线一区观看| 51精品国自产在线| 亚洲超碰精品一区二区| 欧美综合亚洲图片综合区| 亚洲三级免费电影| 91高清视频免费看| 一二三四社区欧美黄| 91小视频在线免费看| 亚洲色图色小说| 欧美中文一区二区三区| 日韩精品一二三四| 欧美电影免费观看高清完整版在线观看 | 国内精品久久久久影院一蜜桃| 欧美日韩激情一区二区| 日韩国产欧美在线观看| 日韩一区二区三区av| 国内精品第一页| 中文字幕亚洲欧美在线不卡| 99re这里都是精品| 婷婷综合五月天| 欧美精品一区二区久久婷婷| 成人性色生活片| 亚洲国产精品久久久久婷婷884| 欧美精品视频www在线观看| 美女免费视频一区| 亚洲免费观看高清完整版在线| 欧美国产丝袜视频| 色一区在线观看| 久久av资源网| 一区二区三区日本| 精品国产麻豆免费人成网站| 成人高清视频在线| 蜜臀a∨国产成人精品| 亚洲男人的天堂在线观看| 日韩精品在线看片z| 欧美日韩一本到| 91原创在线视频| 成人在线视频一区| 精品亚洲欧美一区| 亚洲不卡av一区二区三区| 中文字幕一区二区三区精华液| 日韩三级伦理片妻子的秘密按摩| 99精品在线观看视频| 国产高清在线精品| 久久国产人妖系列| 免费av成人在线| 免费成人在线播放| 免费成人小视频| 蜜桃视频第一区免费观看| 婷婷久久综合九色国产成人| 亚洲午夜私人影院| 石原莉奈在线亚洲三区| 日本美女一区二区| 久久97超碰色| 国产精品538一区二区在线| 国产福利91精品一区二区三区| 国产美女精品人人做人人爽| 国产一区二区久久| 成人污视频在线观看| 91女神在线视频| 欧美日韩免费一区二区三区| 欧美精品免费视频| 久久精品视频网| 亚洲午夜私人影院| 黑人精品欧美一区二区蜜桃| 成人av在线一区二区三区| 日本高清视频一区二区| 精品国产一区a| 亚洲国产中文字幕| 精久久久久久久久久久| 成人黄色777网| 欧美体内she精高潮| 亚洲三级在线观看| 成人h动漫精品一区二| 欧美日韩一区二区三区在线| 麻豆极品一区二区三区| 欧美自拍丝袜亚洲| 欧美日韩色一区| 18欧美亚洲精品| 国内欧美视频一区二区| 在线影视一区二区三区| 国产午夜亚洲精品理论片色戒| 日韩有码一区二区三区| 91在线视频播放地址| 欧美变态口味重另类| 亚洲成av人**亚洲成av**| 色综合一区二区| 亚洲少妇屁股交4| 99久久久久久| 日韩美女啊v在线免费观看| 国产麻豆精品一区二区| 久久久久久电影| 国产aⅴ精品一区二区三区色成熟| 欧美一区二区播放| 日本亚洲天堂网| 日韩美女在线视频| 国产精品77777竹菊影视小说| 26uuu国产一区二区三区| 国产精品一二三区在线| 国产午夜久久久久| 亚洲成人午夜影院| 蜜臀91精品一区二区三区| 欧美精品一卡二卡| 97精品电影院| 国产成人午夜高潮毛片| 毛片不卡一区二区| 日本午夜一区二区| 美女视频网站黄色亚洲| 亚洲午夜免费电影| 精品国产第一区二区三区观看体验| 韩国三级中文字幕hd久久精品| 国产精品每日更新| 日韩免费视频线观看| 91年精品国产| 国产99久久久精品| 青青青伊人色综合久久| 18涩涩午夜精品.www| 久久视频一区二区| 91麻豆精品国产自产在线观看一区| 国产91丝袜在线播放九色| 日韩av电影免费观看高清完整版 | 亚洲视频在线一区观看| 精品日韩一区二区三区| 欧美精品久久久久久久多人混战| 精品一区二区免费在线观看| 亚洲成人先锋电影| 日本麻豆一区二区三区视频| 婷婷开心久久网| 日韩激情av在线| 久久精品国产澳门| 美国三级日本三级久久99| 久久精品国产亚洲a| 国产精品一二二区| av在线播放不卡| 欧美日韩一区 二区 三区 久久精品| 精品视频资源站| www国产精品av| 亚洲三级在线免费观看| 日精品一区二区| 国产成人av电影免费在线观看|