資料介紹
所謂“時序”從字面意義上來理解,一是“時間問題”,二是“順序問題”。
先說“順序問題”,這個相對簡單一些。我們在學 UART 串口通信的時候,先 1 位起始位,再 8 位數據位,最后 1 位停止位,這個先后順序不能錯。我們在學 1602 液晶的時候,比如寫指令,RS=L,R/W=L,D0~D7=指令碼,這三者的順序是無所謂的,但是最終的 E=高脈沖,必須是在這三條程序之后,這個順序一旦錯誤,寫的數據也可會出錯。
“時間問題”內容相對復雜。比如 UART 通信,每一位的時間寬度是 1/baud。我們初中就學過一個概念,世界上沒有絕對的準確。那么每一位的時間寬度 1/baud 要求精確到什么范圍內呢?
前邊教程我提到過,單片機讀取 UART 的 RXD 引腳數據的時候,一位數據,單片機平均分成了 16 份,取其中的 7、8、9 三次讀到的結果,這三次中有 2 次是高電平那這一位就是 1,有 2 次是低電平,那這一次就是 0。如果我們的波特率稍微有些偏差,只要累計下來到最后一位停止位,這 7、8、9 還在范圍內即可。如圖 13-1 所示。
UART 信號采集時序圖
我們用三個箭頭來表示 7、8、9 這三次的采集位置,大家可以注意到,當采集到 D7 的時候,已經有一次采集偏出去了,但是我們采集到的數據還是不會錯,因為有 2 次采集正確。至于這個偏差允許多大,大家自己可以詳細算一下。實際上 UART 通信的波特率是允許一定范圍內誤差存在的,但是不能過大,否則就會采集錯誤。大家在計算波特率的時候,發現沒有整除,有小數部分的時候,就要特別小心了,因為小數部分是一概被舍掉的,于是計算誤差就產生了。我們用 11.0592M 晶振計算的過程中,11059200/12/32/9600 得到的是一個整數,如果用 12M 晶振計算 12000000/12/32/9600 就會得到一個小數,大家可以算一下誤差多少,是否在誤差范圍內。
1602 的時序問題,大家要學會通過 LCD1602 的數據手冊提供的時序圖和時序參數表格來進行研究,而且看懂時序圖是學習單片機所必須掌握的一項技能,如圖 13-2 所示。
1602 時序圖
大家看到這種圖的時候,不要感覺害怕。說句不過分的話,單片機這些邏輯上的問題,只要小學畢業就可以理解的,很多時候是因為大家把問題想象的太難才學不下去的。
我們先來看一下讀操作時序的 RS 引腳和 R/W 引腳,這兩個引腳先進行變化,因為是讀操作,所以 R/W 引腳首先要置為高電平,而不管它原來是什么。讀指令還是讀數據,都是讀操作,而且都有可能,所以 RS 引腳既有可能是置為高電平,也有可能是置為低電平,大家注意圖上的畫法。而 RS 和 R/W 變化了經過 Tsp1 這么長時間后,使能引腳 E 才能從低電平到高電平發生變化。
而使能引腳 E 拉高經過了 tD 這么長時間后,LCD1602 輸出 DB 的數據就是有效數據了,我們就可以來讀取 DB 的數據了。讀完了之后,我們要先把使能 E 拉低,經過一段時間后 RS、R/W 和 DB 才可以變化繼續為下一次讀寫做準備了。
而寫操作時序和讀操作時序的差別,就是寫操作時序中,DB 的改變是由單片機來完成的,因此要放到使能引腳 E 的變化之前進行操作,其它區別大家可以自行對比一下。
細心的同學會發現,這個時序圖上還有很多時間標簽。比如 E 的上升時間 tR,下降時間時間 tF,使能引腳 E 從一個上升沿到下一個上升沿之間的長度周期 tC,使能 E 下降沿后,R/W 和 RS 變化時間間隔 tHD1 等等很多時間要求,這些要求怎么看呢?放心,只要是正規的數據手冊,都會把這些時間要求給大家標記出來的。我們來看一下表 13-1。
大家要善于把手冊中的這個表格和時序圖結合起來看。表 13-1 中的數據,都是時序參數,本節課的所有時序參數,我都一點點的給大家講出來,以后遇到同類時序圖,就不再講了,只是提一下,但是大家務必要學會自己看時序圖,這個很重要,此外,看以下解釋需要結合圖 13-2 來看。
tC:指的是使能引腳 E 從本次上升沿到下次上升沿的最短時間是 400ns,而我們單片機因為速度較慢,一個機器周期就是 1us 多,而一條 C 語言指令肯定是一個或者幾個機器周期的,所以這個條件完全滿足。
tPW:指的是使能引腳 E 高電平的持續時間最短是 150ns,同樣由于我們的單片機比較慢,這個條件也完全滿足。
tR, tF:指的是使能引腳 E 的上升沿時間和下降沿時間,不能超過 25ns,別看這個數很小,其實這個時間限值是很寬裕的,我們實際用示波器測了一下開發板的這個引腳上升沿和下降沿時間大概是 10ns 到 15ns 之間,完全滿足。
tSP1:指的是 RS 和 R/W 引腳使能后至少保持 30ns,使能引腳 E 才可以變成高電平,這個條件同樣也完全滿足。
tHD1:指的是使能引腳 E 變成低電平后,至少保持 10ns 之后,RS 和 R/W 才能進行變化,這個條件也完全滿足。
tD:指的是使能引腳 E 變成高電平后,最多 100ns 后,1602 就把數據送出來了,那么我們就可以正常去讀取狀態或者數據了。
tHD2:指的是讀操作過程中,使能引腳 E 變成低電平后,至少保持 20ns,DB 數據總線才可以進行變化,這個條件也完全滿足。
tSP2:指的是 DB 數據總線準備好后,至少保持 40ns,使能引腳 E 才可以從低到高進行使能變化,這個條件也完全滿足。
tHD2:指的是寫操作過程中,要引腳 E 變成低電平后,至少保持 10ns,DB 數據總線才可以變化,這個條件也完全滿足。
好了,表 13-1 這個 LCD1602 的時序參數表已經解析完成了,看完之后,是不是感覺比你想象的要簡單,沒有你想的那么困難。大家自己也得慢慢學會看這種時序圖和表格,在今后的學習中,這方面的能力尤為重要。如果以后換用了其它型號的單片機,那么就根據單片機的執行速度來評估你的程序是否滿足時序要求,整體上來說器件都是有一個最快速度的限制,而沒有最慢限制,所以當換用高速的單片機后通常都是靠在各步驟間插入軟件延時來滿足較慢的時序要求。
- 液晶LCD1602(中文資料)
- LCD1602液晶屏顯示資料 113次下載
- 液晶lcd1602中文資料下載 115次下載
- C51 LCD1602的使用
- 基于51單片機+LCD1602顯示
- 單片機:LCD1602 的應用實驗
- 51單片機簡單的驅動LCD1602
- 壓敏電阻參數表文件下載 6次下載
- 基于LCD1602的時鐘顯示源代碼下載 28次下載
- LCD1602顯示屏的資料合集免費下載 57次下載
- 使用51單片機應用LCD1602的資料和程序免費下載
- LCD1602的顯示程序資料免費下載 28次下載
- 原裝MOS管-參數表下載 20次下載
- DS18B20時序解析 14次下載
- LCD1602中文資料(使用說明) 0次下載
- LCD1602液晶顯示屏的驅動設計與實現 9574次閱讀
- LCD1602的硬件參數和引腳定義 2.4w次閱讀
- lcd1602的a和k是什么引腳_lcd1602與單片機的連接方法 2.8w次閱讀
- 組態串口屏參數表及主板方案 3716次閱讀
- 51單片機對LCD1602顯示的四線驅動 6527次閱讀
- LCD1602的驅動程序的代碼編寫 1.2w次閱讀
- LCD1602是什么?關于LCD1602液晶模塊的顯示問題? 2.2w次閱讀
- lcd1602實現字幕滾動原理_lcd1602滾動顯示程序 4.2w次閱讀
- lcd1602顯示電路圖大全(兩款lcd1602液晶顯示電路原理圖) 12.7w次閱讀
- LCD1602為例教你看懂時序圖 1.1w次閱讀
- lcd1602指令說明 3.6w次閱讀
- lcd1602時序圖淺析 2.9w次閱讀
- lcd1602中文資料分享:lcd1602接線圖_lcd1602與單片機連接圖 43w次閱讀
- LCD1602初始化流程圖及程序的兩種方法 4.7w次閱讀
- 通用型LCD1602自定義字符的顯示 3.6w次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多