#include
#define uchar unsigned char
sbit sda = p2^0;
//資料匯流排
sbit scl = p2_1;
//時鐘匯流排
void
delay()
//大概延時5us
void
delay1
(uchar x)
//這是乙個寫資料的整體過程
void
wirte_add
(uchar address,uchar date)
//這是乙個讀資料的整體過程
uchar read_add
(uchar address)
//起始訊號
void
start()
//終止訊號
void
stop()
//應答訊號
void
respons()
void
init()
//寫入乙個位元組--8位
void
write_byte
(uchar date)
scl =0;
//允許sda資料變化,等待回應資料到來
//等待回應
sda =1;
//資料匯流排被釋放,等待應答訊號占領匯流排
delay()
;}uchar read_byte()
return k;
}void
main()
51微控制器學習之IIC匯流排
核心思想 主機與從機之間的資訊交換。主機傳送訊息,從機要回應一下。從機傳送訊息,主機也要回應。注意點 sda線和scl線都是預設高電平。即高電平為釋放狀態。include include typedef unsigned char u8 typedef unsigned int u16 void d...
51微控制器 IIC
iic inter intergrated circuit 匯流排是一種由philips公司開發的兩線式序列匯流排。用於連線微控制器及其外圍裝置。iic只需兩根線sda 資料線 scl 時鐘 iic支援多主控,當然,在任何時間點上只能有乙個主控,而spi是一主多從。iic各種被控制電路均併聯在這條匯...
微控制器(六) IIC匯流排
iic是積體電路匯流排,它是一種序列匯流排,iic只有兩根雙向訊號線,一根資料線sda,一根訊號線scl。要掌握iic匯流排通訊協議,需要掌握以下六點 1.起始訊號。2.終止訊號。3.寫資料。4.讀資料。5.應答訊號。6.非應答訊號。下面我們來看看他們各自的時序。由此我們可以寫出他的程式 起始 vo...