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

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

?? 打包機.txt

?? ad7705在打包機儀表中的應用
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
 }

void main()
{
 while(1)
 {
   unsigned char j;
   for(j=0;j<5;j++)
   {
   dat[j]= ReadData7705();
   }
   _nop_();
  }
}*/

//-------------------------讀取AD7705轉換數據函數--
//入口參數:無
//出口參數:去掉最大值和最小值后的平均值(5個數據)
//------------------------------------------------
unsigned int ReadData7705()
{
 unsigned int fiter[5],fiter_d;
 unsigned char read_num;
 unsigned long temp;
 bit sort_flag;
 ad7705_ini();
 for(read_num=0;read_num<5;read_num++)
 {
 reset_AD7705();
 write_AD7705_byte(0x20);//寫通信寄存器,選擇通道1,將下一次操作設為寫時鐘寄存器
 write_AD7705_byte(0x01);//寫時鐘寄存器,不分頻,更新頻率25Hz
 write_AD7705_byte(0x10);//寫通信寄存器,選擇通道1
 write_AD7705_byte(0x3e);//寫設置寄存器4,單極性,非緩沖模式,清除濾波器同步,不啟動對1通道的自校準
 while(ad7705_rdy);     //等待轉換結束
 write_AD7705_byte(0x38);//寫通信寄存器,下一次操作為讀數據寄存器
 fiter[read_num]= read_AD7705_word();
 }
 sort_flag = 1;//排序程序
 while( sort_flag )
 {
   unsigned char i;
   sort_flag = 0;
   for( i=0; i<4; i++ )
   {
    if( fiter[i] > fiter[i+1] )
    {
     fiter_d = fiter[i];
     sort_flag = 1;
    }
   }
 }
 temp=((unsigned long)fiter[1]+fiter[2]+fiter[3])/3;
 fiter_d=(unsigned int) temp;
 return fiter_d;
}
//-------------------------------------------
//函數:reset_AD7705
//功能:AD7705串行接口失步后將其復位。復位后要延時500us再訪問
//-------------------------------------------
void reset_AD7705()
{
  unsigned char i;
  ad7705_din=1;
  for( i=0; i<36; i++ )
  {
    ad7705_clk=0;
    ad7705_clk=1;
  }
}

//------------------------------------------
//函數:write_AD7705_byte
//功能:往AD7705寫8位數據
//------------------------------------------
void write_AD7705_byte(unsigned char wr_dat)
{
 unsigned char i;
 for(i=0; i<8;i++)
 {
  ad7705_clk=0;
  ad7705_din=(bit)(wr_dat&0x80);
  ad7705_clk=1;
  wr_dat=wr_dat<<1;
  }
}
//------------------------------------------
//函數:read_AD7705_word
//功能:從AD7705讀一個字的數據,共16bit
//------------------------------------------
unsigned int read_AD7705_word()
{
 unsigned int read_dat=0;
 unsigned char i;
 for(i=0;i<16;i++)
 {
  read_dat=read_dat<<1;
   ad7705_clk=0;
   if(ad7705_dout)read_dat++;
   ad7705_clk=1;
 }
  return read_dat;
}
//------------------------------------------
//函數:AD7705_ini
//功能:AD7705初始化
//------------------------------------------
void ad7705_ini()
{
 reset_AD7705();
 write_AD7705_byte(0x20);//寫通信寄存器,選擇通道1,將下一次操作設為寫時鐘寄存器
 write_AD7705_byte(0x01);//寫時鐘寄存器,不分頻,更新頻率25Hz
 write_AD7705_byte(0x10);//寫通信寄存器,選擇通道1
 write_AD7705_byte(0x7e);//寫設置寄存器4,單極性,非緩沖模式,清除濾波器同步,啟動對1通道的自校準
}

