如何看懂時序圖?
發(fā)現(xiàn)了么,寫指令和寫數(shù)據(jù),差別僅僅在于RS的電平不一樣而已。以下是LCD1602的時序圖:
大家要慢慢學(xué)會看時序圖,要知道操作一個器件的精華便蘊(yùn)藏在其中,看懂看準(zhǔn)了時序,你操控這個芯片就是非常容易的事了。1602的時序是我見過的一個最簡單的時序:
1、注意時間軸,如果沒有標(biāo)明(其實(shí)大部分也都是不標(biāo)明的),那么從左往右的方向?yàn)闀r間正向軸,即時間在增長。
2、上圖框出并注明了看懂此圖的一些常識:
(1).時序圖最左邊一般是某一根引腳的標(biāo)識,表示此行圖線體現(xiàn)該引腳的變化,上圖分別標(biāo)明了RS、R/W、E、DB0~DB7四類引腳的時序變化。
(2).有線交叉狀的部分,表示電平在變化,如上所標(biāo)注。
(3).應(yīng)該比較容易理解,如上圖右上角所示,兩條平行線分別對應(yīng)高低電平,也正好吻合(2)中電平變化的說法。
(4).上圖下,密封的菱形部分,注意要密封,表示數(shù)據(jù)有效,Valid Data這個詞也顯示了這點(diǎn)。
3、需要十分嚴(yán)重注意的是,時序圖里各個引腳的電平變化,基于的時間軸是一致的。一定要嚴(yán)格按照時間軸的增長方向來精確地觀察時序圖。要讓器件嚴(yán)格的遵守時序圖的變化。在類似于18B20這樣的單總線器件對此要求尤為嚴(yán)格。
4、以上幾點(diǎn),并不是LCD1602的時序圖所特有的,絕大部分的時序圖都遵循著這樣的一般規(guī)則,所以大家要慢慢的習(xí)慣于這樣的規(guī)則。
也許你還注意到了上面有許多關(guān)于時間的標(biāo)注,這也是個十分重要的信息,這些時間的標(biāo)注表明了某些狀態(tài)所要維持的最短或最長時間。因?yàn)槠骷墓ぷ魉俣纫彩怯邢薜模话愣几簧现骺匦酒乃俣?,所以它們直接之間要有時序配合。話說現(xiàn)在各種處理器的主頻也是瘋狂增長,日后搞不好出現(xiàn)個雙核單片機(jī)也不一定就是夢話。下面是時序參數(shù)表:
大家要懂得估計主控芯片的指令時間,可以在官方數(shù)據(jù)手冊上查到MCU的一些級別參數(shù)。比如我們現(xiàn)在用AVR M16做為主控芯片,外部12MHz晶振,指令周期就是一個時鐘周期為(1/12MHz)us,所以至少確定了它執(zhí)行一條指令的時間是us級別的。我們看到,以上給的時間參數(shù)全部是ns級別的,所以即便我們在程序里不加延時程序,也應(yīng)該可以很好的配合LCD1602的時序要求了。怎么看這個表呢?很簡單,我們在時序圖里可以找到TR1,對應(yīng)時序參數(shù)表,可以查到這個是E上升沿/下降沿時間,最大值為25ns,表示E引腳上的電平變化,必須在最大為25ns之內(nèi)的時間完成。大家看是不是這個意思?
現(xiàn)在我來解讀我對這個時序圖的理解:
當(dāng)要寫命令字節(jié)的時候,時間由左往右,RS變?yōu)榈碗娖?,R/W變?yōu)榈碗娖?,注意看是RS的狀態(tài)先變化完成。然后這時,DB0~DB7上數(shù)據(jù)進(jìn)入有效階段,接著E引腳有一個整脈沖的跳變,接著要維持時間最小值為tpw=400ns的E脈沖寬度。然后E引腳負(fù)跳變,RS電平變化,R/W電平變化。這樣便是一個完整的LCD1602寫命令的時序。
評論