簡單幾步讓你看懂單片機時序圖
操作時序永遠是使用任何一片IC芯片的最主要的內(nèi)容,看懂時序圖,再操控這個芯片就非常容易了。而提取芯片器件手冊上有用的信息是使用芯片的最基本步驟。
本文引用地址:http://cafeforensic.com/article/201812/395420.htm以液晶顯示芯片1602為例
首先我們來看1602的引腳定義,1602的引腳是很整齊的SIP單列直插封裝,器件手冊給出了引腳的功能數(shù)據(jù)表:
我們只需要關(guān)注以下幾個管腳:
3腳:VL,液晶顯示偏壓信號,用于調(diào)整LCD1602的顯示對比度,一般會外接電位器用以調(diào)整偏壓信號,注意此腳電壓為0時可以得到最強的對比度。
4腳:RS,數(shù)據(jù)/命令選擇端,當此腳為高電平時,可以對1602進行數(shù)據(jù)字節(jié)的傳輸操作,而此腳為低電平時,則是進行命令字節(jié)的傳輸操作。命令字節(jié),即是用來對LCD1602的一些工作方式作設置的字節(jié);數(shù)據(jù)字節(jié),即使用以在1602上顯示的字節(jié)。值得一提的是,LCD1602的數(shù)據(jù)是8位的。
5腳:R/W,讀寫選擇端。當此腳為高電平可對LCD1602進行讀數(shù)據(jù)操作,反之進行寫數(shù)據(jù)操作。筆者認為,此腳其實用處不大,直接接地永久置為低電平也不會影響其正常工作。但是尚未經(jīng)過復雜系統(tǒng)驗證,保留此意見。
6腳:E,使能信號,其實是LCD1602的數(shù)據(jù)控制時鐘信號,利用該信號的上升沿實現(xiàn)對LCD1602的數(shù)據(jù)傳輸。
7~14腳:8位并行數(shù)據(jù)口,使得對LCD1602的數(shù)據(jù)讀寫大為方便。
LCD1602的操作時序
這有兩個寫時序:
① 若要寫指令字,設置LCD1602的工作方式時:需要把RS置為低電平,RW置為低電平,然后將數(shù)據(jù)送到數(shù)據(jù)口D0~D7,最后E引腳一個高脈沖將數(shù)據(jù)寫入。
② 若要寫入數(shù)據(jù)字,在1602上實現(xiàn)顯示時:需要把RS置為高電平,RW置為低電平,然后將數(shù)據(jù)送到數(shù)據(jù)口D0~D7,最后E引腳一個高脈沖將數(shù)據(jù)寫入。
發(fā)現(xiàn)了么,寫指令和寫數(shù)據(jù),差別僅僅在于RS的電平不一樣而已。
以下是LCD1602的時序圖:
時序圖遵循的一般規(guī)則
上圖框出并注明了看懂此圖的一些常識:
(1).時序圖最左邊一般是某一根引腳的標識,表示此行圖線體現(xiàn)該引腳的變化,上圖分別標明了RS、R/W、E、DB0~DB7四類引腳的時序變化。
(2).有線交叉狀的部分,表示電平在變化,如上所標注。
(3).應該比較容易理解,如上圖右上角所示,兩條平行線分別對應高低電平,也正好吻合
(2)中電平變化的說法。
(4).上圖下,密封的菱形部分,注意要密封,表示數(shù)據(jù)有效,Valid Data這個詞也顯示了這點。
注意:
時序圖里各個引腳的電平變化,基于的時間軸是一致的。一定要嚴格按照時間軸的增長方向來精確地觀察時序圖。要讓器件嚴格的遵守時序圖的變化。在類似于18B20這樣的單總線器件對此要求尤為嚴格。
上面有許多關(guān)于時間的標注,這也是個十分重要的信息。這些時間的標注表明了某些狀態(tài)所要維持的最短或最長時間。因為器件的工作速度也是有限的,一般都跟不上主控芯片的速度,所以它們直接之間要有時序配合。下面是時序參數(shù)表:
估計主控芯片的指令時間
可以在官方數(shù)據(jù)手冊上查到MCU的一些級別參數(shù)。
比如,以AVR M16做為主控芯片,外部12MHz晶振,指令周期就是一個時鐘周期為(2/12MHz)s,所以至少確定了它執(zhí)行一條指令的時間是us級別的。我們看到,以上給的時間參數(shù)全部是ns級別的,所以即便我們在程序里不加延時程序,也應該可以很好的配合LCD1602的時序要求了。怎么看這個表呢?很簡單,我們在時序圖里可以找到TR1,對應時序參數(shù)表,可以查到這個是E上升沿/下降沿時間,最大值為25ns,表示E引腳上的電平變化,必須在最大為25ns之內(nèi)的時間完成。
評論