今天學習IIC總線的操作,學習了24C02的范例;其中IIC總線要求如下:
1234.png (31.18 KB, 下載次數: 66)
下載附件
2018-10-3 19:42 上傳
只分析寫的時序圖,IIC總線要求在SCL為低電平的時候SDA數據才可以變化,總線上數據的變化剛好在SCL時鐘線為低電平的中間,那么我們寫的程序如果不在中間是否也可以呢?答案是肯定的,不管是在脈沖前沿變化或者后延變化都可以,但是這樣看起來程序不舒服,我們寫的程序要盡量接近程序,這樣運行起來,我感覺也會穩定很多!有時候可能只是語句放的位置不同,就會產生不同的效果。鍵下面三個實驗。
此程序數據變化發生在脈沖變高前的那一瞬間,見下圖:
12.png (118.71 KB, 下載次數: 70)
下載附件
2018-10-3 19:51 上傳
下面的程序寫法感覺好一點見下圖
1.png (114.54 KB, 下載次數: 66)
下載附件
2018-10-3 19:53 上傳
以上兩種方法產生的時鐘時序高低電頻都不平恒。看看最完美的程序。見下圖:
a.png (121.97 KB, 下載次數: 74)
下載附件
2018-10-3 19:55 上傳
我現在才理解為何單片機高手都清楚每一條語句執行的時間是多少,原來一直以為是多此一舉,原來研究指令執行時間是為了服務時序的,
我們學習的時候,心里始終要有一根時序弦,單片機真正工作起來都是按照時序操作的。現在感覺進入單片機世界里面是非常困難的,不單是點亮一個LED燈那么簡單!!!!這也許正是單片機的魅力所在!
|