chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于LCD1602單片機通信時序的問題解析

MCU開發(fā)加油站 ? 來源:未知 ? 作者:佚名 ? 2017-12-25 09:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

所謂“時序”從字面意義上來理解,一是“時間問題”,二是“順序問題”。

先說“順序問題”,這個相對簡單一些。我們在學(xué) UART 串口通信的時候,先 1 位起始位,再 8 位數(shù)據(jù)位,最后 1 位停止位,這個先后順序不能錯。我們在學(xué) 1602 液晶的時候,比如寫指令,RS=L,R/W=L,D0~D7=指令碼,這三者的順序是無所謂的,但是最終的 E=高脈沖,必須是在這三條程序之后,這個順序一旦錯誤,寫的數(shù)據(jù)也可會出錯。

“時間問題”內(nèi)容相對復(fù)雜。比如 UART 通信,每一位的時間寬度是 1/baud。我們初中就學(xué)過一個概念,世界上沒有絕對的準確。那么每一位的時間寬度 1/baud 要求精確到什么范圍內(nèi)呢?

前邊教程我提到過,單片機讀取 UART 的 RXD 引腳數(shù)據(jù)的時候,一位數(shù)據(jù),單片機平均分成了 16 份,取其中的 7、8、9 三次讀到的結(jié)果,這三次中有 2 次是高電平那這一位就是 1,有 2 次是低電平,那這一次就是 0。如果我們的波特率稍微有些偏差,只要累計下來到最后一位停止位,這 7、8、9 還在范圍內(nèi)即可。如圖 13-1 所示。

圖 13-1 UART 信號采集時序圖

我們用三個箭頭來表示 7、8、9 這三次的采集位置,大家可以注意到,當(dāng)采集到 D7 的時候,已經(jīng)有一次采集偏出去了,但是我們采集到的數(shù)據(jù)還是不會錯,因為有 2 次采集正確。至于這個偏差允許多大,大家自己可以詳細算一下。實際上 UART 通信的波特率是允許一定范圍內(nèi)誤差存在的,但是不能過大,否則就會采集錯誤。大家在計算波特率的時候,發(fā)現(xiàn)沒有整除,有小數(shù)部分的時候,就要特別小心了,因為小數(shù)部分是一概被舍掉的,于是計算誤差就產(chǎn)生了。我們用 11.0592M 晶振計算的過程中,11059200/12/32/9600 得到的是一個整數(shù),如果用 12M 晶振計算 12000000/12/32/9600 就會得到一個小數(shù),大家可以算一下誤差多少,是否在誤差范圍內(nèi)。

1602 的時序問題,大家要學(xué)會通過 LCD1602 的數(shù)據(jù)手冊提供的時序圖和時序參數(shù)表格來進行研究,而且看懂時序圖是學(xué)習(xí)單片機所必須掌握的一項技能,如圖 13-2 所示。

圖 13-2 1602 時序圖

大家看到這種圖的時候,不要感覺害怕。說句不過分的話,單片機這些邏輯上的問題,只要小學(xué)畢業(yè)就可以理解的,很多時候是因為大家把問題想象的太難才學(xué)不下去的。

我們先來看一下讀操作時序的 RS 引腳和 R/W 引腳,這兩個引腳先進行變化,因為是讀操作,所以 R/W 引腳首先要置為高電平,而不管它原來是什么。讀指令還是讀數(shù)據(jù),都是讀操作,而且都有可能,所以 RS 引腳既有可能是置為高電平,也有可能是置為低電平,大家注意圖上的畫法。而 RS 和 R/W 變化了經(jīng)過 Tsp1 這么長時間后,使能引腳 E 才能從低電平到高電平發(fā)生變化。

而使能引腳 E 拉高經(jīng)過了 tD 這么長時間后,LCD1602 輸出 DB 的數(shù)據(jù)就是有效數(shù)據(jù)了,我們就可以來讀取 DB 的數(shù)據(jù)了。讀完了之后,我們要先把使能 E 拉低,經(jīng)過一段時間后 RS、R/W 和 DB 才可以變化繼續(xù)為下一次讀寫做準備了。

而寫操作時序和讀操作時序的差別,就是寫操作時序中,DB 的改變是由單片機來完成的,因此要放到使能引腳 E 的變化之前進行操作,其它區(qū)別大家可以自行對比一下。

細心的同學(xué)會發(fā)現(xiàn),這個時序圖上還有很多時間標簽。比如 E 的上升時間 tR,下降時間時間 tF,使能引腳 E 從一個上升沿到下一個上升沿之間的長度周期 tC,使能 E 下降沿后,R/W 和 RS 變化時間間隔 tHD1 等等很多時間要求,這些要求怎么看呢?放心,只要是正規(guī)的數(shù)據(jù)手冊,都會把這些時間要求給大家標記出來的。我們來看一下表 13-1。