void key_main (volatile unsigned char Key)
{
 EX0 = 0;
 EA = 0;
 switch (Key)
 {
 	case key_set:
	     pkey_set();
         key_press=0;
		 break;
	case key_sw0:
		 pkey_sw0();
         key_press=0;
		 break;
	case key_aim:
	     pkey_aim();
         key_press=0;
		 break;
	default:
		break;
 }
 EX0 = 1;
}
void ZLG7289Tdis_f(unsigned char f_num)
{
 ZLG7289T_Hide(0xff);
 ZLG7289T_Download(0, 0, 0, 0x0a);
 ZLG7289T_Download(0, 5, 0, 0x0a);
}

void ZLG7289dis_f(unsigned char f_num)
{
 ZLG7289_Hide(0xff);
 ZLG7289_Download(0, 0, 0, 0x0a);
 ZLG7289_Download(0, 5, 0, 0x0a);
}
array_l(unsigned char num,unsigned char start_num,unsigned char dat)
{
 unsigned char data i;
 for(i=num;i>0;i--)
 {
   dis_6[start_num+i-1]=dis_6[start_num+i-2];
 }
 dis_6[start_num]=dat;
}
unsigned char pkey_l(unsigned char num,unsigned char start_num)
{
 unsigned char data aim_over;
 switch (Key)
  {
	case key_ok:
	    aim_over=0x01;
		break;
	case key_back:
	    aim_over=0x02;
		break;
	case key_set:
	    aim_over=0x04;
		break;
	default:
	    aim_over=0x00;
		break;
   }
 return aim_over;
}

void pkey_aim()
{
 unsigned char data keysgn_aim=0;
 bit ok_back=1;
 Read_N_Bytes(dis_6,ZLG7289T_N,pack_2402);
 ZLG7289dis_f(l_aim);
 while(!keysgn_aim|ok_back)
 {
   Key = ZLG7289_Key();
   keysgn_aim=pkey_l(l_num,0);
   switch (keysgn_aim)
   {
 	 case 1:
	     ok_back=0;
		 Write_A_Page(dis_6,ZLG7289T_N,pack_2402);
		 break;
	 case 2:
	     ok_back=0;
		 break;
	 case 3:
	     ZLG7289T_dissapear(  ZLG7289_N,l_num,dis_6,1);
		 ok_back=1;
		 break;
	 default:
		 break;
    }
  }
}
void pkey_sw0()
{

 unsigned char data i;
 bit sw0_over=1;
 for(i=0;i<6;i++)
 {
   dis_6[i]=0;
 }
 ZLG7289_dissapear( ZLG7289_N,dis_6);
 ZLG7289Tdis_f(l_sw0);
 while(sw0_over)
 {
   Key = ZLG7289_Key();
   Delay(20);
   switch (Key)
   {
    unsigned char data ad7730_dat8[2];
    unsigned int data ad7730_dat;
	case key_ok:
        ad7730_dat8[1]=ad7730_dat>>8;
	Write_A_Page(ad7730_dat8,2,sw0Ah_2402);
        sw0_over=0;
		break;
	case key_back:
	    sw0_over=0;
		break;
	default:
	    sw0_over=1;
		break;
    }
  }
}
void pkey_sw1()
{
 unsigned char data loop ,keysgn_sw1=0;
 bit ok_back=1;
 for(loop=0;loop<6;loop++)
 {
  dis_6[loop]=0;
 }
 ZLG7289_dissapear( ZLG7289_N,dis_6);
 ZLG7289Tdis_f(l_sw1);
 while(!keysgn_sw1|ok_back)
 {
   Key = ZLG7289_Key();
   Delay(20);
   keysgn_sw1=pkey_l(ZLG7289_N,0);
   switch (keysgn_sw1)
   {
 	 unsigned char data ad7730_dat8[2];
         unsigned int ad7730_dat;
	 case 1:
	     ok_back=0;
        ad7730_dat8[1]=ad7730_dat>>8;
	Write_A_Page(ad7730_dat8,2,sw1Ah_2402);
		 break;
	 case 2:
	     ok_back=0;
		 break;
	 case 3:
	     ZLG7289_dissapear(  ZLG7289_N,dis_6);
		 ok_back=1;
		 break;
	 default:
		 break;
   }
 }
}
void pkey_setdis(unsigned char file_n)
{
   unsigned char idata loop;
   for(loop=0;loop<6;loop++){dis_6[loop]=0;}
   if(file_n==4)
   {
	    Read_N_Bytes(dis_6,2,big_2402);
		ZLG7289_dissapear( ZLG7289_N,dis_6);
		ZLG7289Tdis_f(file_n);
	}
	if(file_n==5)
	{
	    dis_6[0]=Read_One_Byte(point_2402);
		ZLG7289_dissapear( ZLG7289_N,dis_6);
		ZLG7289Tdis_f(file_n);
	}
	
}

