⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 i2c.h

📁 基于单片机的自行车计时
💻 H
字号:
#include <REGX52.H>
sbit sda=P2^4;
sbit scl=P2^3;
void sta(){
     sda=1;
	 scl=1;
	 _nop_();_nop_();_nop_();_nop_();
	 sda=0;
	 _nop_();_nop_();_nop_();_nop_();
}
void stop(){
     sda=0;
	 scl=1;
	 _nop_();_nop_();_nop_();_nop_();
	 sda=1;
	 _nop_();_nop_();_nop_();_nop_();
}
void ack(){
     sda=0;
	 _nop_();_nop_();_nop_();_nop_();
	 scl=1;
	 _nop_();_nop_();_nop_();_nop_();
	 scl=0;
 }
 void no_ack(){
      sda=1;
	  _nop_();_nop_();_nop_();_nop_();
	  scl=1;
	  _nop_();_nop_();_nop_();_nop_();
	  scl=0;
}
void wri_one_char(unsigned char ch){
     	unsigned char tempchar;
	    unsigned char bitshift;
    	for(bitshift=0;bitshift<8;bitshift++)
	   {
	    scl=0;
		tempchar=ch&0x80;
		if(tempchar==0){sda=0;}
		else sda=1;
		_nop_();
		_nop_();
		_nop_();
		_nop_();
		scl=1;
		_nop_();
		_nop_();
		scl=0;
		sda=0;
		_nop_();
		_nop_();
		ch=ch<<1;
		}
}

unsigned char read(){
         unsigned char bitcounter=8,temp=0;
		 sda=1;
         while(bitcounter){
              scl=0; 	 
              _nop_();_nop_();_nop_();_nop_();
              scl=1;
			  _nop_();_nop_();_nop_();_nop_();
              if(sda) temp=temp*2+0x01;
			  else    temp=temp*2+0x00;
			  bitcounter--;
			  }
             return temp;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -