ds18b20程序 lm386 超声波测距
// EEPROM (at24c02) IIC.h #include <reg52.h> #include <display.h> sbit scl=P2^0; sbit sda=P2^1; uint sec; bit write; void delay() {;;}
void init() { scl=1; delay(); sda=1; delay(); }
void start() { sda=1; delay(); scl=1; delay(); sda=0; delay(); }
void respons() { uchar i; scl=1; delay(); while(sda==1&&(i<255)) i++; scl=0; delay(); }
void stop() { sda=0; delay(); scl=1; delay();
sda=1; delay(); }
void writebyte(uchar date) { uchar i,k; k=date; for(i=0;i<8;i++) { k=k<<1; scl=0; delay(); sda=CY; delay(); scl=1; delay(); } scl=0; delay(); sda=1; delay(); }
uchar readbyte() { uchar i,k; scl=0; delay(); sda=1; for(i=0;i<8;i++) { scl=1; delay(); k=(k<<1)|sda; scl=0; delay(); } delay(); return k; }
void writebyte_add(uchar address,uchar date) { start();