大家要善于把手冊中的這個表格和時序圖結(jié)合起來看。表 13-1 中的數(shù)據(jù),都是時序參數(shù),本節(jié)課的所有時序參數(shù),我都一點點的給大家講出來,以后遇到同類時序圖,就不再講了,只是提一下,但是大家務(wù)必要學(xué)會自己看時序圖,這個很重要,此外,看以下解釋需要結(jié)合圖 13-2 來看。

tC:指的是使能引腳 E 從本次上升沿到下次上升沿的最短時間是 400ns,而我們單片機因為速度較慢,一個機器周期就是 1us 多,而一條 C 語言指令肯定是一個或者幾個機器周期的,所以這個條件完全滿足。

tPW:指的是使能引腳 E 高電平的持續(xù)時間最短是 150ns,同樣由于我們的單片機比較慢,這個條件也完全滿足。

tR, tF:指的是使能引腳 E 的上升沿時間和下降沿時間,不能超過 25ns,別看這個數(shù)很小,其實這個時間限值是很寬裕的,我們實際用示波器測了一下開發(fā)板的這個引腳上升沿和下降沿時間大概是 10ns 到 15ns 之間,完全滿足。

tSP1:指的是 RS 和 R/W 引腳使能后至少保持 30ns,使能引腳 E 才可以變成高電平,這個條件同樣也完全滿足。

tHD1:指的是使能引腳 E 變成低電平后,至少保持 10ns 之后,RS 和 R/W 才能進行變化,這個條件也完全滿足。

tD:指的是使能引腳 E 變成高電平后,最多 100ns 后,1602 就把數(shù)據(jù)送出來了,那么我們就可以正常去讀取狀態(tài)或者數(shù)據(jù)了。

tHD2:指的是讀操作過程中,使能引腳 E 變成低電平后,至少保持 20ns,DB 數(shù)據(jù)總線才可以進行變化,這個條件也完全滿足。

tSP2:指的是 DB 數(shù)據(jù)總線準備好后,至少保持 40ns,使能引腳 E 才可以從低到高進行使能變化,這個條件也完全滿足。

tHD2:指的是寫操作過程中,要引腳 E 變成低電平后,至少保持 10ns,DB 數(shù)據(jù)總線才可以變化,這個條件也完全滿足。

好了,表 13-1 這個 LCD1602 的時序參數(shù)表已經(jīng)解析完成了,看完之后,是不是感覺比你想象的要簡單,沒有你想的那么困難。大家自己也得慢慢學(xué)會看這種時序圖和表格,在今后的學(xué)習(xí)中,這方面的能力尤為重要。如果以后換用了其它型號的單片機,那么就根據(jù)單片機的執(zhí)行速度來評估你的程序是否滿足時序要求,整體上來說器件都是有一個最快速度的限制,而沒有最慢限制,所以當(dāng)換用高速的單片機后通常都是靠在各步驟間插入軟件延時來滿足較慢的時序要求。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 時序
    +關(guān)注

    關(guān)注

    5

    文章

    402

    瀏覽量

    38623
  • LCD1602
    +關(guān)注

    關(guān)注

    14

    文章

    607

    瀏覽量

    54060

原文標題:簡析單片機通信時序分析