void pkey_set()
{
  while(!keysgn_set|ok_back)
 {
   unsigned char idata led_num,led_start,addr2402;
   bit one_two;
   Key = ZLG7289_Key();
   Delay(20);
   switch (file_n)
   {
        case 4:
	    led_num=0x02;
		led_start=0x00;
		addr2402=big_2402;
		one_two=0;
		break;
	case 5:
	    led_num=0x01;
		led_start=0x00;
	    addr2402=point_2402;
		one_two=0;
		break;
	
	}
   keysgn_set=pkey_l(led_num,led_start);
   switch (keysgn_set)
   {
 	 case 1:
	     ok_back=0;
		 if(file_n==6)
		 {
		    dis_6[point]&=0x7f;
		  }
		 Write_A_Page(dis_6,led_num,addr2402);
		 break;
	 case 2:
	     ok_back=0;
		 break;
	 case 3:
		 if(file_n==5)
		 {
		 if(dis_6[0]>point_max)dis_6[0]=0;
		 }
		break;
	 case 4:
		 file_n++;
		 if(file_n>7)file_n=4;
		 ok_back=1;
		 pkey_setdis(file_n);
		 break;
	 default:
		 break;
   }
 }
}



/*宏定義:ZLG7289_ShortDelay()
功能:短延時
說明:延時(ZLG7289_Delay_t*2+2)個機器周期*/

#define ZLG7289_ShortDelay() {unsigned char t = ZLG7289_Delay_t;while ( --t != 0 );}

/*宏定義:ZLG7289_LongDelay()
功能:長延時
說明:延時(ZLG7289_Delay_t*12+8)個機器周期*/

#define ZLG7289_LongDelay() {unsigned char t = ZLG7289_Delay_t * 6;while ( --t != 0 );}

/*
函數:ZLG7289_SPI_Write()
功能:向SPI 總線寫入1 個字節的數據
參數:
dat:要寫入的數據
*/

void ZLG7289_SPI_Write(char dat) reentrant
{
	unsigned char data t = 8;
	do
	{
		ZLG7289_pinDIO = (bit)(dat & 0x80);
		dat <<= 1;
		ZLG7289_pinCLK = 1;
		ZLG7289_ShortDelay();
		ZLG7289_pinCLK = 0;
		ZLG7289_ShortDelay();
	} while ( --t != 0 );
}

/*函數:ZLG7289_SPI_Read()
功能:從SPI 總線讀取1 個字節的數據
返回:
讀取到的數據*/

char ZLG7289_SPI_Read() reentrant
{
	char data dat;
	unsigned char data t = 8;
	ZLG7289_pinDIO = 1; //讀取數據之前DIO 引腳要置1 以切換到輸入狀態
	do
	{
		ZLG7289_pinCLK = 1;
		ZLG7289_ShortDelay();
		dat <<= 1;
		if ( ZLG7289_pinDIO ) dat++;
		ZLG7289_pinCLK = 0;
		ZLG7289_ShortDelay();
	} while ( --t != 0 );
	return dat;
}

