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

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

?? hi2c_c51.c

?? 無線發報雨量自動站 p89lpc932 單片機CUU應用 7920顯示芯片
?? C
字號:
/*******************************************************************
*				P89LPC932硬件I2C軟件包(主)
* 1  使用I2C總線軟件包時P1.2,P1.3切勿寫為0,并要設置為開漏輸出。
* 2  總線定義為P1.2=SCL,P1.3=SDA,需外接上拉電阻2-10k。
* 3  相應寄存器:
*    地址寄存器  I2ADR   用于存放自身從地址(從方式時才有用)
*    數據寄存器  I2DAT   接收/發送數據用
*    控制寄存器  I2CON   用于硬件I2C的設置、使能、啟動、結束,
*                       應答控制,中斷標志等。
*    狀態寄存器  I2STAT  指示I2C總線的操作狀態碼,高5位有效,
*                       若I2C中斷志置位,可查詢此寄存器判斷
*                        總線情況。
*    SCL占空比寄存器  I2SCLH、I2SCLL  設置SCL的頻率發生。
*                        
*    此軟件包是以查詢方式完成各種總線操作的,在使用前應對總線進行檢查,并
* 使用看門狗,以防等待總線而造成死機。
*	 文件名:HI2C_C51.C
*                                  更新時間:2002.11.05
*******************************************************************/

#include <REG932.H>
#include "HI2C_C51.h"
#define uchar 	unsigned char
 /* 置位 STO, 復位 STA 、 SI          */
#define GENERATE_STOP        0x54  
 /* 復位 STO,STA,SI 并置位  AA (ack)  */  
#define RELEASE_BUS_ACK      0x44 
 /* 復位 STO,STA,SI 并置位 AA (noack) */   
#define RELEASE_BUS_NOACK    0x40  
 /* 起動總線/重新起動總線, 置位 STA   */
#define RELEASE_BUS_STA      0x64   

/*******************************************************************
*                  申請總線
* 功能:進行I2C總線的初始化--包括時鐘選擇,I2C使能,發送起始信號等等。
*       I2EN為1,設置為主機;CRSEL位為0,使用內部SCL發生器。
*******************************************************************/
void GetBus()
{ I2SCLH = 50;//15;/* 設置SCL高電平的PCLK周期數     */
  I2SCLL = 50;//15;/* 設置SCL低電平的PCLK周期數,6MHz時為100Kbit/S */
  /* 申請成為主機,起動總線。使用內部SCL發生器,I2EN和AA置位。*/
  I2CON = RELEASE_BUS_STA; 	//0x64
  while( SI==0 );/* si=1起始位的發送成功 */
}


/*******************************************************************
*                    發送數據函數
* 功能:用于向總線發送數據 
* 入口參數:ACC   待發送的數據                   
*******************************************************************/
void SendByte(uchar c) //數據發送
{ I2DAT = c;
  I2CON = RELEASE_BUS_ACK; 	/* 0x44 清除SI位等等 */
  while( SI==0 ); /* 等待數據的發送*/
}

/*******************************************************************
*                    向無子地址器件發送字節數據函數               
* 功能:從啟動總線到發送地址,數據,結束總線的全過程。
* 入口參數:sla		從器件地址
*           c		待發送的數據
* 出口參數:返回1表示操作成功,否則操作有誤。
********************************************************************/
bit ISendByte(uchar sla, uchar c)//向無子地址器件發送字節數據函數  
{ GetBus();                 	/* 啟動總線                    */
  SendByte(sla);            	/* 發送器件地址,并接收應答位  */
  if( I2STAT!=0X18 )			/* 無從機應答則退出操作        */
  { I2CON = GENERATE_STOP;
    return(0);
  }
  aaa1=5;
  SendByte(c);              	/* 發送數據                    */
  if( I2STAT!=0X28 )
  { I2CON = GENERATE_STOP;
    return(0);
  }
  I2CON = GENERATE_STOP;        /* 結束總線                    */ 
  aaa1=10;
  return(1);
}



