所需E币: 5
时间: 2019-12-25 09:49
大小: 25.5KB
在51上用P1口模拟I2C下面是用普通C51实现的I2C基本电平模拟函数和通用函数。 /* 电平模拟函数和基本读写函数 void IIC_Start(void); void IIC_Stop(void); void SEND_0(void); void SEND_1(void); bit Check_Acknowledge(void); void Write_Byte(uchar b)reentrant; bit Write_N_Bytes(uchar *buffer,uchar n)reentrant; bit Read_N_Bytes(uchar SlaveAdr,uchar n,uchar *buffer); uchar Read_Byte(void)reentrant; */ #include #include #include #include"aiic_51.h" sbit SCL=P1^6; sbit SDA=P1^7; void DELAY(uint t) { while(t!=0) t--; } void IIC_Start(void) { //启动I2C总线的函数,当SCL为高电平时使SDA产生一个负跳变 SDA=1; SCL=1; DELAY(DELAY_TIME); SDA=0; DELAY(DELAY_TIME); SCL=0; ……