文章出處:【微信號:mcugeek,微信公眾號:MCU開發(fā)加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    一文解析單片機晶振腳的原理

    晶振是重要元器件之一,對于晶振,小編于往期晶振相關(guān)文章中有過諸多闡述。本文中,小編將對單片機晶振腳的原理加以解析,以幫助大家更好理解晶振。晶振電路需要2個10-30pF級別的電容作為起振用途
    的頭像 發(fā)表于 11-21 15:37 ?3253次閱讀
    一文<b class='flag-5'>解析</b><b class='flag-5'>單片機</b>晶振腳的原理

    51單片機RS485編程實例資料

    詳細介紹51單片機RS485通信接線和編程代碼
    發(fā)表于 10-20 14:57 ?2次下載

    SMC1602A LCM使用說明書

    LCD1602手冊
    發(fā)表于 09-01 17:31 ?0次下載

    浮思特 | ABOV 32位單片機的技術(shù)演進與行業(yè)應(yīng)用解析

    隨著科技的不斷進步,單片機(MCU)已經(jīng)從最初的8位和16位時代,逐步邁向了32位的時代。32位單片機的高性能和廣泛適應(yīng)性,使其成為未來嵌入式系統(tǒng)和智能硬件的核心驅(qū)動力量。特別是在家電、工業(yè)控制和物
    的頭像 發(fā)表于 09-01 09:56 ?647次閱讀
    浮思特 | ABOV 32位<b class='flag-5'>單片機</b>的技術(shù)演進與行業(yè)應(yīng)用<b class='flag-5'>解析</b>

    什么單片機比較耐用

    ? ? ? ? 在工業(yè)控制、戶外設(shè)備、醫(yī)療儀器等場景中,單片機的耐用性直接決定了設(shè)備的穩(wěn)定運行與維護成本。耐用的單片機通常具備寬溫工作范圍、強抗干擾能力、穩(wěn)定的電源適應(yīng)性和長壽命的硬件設(shè)計。深圳市安
    的頭像 發(fā)表于 07-31 13:48 ?537次閱讀

    怎么測單片機系統(tǒng)頻率

    單片機系統(tǒng)頻率是指單片機工作時的時鐘頻率,它直接影響單片機的運行速度和處理能力,準確測量系統(tǒng)頻率對單片機應(yīng)用開發(fā)、程序調(diào)試和性能優(yōu)化具有重要意義。測量
    的頭像 發(fā)表于 07-25 11:39 ?455次閱讀

    單片機怎么驅(qū)動電機?

    在各類自動化設(shè)備和智能裝置中,電機是重要的執(zhí)行部件,而單片機作為控制核心,需要通過特定的方式驅(qū)動電機運轉(zhuǎn)。單片機驅(qū)動電機并非直接連接即可,而是要根據(jù)電機類型和功率,搭配合適的驅(qū)動電路,才能實現(xiàn)穩(wěn)定
    的頭像 發(fā)表于 07-25 09:31 ?433次閱讀

    單片機怎么燒程序

    單片機燒程序是將編寫好的程序代碼寫入單片機內(nèi)部存儲單元,讓單片機按照預(yù)設(shè)邏輯工作的過程,是單片機應(yīng)用開發(fā)中不可或缺的環(huán)節(jié)。無論是簡單的燈光控制程序,還是復(fù)雜的工業(yè)控制算法,都需要通過燒
    的頭像 發(fā)表于 07-23 11:47 ?637次閱讀

    構(gòu)建穩(wěn)定通信橋梁:上位與下位通信實現(xiàn)方式解析

    上下位通信技術(shù)全景解析 在工業(yè)控制與自動化系統(tǒng)中,上位(監(jiān)控/管理端)與下位(PLC/儀表/執(zhí)行器)的可靠
    的頭像 發(fā)表于 07-11 15:56 ?773次閱讀
    構(gòu)建穩(wěn)定<b class='flag-5'>通信</b>橋梁:上位<b class='flag-5'>機</b>與下位<b class='flag-5'>機</b><b class='flag-5'>通信</b>實現(xiàn)方式<b class='flag-5'>解析</b>

    基于51單片機的多功能萬年歷設(shè)計

    基于51單片機的多功能萬年歷設(shè)計? ? 本項目是基于51單片機STC89系列,運用protues仿真軟件開發(fā),使用模塊化編程方法,模塊化電路設(shè)計,硬件部分采用
    發(fā)表于 06-03 17:17 ?1次下載

    瑞薩RA單片機在e2 studio環(huán)境下printf編譯出錯的問題解析

    最近看到有一些網(wǎng)友在討論關(guān)于:瑞薩RA單片機在e2 studio環(huán)境下printf編譯出錯的問題。
    的頭像 發(fā)表于 05-24 15:51 ?1202次閱讀
    瑞薩RA<b class='flag-5'>單片機</b>在e2 studio環(huán)境下printf編譯出錯的問<b class='flag-5'>題解析</b>

    TLC5615與單片機通信時是不是用任意IO口都可以通信,只要時序和數(shù)據(jù)是按說明書通信的?

    TLC5615與單片機通信時是不是用任意IO口都可以通信,只要時序和數(shù)據(jù)是按說明書通信的?
    發(fā)表于 02-13 07:17

    TMP122讀溫度時序單片機總是讀不到值,為什么?

    我寫的TMP122的讀溫度時序感覺有問題,單片機總是讀不到值······ #include\"msp430x14x.h\" #include\"simple.h
    發(fā)表于 02-12 08:14

    使用ads1148制作的測溫電路中與430單片機通信,2.CKPH會使得不能正常通信嗎?

    ,第二條是單片機的輸出SIMO,第三條是單片的輸入SOMI) 問題:1.請問這個時序圖是正確的嗎,怎么讀的? 如果把程序第(3)改為U0TCTL|=CKPL+SSEL1+STC;,單片機
    發(fā)表于 01-14 07:22

    單片機Debug工具性能對比 單片機調(diào)試常用命令

    單片機(Microcontroller Unit, MCU)調(diào)試是嵌入式開發(fā)中的一個重要環(huán)節(jié),它幫助開發(fā)者發(fā)現(xiàn)和修復(fù)代碼中的錯誤,優(yōu)化程序性能。不同的單片機和開發(fā)環(huán)境可能使用不同的調(diào)試工具和命令
    的頭像 發(fā)表于 12-19 09:56 ?2145次閱讀