/*******************************************************************
*                    向有子地址器件發送多字節數據函數                 
* 功能:從啟動總線到發送地址,子地址,數據,結束總線的全過程。
* 入口參數;sla		從器件地址
*           subH    子地址H
*           subL    子地址L
*           s       發送內容的指針
*           no      發送字節數
* 出口參數:返回1表示操作成功,否則操作有誤。
********************************************************************/
bit w_FM64(uchar sla, uchar suba, uchar subal,uchar *s, uchar no)//向有子地址器件發送多字節數據函數 
{ 
  uchar i;
  GetBus();                 /* 啟動總線               	*/
  SendByte(sla);            /* 發送器件地址           	*/
  aaa1=15; 
  if( I2STAT!=0X18 )
  { I2CON = GENERATE_STOP;
    return(0);
  }
  aaa1=21;

  SendByte(suba);           /* 發送器件子地址 -H			*/
  if( I2STAT!=0X28 )
  { I2CON = GENERATE_STOP;
    return(0);
  }
  aaa1=26;
if(sla==0xa0||sla==0xa1)
 { 
   SendByte(subal);           /* 發送器件子地址 -L			*/
  if( I2STAT!=0X28 )
  { I2CON = GENERATE_STOP;
    return(0);
  }
  aaa1=31;
 }
    
  for(i=0; i<no; i++)
  { SendByte(*s);           /* 發送數據					*/
    if( I2STAT!=0X28 )
	{ I2CON = GENERATE_STOP;
	  return(0);
	}
    s++;
	//aaa1++;
  } 
  I2CON = GENERATE_STOP;    /* 結束總線					*/ 
  return(1);
}



/*******************************************************************
*                    向無子地址器件讀字節數據函數                
*功能:從啟動總線到發送地址,讀數據,結束總線的全過程。
*入口參數:sla		從器件地址
*          c        讀出的數據(地址傳送)
* 出口參數:函數返回1表示操作成功,否則操作有誤。
********************************************************************/
bit IRcvByte(uchar sla, uchar *c)//向無子地址器件讀字節數據函數
{ GetBus();              	/* 啟動總線					     */
  SendByte(sla+1);        	/* 發送器件地址				     */   
  if( I2STAT!=0X40 )
  { I2CON = GENERATE_STOP;
    return(0);
  }
  I2CON = RELEASE_BUS_NOACK; /* 接收一字節數據即發送非應答位 */
  while( SI==0 );            /* 等待接收數據				 */  
  if( I2STAT!=0X58 )
  { I2CON = GENERATE_STOP;
    return(0);
  }
  *c = I2DAT;                /* 讀取數據					 */
  I2CON = GENERATE_STOP;     /* 結束總線					 */   
  return(1);
}