/*
函數:ZLG7289_cmd()
功能:執行ZLG7289 純指令
參數:
cmd:命令字
*/

void ZLG7289_cmd(char cmd)
{
	char data sav = IE;
	IE &= 0xFA; //關閉外部中斷
	ZLG7289_pinCS = 0;
	ZLG7289_LongDelay();
	ZLG7289_SPI_Write(cmd);
	ZLG7289_pinCS = 1;
	ZLG7289_LongDelay();
	IE = sav; //恢復IE
}

/*
函數:ZLG7289_cmd_dat()
功能:執行ZLG7289 帶數據指令
參數:
cmd:命令字
dat:數據
*/

void ZLG7289_cmd_dat(char cmd, char dat)
{
	char data sav = IE;
	IE &= 0xFA; //關閉外部中斷
	ZLG7289_pinCS = 0;
	ZLG7289_LongDelay();
	ZLG7289_SPI_Write(cmd);
	ZLG7289_LongDelay();
	ZLG7289_SPI_Write(dat);
	ZLG7289_pinCS = 1;
	ZLG7289_LongDelay();
	IE = sav; //恢復IE
}

/*
函數:ZLG7289_Download()
功能:下載數據
參數:
mod=0:下載數據且按方式0 譯碼
mod=1:下載數據且按方式1 譯碼
mod=2:下載數據但不譯碼
x:數碼管編號(橫坐標),取值0~7
dp=0:小數點不亮
dp=1:小數點亮
dat:要顯示的數據
說明:
譯碼方式的具體含義請參考數據手冊
*/

void ZLG7289_Download(unsigned char mod, char x, bit dp, char dat)
{
	code char  ModDat[3] = {0x80,0xC8,0x90};
	char data d1;
	char data d2;
	if ( mod > 2 ) mod = 2;
	d1 = ModDat[mod];
	x &= 0x07;
	d1 |= x;
	d2 = dat & 0x7F;
	if ( dp ) d2 |= 0x80;
	ZLG7289_cmd_dat(d1,d2);
}
/*
功能:執行ZLG7289 鍵盤命令
返回:
返回讀到的按鍵值:0~63
如果返回0xFF 則表示沒有鍵按下
*/
char ZLG7289_Key() reentrant
{
	char data key;
	ZLG7289_pinCS = 0;
	ZLG7289_LongDelay();
	ZLG7289_SPI_Write(0x15);
	ZLG7289_LongDelay();
	key = ZLG7289_SPI_Read();
	ZLG7289_pinCS = 1;
	ZLG7289_LongDelay();
	return key;
}

/*
函數:ZLG7289_Init()
功能:ZLG7289 初始化
參數:
t:SPI 總線的延時值設置,取值1-40(超出范圍可能導致錯誤)
說明:
t的取值可以參照以下公式:t >= 5 * f1 / f2,其中f1 表示80C51 的
晶振頻率,f2 表示ZLG7289 的晶振頻率
*/

void ZLG7289_Init()
{
	//I/O 口初始化
	ZLG7289_pinCS = 1;
	ZLG7289_pinCLK = 0;
	ZLG7289_pinDIO = 1;
	ZLG7289_pinINT = 1;
}
/*
函數:dis( unsigned char r,unsigned char num,unsigned char *pdis)
功能:數碼管的常規顯示
參數:num:數碼管顯示的位數
	 *pdis:數碼管組顯示的數字指針
*/
void ZLG7289_dis( unsigned char num,unsigned char *pdis)
{ 
   unsigned char bdata i,dat;
   bit dp;
   for (i=num;i>0; i--)
   { 
     dat=pdis[num-i];
	 dp=(bit)(dat&0x80);    //最高位為小數點位
     ZLG7289_Download(0,num-i,dp,dat);
	}
}
/*
函數:dis( unsigned char r,unsigned char num,unsigned char *pdis)
功能:數碼管消隱顯示
參數:num:數碼管顯示的位數
	 *pdis:數碼管組顯示的數字指針
*/
void  ZLG7289_dissapear(unsigned char num,unsigned char *pdis)
{
   unsigned int bdata dis_x=0xff;//消隱控制位
   unsigned char data i=num-1,dis_num=num;
   dis_x=_iror_(dis_x,8-num);
   while((pdis[i]==0)&(i!=0))
   {
     dis_x=_iror_(dis_x,1);
	 dis_num--;
	 i--;
   }
   i=dis_x;
   ZLG7289_Hide(i);
   ZLG7289_dis( 6,pdis);
} 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人精品在线看| 亚洲国产精品久久不卡毛片| 国产另类ts人妖一区二区| 久久新电视剧免费观看| 国内外成人在线视频| 日本一区二区三区四区| 成人sese在线| 亚洲国产精品影院| 日韩网站在线看片你懂的| 精品一区二区三区视频在线观看 | 日韩精品一卡二卡三卡四卡无卡| 欧美日韩一卡二卡三卡| 日韩激情av在线| 精品国产麻豆免费人成网站| 国产成人啪午夜精品网站男同| 国产精品久久午夜夜伦鲁鲁| 在线精品观看国产| 蜜桃免费网站一区二区三区| 久久精品亚洲麻豆av一区二区| 99re视频这里只有精品| 同产精品九九九| 久久久久国产一区二区三区四区 | 亚洲第一二三四区| 精品国产亚洲在线| 91亚洲国产成人精品一区二区三| 一区二区成人在线| 欧美成人午夜电影| 色婷婷av一区二区三区gif| 日本欧美韩国一区三区| 日本一区二区电影| 91精品蜜臀在线一区尤物| 成人做爰69片免费看网站| 亚洲午夜精品久久久久久久久| 久久综合色8888| 欧美日韩激情一区二区三区| 国产精品一区二区在线看| 亚洲午夜精品在线| 国产精品私人自拍| 精品久久国产97色综合| 欧美自拍丝袜亚洲| 丁香五精品蜜臀久久久久99网站 | 国产精品一区二区在线观看网站| 一区二区三区高清| 国产亚洲成aⅴ人片在线观看| 欧美高清你懂得| 成人小视频在线观看| 免费观看一级特黄欧美大片| 亚洲欧美区自拍先锋| 精品国产免费一区二区三区四区 | 亚洲欧美一区二区三区国产精品 | 欧美一区二区三区视频| 91蝌蚪porny| 国产69精品一区二区亚洲孕妇| 日韩精品一二三区| 日韩毛片在线免费观看| 国产欧美精品在线观看| 欧美成人a视频| 在线成人高清不卡| 欧美主播一区二区三区| 99久久久免费精品国产一区二区 | 99在线精品观看| 国产精品综合视频| 麻豆免费看一区二区三区| 亚洲电影一区二区| 亚洲一区二区在线播放相泽| 亚洲欧美色图小说| 国产精品萝li| 欧美国产日本视频| 国产三级精品视频| 国产日韩欧美精品电影三级在线 | 国产91富婆露脸刺激对白| 激情五月激情综合网| 久久se精品一区精品二区| 日韩电影在线免费观看| 日韩电影一区二区三区四区| 午夜视频在线观看一区二区三区| 亚洲一卡二卡三卡四卡| 亚洲午夜电影网| 亚洲成人黄色影院| 五月天网站亚洲| 青青青爽久久午夜综合久久午夜| 午夜亚洲国产au精品一区二区| 爽好多水快深点欧美视频| 午夜亚洲福利老司机| 免费久久99精品国产| 国内精品伊人久久久久影院对白| 精品一区二区在线看| 国产91精品精华液一区二区三区| 成人免费高清在线| 色综合天天综合网国产成人综合天| 97se亚洲国产综合在线| 色噜噜狠狠色综合中国| 91久久精品网| 51久久夜色精品国产麻豆| 欧美成人一级视频| 日本一区二区成人| 亚洲乱码中文字幕综合| 亚洲国产日韩一级| 美女网站一区二区| 国产成人亚洲综合a∨婷婷图片| eeuss影院一区二区三区| 欧洲亚洲精品在线| 日韩色在线观看| 中文字幕国产一区二区| 樱桃视频在线观看一区| 日本中文一区二区三区| 国产一区二区三区电影在线观看| 波多野洁衣一区| 欧美日韩一区二区在线观看视频 | 成人h动漫精品一区二| 欧美午夜不卡视频| 欧美大片一区二区| 亚洲欧洲性图库| 日本欧美加勒比视频| 国产成人综合视频| 欧美性受xxxx黑人xyx性爽| 欧美一卡二卡三卡四卡| 国产精品视频观看| 午夜电影一区二区三区| 粉嫩欧美一区二区三区高清影视| 日本电影亚洲天堂一区| 欧美成人伊人久久综合网| 综合中文字幕亚洲| 久久99久久99| 欧美性受极品xxxx喷水| 欧美激情一区二区三区四区| 一区二区三区日韩欧美| 国产麻豆一精品一av一免费| 色狠狠色狠狠综合| 国产欧美精品区一区二区三区| 五月婷婷欧美视频| 99久久精品免费精品国产| 欧美xxxx在线观看| 亚洲一区二区三区爽爽爽爽爽| 国产精品综合网| 欧美一区二区女人| 亚洲六月丁香色婷婷综合久久| 精品写真视频在线观看| 欧美日韩精品免费| 一区二区三区四区高清精品免费观看| 激情图区综合网| 欧美一区二区在线视频| 一区二区三区在线看| 懂色av中文字幕一区二区三区| 日韩欧美国产一区二区三区| 亚洲大尺度视频在线观看| 国产91清纯白嫩初高中在线观看 | 久久精品日韩一区二区三区| 视频一区在线播放| 色婷婷激情久久| 中文字幕亚洲欧美在线不卡| 国产精品自拍三区| 欧美精品一区二区三区蜜臀| 蜜桃视频第一区免费观看| 亚洲人成小说网站色在线| 高清beeg欧美| 国产女人aaa级久久久级| 麻豆精品视频在线观看| 91麻豆精品国产91久久久更新时间| 亚洲精品自拍动漫在线| 91免费看片在线观看| 国产精品久久久久久久第一福利 | 久久综合色之久久综合| 免费成人美女在线观看.| 欧美视频第二页| 亚洲国产sm捆绑调教视频| 色婷婷综合久久久中文字幕| 成人免费在线观看入口| 99精品视频一区| 亚洲猫色日本管| 色综合天天综合网国产成人综合天| 国产精品乱子久久久久| 不卡的av中国片| 一区免费观看视频| 欧洲一区在线观看| 午夜天堂影视香蕉久久| 日韩一区二区三区四区五区六区| 亚洲成人资源网| 欧美一级一区二区| 麻豆精品久久精品色综合| 精品国产污污免费网站入口| 国产精品亚洲第一| 成人欧美一区二区三区1314| 91婷婷韩国欧美一区二区| 亚洲欧美日韩在线不卡| 在线亚洲人成电影网站色www| 亚洲国产视频一区二区| 欧美二区在线观看| 国产一区二区导航在线播放| 亚洲欧洲精品成人久久奇米网| 色8久久精品久久久久久蜜| 午夜成人免费视频| 精品国产乱码久久久久久蜜臀| 国产精品一区二区果冻传媒| 亚洲同性gay激情无套| 欧美日韩亚洲综合在线| 国产专区欧美精品| 国产精品精品国产色婷婷| 欧美性猛交xxxxxx富婆| 卡一卡二国产精品 |