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

📄 i2c.c

📁 电子时钟
💻 C
字号:
					//i1c test//
				
					
					
					
					sbit	SDA=P3^2;
					sbit	SCL=P3^3;	
					
					
					
					//************* Delay  *********//	
					void delay(int n)
					{
						int	i;
						for(i=0;i<=n;i++);
					}

					
					
					//**************Start**********//
					void I2C_start(void)
					{
						SDA=1;
						SCL=1;
						delay(3);
						SDA=0;
						delay(3);
						SCL=0;
					}
					
					//*************Stop***********//
					void I2C_stop(void)
					{
						SDA=0;
						SCL=1;
						delay(3);
						SDA=1;
						delay(3);
						SCL=0;
					}
					
					//*************Ack**************//
					void I2C_ack(void)
					{
						SDA=0;
						SCL=1;
						delay(3);
						SCL=0;
						SDA=1;
					}
					
					//*************No Ack*********//
					void I2C_nack(void)
					{
						SDA=1;
						SCL=1;
						delay(3);
						SCL=0;
						SDA=0;
					}
					
					//*********Check ack signal*******//
					bit I2C_Cack(void)
					{
						bit a;
						SDA=1;
						SCL=1;
						delay(1);
						a=SDA;
						delay(1);
						SCL=0;
						delay(3);
						if(a==1)
						{
							return 	1;
						}
						else
						{
							return	0;
						}
					}
						
					//**********Send a Bety*********//
					void I2C_Send_byte(char da)
					{
						unsigned char i;
						for(i=0;i<8;i++)
						{
							if((da<<i)&0x80)
							{
							SDA=1;			//send "1"//
							SCL=1;
							delay(3);
							SCL=0;
							SDA=0;
							delay(3);
							}
							else
							{
							SDA=0;			//send "0"//
							SCL=1;
							delay(3);
							SCL=0;
							delay(3);	
							}
						}
					}
						
					//*************receive a byte *********//
					unsigned char I2C_Receive_byte(void)
					{
						unsigned char i,da=0;
						bit	a;
						for(i=0;i<8;i++)
						{
							SDA=1;
							SCL=1;
							delay(3);
							a=SDA;
							delay(3);
							SCL=0;
							if(a==1)
							{
								da=da<<1;
								da=da|0x01;
							}
							else
							{
								da=da<<1;
							}
						}
						return da;
					}
												
					
								
					
					//********main************//
					

⌨️ 快捷键说明

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