/*******************************************************************
*                    向有子地址器件讀取多字節數據函數                
*功能:從啟動總線到發送地址,子地址,讀數據,結束總線的全過程。
*入口參數:sla 		從器件地址
*          suba		子地址
*		   s	    讀出的內容存儲區的指針
*          no		讀no個字節。
*出口參數:函數返回1表示操作成功,否則操作有誤。
********************************************************************/
bit R_FM64(uchar sla,uchar suba,uchar subal,uchar *s,uchar no)
{ uchar i;//向有子地址器件讀取多字節數據函數   

  GetBus();                	/* 啟動總線						*/
  SendByte(sla);            /* 發送器件地址					*/
  if( I2STAT!=0X18)
  { I2CON = GENERATE_STOP;
    return(0);
  }

  SendByte(suba);           /* 發送器件子地址-H				*/
  if( I2STAT!=0X28 )
  { I2CON = GENERATE_STOP;
    return(0);
  }


 if(sla==0xa0||sla==0xa1)
 { 
   SendByte(subal);          /* 發送器件子地址-L				*/
   if( I2STAT!=0X28 )
   { I2CON = GENERATE_STOP;
    return(0);
   }
 }



  I2CON = RELEASE_BUS_STA;  /* 重新啟動總線					*/
  while( SI==0 );
  SendByte(sla+1);
  if( I2STAT!=0X40 )
  { I2CON = GENERATE_STOP;
    return(0);
  } 
   
  for(i=0; i<no-1; i++)
  { I2CON = RELEASE_BUS_ACK;   /* 接收一字節數據并發送應答位		*/
    while( SI==0 );            /* 等待接收數據						*/  
    if( I2STAT!=0X50 )
	{ I2CON = GENERATE_STOP;
	  return(0);
	}
    *s = I2DAT;                /* 讀取數據							*/ 
    s++;
  } 
  I2CON = RELEASE_BUS_NOACK;   /* 接收最后一字節數據并發送非應答位	*/
  while( SI==0 );  
  *s = I2DAT;
  I2CON = GENERATE_STOP;       /* 結束總線							*/ 
  return(1);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆精品视频在线观看免费| 一区二区三区蜜桃网| 日本美女一区二区三区| 欧美精品粉嫩高潮一区二区| 视频一区中文字幕国产| 欧美一区二区私人影院日本| 美女尤物国产一区| 久久久久97国产精华液好用吗| 极品少妇xxxx偷拍精品少妇| 国产欧美一区二区精品性色| 成人av午夜影院| 亚洲靠逼com| 欧美精品色一区二区三区| 麻豆一区二区99久久久久| 26uuu另类欧美| av高清久久久| 亚洲成人一二三| 精品剧情在线观看| 成人黄色电影在线| 亚洲午夜羞羞片| 欧美mv和日韩mv国产网站| 不卡的av在线播放| 亚洲chinese男男1069| 精品国产一区二区在线观看| 成人午夜激情片| 婷婷国产v国产偷v亚洲高清| 欧美精品一区二区三区在线| a4yy欧美一区二区三区| 婷婷国产v国产偷v亚洲高清| 国产欧美视频在线观看| 欧美性受xxxx| 国产精品一区二区三区99| 一区二区三区精品视频在线| 2014亚洲片线观看视频免费| 99久久久精品免费观看国产蜜| 亚洲成a人在线观看| 久久久久成人黄色影片| 欧美熟乱第一页| 国产91精品一区二区麻豆网站| 一区二区三区久久| 中文字幕精品一区二区精品绿巨人| 欧美日韩极品在线观看一区| 国产激情视频一区二区在线观看| 亚洲综合免费观看高清在线观看| 精品国产乱码久久久久久老虎| 色婷婷av一区| 粉嫩一区二区三区在线看| 美日韩一级片在线观看| 亚洲男女毛片无遮挡| 久久网站最新地址| 91精品免费在线| 在线影院国内精品| fc2成人免费人成在线观看播放 | 欧美色精品在线视频| 高清不卡在线观看| 精品一区二区三区在线观看国产| 亚洲一区在线看| 中文字幕亚洲一区二区av在线| 亚洲精品一区二区三区香蕉| 欧美日韩成人综合| 91亚洲精华国产精华精华液| 国产精品91xxx| 美美哒免费高清在线观看视频一区二区| 亚洲人午夜精品天堂一二香蕉| 久久久久久久免费视频了| 日韩欧美成人一区二区| 欧美色倩网站大全免费| 欧美在线观看视频一区二区三区| jlzzjlzz亚洲女人18| 懂色av中文字幕一区二区三区| 久久99久久99精品免视看婷婷 | 国产精品久久久久久福利一牛影视 | 91免费观看视频| 国产乱国产乱300精品| 国产一区二区三区不卡在线观看| 亚洲黄色在线视频| 亚洲天堂久久久久久久| **网站欧美大片在线观看| 国产精品久久三区| 亚洲私人黄色宅男| 亚洲黄网站在线观看| 亚洲午夜久久久| 亚洲高清视频中文字幕| 亚洲与欧洲av电影| 首页欧美精品中文字幕| 麻豆国产一区二区| 国产一区二区三区四| 国产精品自产自拍| eeuss鲁一区二区三区| 91久久久免费一区二区| 欧美影院一区二区| 91精品一区二区三区在线观看| 91精品国产综合久久久久久久| 欧美一级在线免费| 精品精品国产高清a毛片牛牛| 亚洲精品在线三区| 国产午夜亚洲精品午夜鲁丝片| 日本一区二区三区久久久久久久久不 | 国产精品盗摄一区二区三区| 国产精品无圣光一区二区| 亚洲欧洲在线观看av| 亚洲国产日韩a在线播放性色| 伊人一区二区三区| 午夜视频在线观看一区二区 | 久久亚洲精品小早川怜子| 久久嫩草精品久久久精品一| 亚洲精品亚洲人成人网 | 亚洲aⅴ怡春院| 蜜桃av噜噜一区| 大陆成人av片| 欧美午夜在线一二页| 欧美一区二区精品在线| 精品国产网站在线观看| 国产精品欧美久久久久一区二区| 1000精品久久久久久久久| 亚洲色图视频网| 日韩av高清在线观看| 高清beeg欧美| 欧美片网站yy| 国产嫩草影院久久久久| 亚洲一区二区三区中文字幕在线| 麻豆国产91在线播放| jizz一区二区| 日韩精品综合一本久道在线视频| 国产亚洲va综合人人澡精品| 一区二区三区精密机械公司| 国模一区二区三区白浆| 一本色道a无线码一区v| 精品福利视频一区二区三区| 亚洲私人影院在线观看| 国内成人自拍视频| 欧美性一级生活| 日本一区二区高清| 六月婷婷色综合| 日本道精品一区二区三区| 国产午夜亚洲精品羞羞网站| 日韩电影在线观看网站| 波多野结衣在线aⅴ中文字幕不卡| 欧美日韩亚洲综合一区二区三区| 国产精品视频在线看| 精品一区二区影视| 欧美色区777第一页| 中文字幕在线不卡| 国产剧情一区在线| 91精品国产91久久久久久最新毛片 | 免费观看成人av| 成人晚上爱看视频| 日韩一区二区免费在线观看| 亚洲欧美一区二区久久| 国产成人免费视频一区| 日韩精品一区二区三区中文不卡| 亚洲国产综合在线| 99久久久免费精品国产一区二区| 欧美成人猛片aaaaaaa| 五月婷婷另类国产| 91传媒视频在线播放| 最近日韩中文字幕| jiyouzz国产精品久久| 久久综合色8888| 久久99久久99| 日韩视频免费观看高清完整版 | 午夜伦理一区二区| 一本久久综合亚洲鲁鲁五月天| 国产欧美日韩三级| 国产精品一卡二卡在线观看| 日韩精品一区二区三区蜜臀| 日韩vs国产vs欧美| 91麻豆精品国产91久久久使用方法| 亚洲精品成人精品456| 91国产丝袜在线播放| 樱花影视一区二区| 欧美性猛交xxxx乱大交退制版| 亚洲自拍偷拍欧美| 欧美日韩精品欧美日韩精品一综合| 亚洲在线视频一区| 欧美日韩电影在线播放| 丝袜亚洲另类欧美| 日韩一级视频免费观看在线| 日本vs亚洲vs韩国一区三区| 欧美一区二区成人6969| 久久97超碰色| 久久综合九色综合欧美就去吻| 国产在线播放一区| 国产精品第五页| 欧洲av一区二区嗯嗯嗯啊| 午夜精品久久久久久久久| 欧美一区二区三区免费视频| 国内国产精品久久| 国产精品成人网| 欧美亚洲一区二区在线观看| 亚洲国产精品久久人人爱| 91精品国产色综合久久不卡电影 | 日韩国产欧美在线观看| 精品久久久久久久人人人人传媒 | 91麻豆123| 亚洲国产精品久久一线不卡| 91精品国产91热久久久做人人| 国模大尺度一区二区三区| 国产精品毛片久久久久久| 欧美在线观看视频一区二区 |