久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 關于51單片機液晶寫入數據或者命令的時序問題 [打印本頁]

作者: pinenut    時間: 2018-8-1 21:38
標題: 關于51單片機液晶寫入數據或者命令的時序問題
這是一個1602液晶的時序圖
前提:向1602輸入“寫命令”,所以設置RS=0,RW=0,E=0;由于本時序延時的時間為納秒級,遠遠小于指令周期,則未寫入延時函數。
例程給的程序:
RS=0;
RW=0;
DB=   ;
E=1;
E=0;
【問題】:為什么只寫了使能端E的下降沿和上升沿,為什么不寫RS和RW的上升沿和下降沿?
所以我寫的時序是:
RS=0;
RW=0;
E=0;
DB=  ;
RS=1;
E=1;
RS=0;

我本人的思考是:RW和RS是在lcd內部自動變化的,所以不用把上升沿和下降沿的過程寫給單片機。但是LCD時序圖中RS RW E三個都有變化,為什么只有E的上升沿和下降沿要寫在程序里。我以為是lcd內部的設置,就去找了一下數據手冊,但是并沒有看到什么合適的信息。
所以我想知道,如果RW和RS真的是在傳輸數據時自動變化的,那以后在遇到其他時序圖時,要怎么區分是模塊內部自動變化的還是需要編寫程序給單片機的?
如果不是我想的這個樣子,那應該是什么樣子?



1602時序圖.PNG (19.68 KB, 下載次數: 54)

1602時序圖.PNG

作者: 楊雪飛    時間: 2018-8-2 08:42
首先寫命令寫數據是一個子程序,會反復不斷執行,是反復執行的。每執行一次RS判斷是讀寫數據還是讀寫命令,判斷完之后開始準備數據或指令的數據,EN=1時開始寫,EN=0時結束,子程序執行完畢,下一次再讀寫重復這樣的操作。所以不能再重復在子程序中寫RS   RW。時序圖是判斷他們置高低還有先后的順序,而且要按要求控制在時序圖時間內完成操作才能正確寫入。并不是讓你按照時序圖微妙不差的完成各個引腳的高低轉換。

作者: 楊雪飛    時間: 2018-8-2 08:46
RS =   ;判斷命令還是數據
RW =  ;判斷是讀還是寫

DB =       數據準備階段,在寄存器。

EN = 1 ;開始寫入或者讀出;
EN = 0 ; 結束寫入或者讀出;

有的高速單片機需要加延時。
RS    RW為前置判斷,所以時序提前,判斷完之后就往下操作,無需再轉換電平。
作者: 楊雪飛    時間: 2018-8-2 08:48
我也是個老年初學者,只能按自己的理解跟你說這么多,不對的地方還請論壇大神斧正。
作者: omikeai    時間: 2018-8-2 11:13
當你確定好是傳數據還是命令,讀還是寫的時候,RS和RW是傳輸一個字節內不會改變的
而E是傳輸每一個位的時候控制的
作者: 飛翔的Cat    時間: 2018-8-2 11:48
個人感覺E是上升或下降沿觸發的,類似于觸發器,而別的端口則只是電平控制,只是一個0 1的信號
作者: pinenut    時間: 2018-8-2 12:38
omikeai 發表于 2018-8-2 11:13
當你確定好是傳數據還是命令,讀還是寫的時候,RS和RW是傳輸一個字節內不會改變的
而E是傳輸每一個位的時 ...

在傳輸數據的時候rs和rw不會變嗎?可是時序圖上rs和rw有變化啊
作者: omikeai    時間: 2018-8-2 13:14
pinenut 發表于 2018-8-2 12:38
在傳輸數據的時候rs和rw不會變嗎?可是時序圖上rs和rw有變化啊

那是一個字節傳輸完了,你要調整到數據或者命令,又或者讀或寫的時候才會改變,只有E時每位都要改變一次的
作者: waynehuge    時間: 2018-8-2 14:01
按照我的理解:
RW是指示讀寫信號的,必須要有
E信號是用來鎖存數據到LCD顯示的下降沿信號,亦即你傳輸數據的時候只是傳輸到了lcd的控制器里面,并沒有更新到LCD;
在寫入的時候,LCD并不關心RS信號;
嚴格來說例程是不太嚴謹的,考慮到鎖存過程中的干擾,應該在鎖存后加一個RW=1的信號
你可以試試下面的寫入操作
RW=0;
DB=   ;
E=1;
E=0;
RW=1;
也是可以的
作者: omikeai    時間: 2018-8-2 15:12
pinenut 發表于 2018-8-2 12:38
在傳輸數據的時候rs和rw不會變嗎?可是時序圖上rs和rw有變化啊

時序圖是把整個發送過程描述出來,一個字節發送完后,程序再重新從發送那里開始,不久等于RS和RW 變化一次了么
作者: 楊雪飛    時間: 2018-8-2 15:49
pinenut 發表于 2018-8-2 12:38
在傳輸數據的時候rs和rw不會變嗎?可是時序圖上rs和rw有變化啊

兩個水桶,一個叫命令,一個叫數據。RW的0或者1是決定是往里放水還是從里邊取水出來,RS的0或者1是決定這個取水或者放水是對命令水桶操作還是對數據水桶操作,這兩個決定完了可以不用管了,然后EN就是下達的開始干的命令,然后開始在一個周期內,放多少水或者取多少水,周期結束,EN歸0,這個周期就是八個脈沖,這八個脈沖分別對D0---D7操作,是給高還是低電平。

這就是一個操作過程,所以,RS   RW只是前邊的決策,后邊實施的時候他就不能再改變了。
作者: lgjdqm    時間: 2018-8-2 16:19
51程序運行本身需要時間
作者: lgjdqm    時間: 2018-8-2 16:21
楊雪飛 發表于 2018-8-2 15:49
兩個水桶,一個叫命令,一個叫數據。RW的0或者1是決定是往里放水還是從里邊取水出來,RS的0或者1是決定這 ...

講評頭頭是道




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 成人在线播放 | 亚洲不卡在线视频 | 日韩成人免费视频 | 日日操夜夜操天天操 | 日韩精品成人免费观看视频 | 天天躁日日躁狠狠很躁 | 91精品国产综合久久婷婷香蕉 | 日韩中文字幕 | 亚洲 欧美 在线 一区 | 91在线看 | 91亚洲精品国偷拍自产在线观看 | 国产资源一区二区三区 | 日韩欧美在线免费观看视频 | 久久久91精品国产一区二区三区 | 九色 在线 | 婷婷在线免费 | 久久久久久av | 亚洲精品精品 | 国产精品久久一区二区三区 | 成人免费影院 | 欧美日韩视频在线第一区 | 欧美综合一区二区 | 天天天天操 | 九九热国产精品视频 | 中文字幕在线一区二区三区 | 一级毛片色一级 | 婷婷综合网 | 亚洲欧美国产一区二区三区 | 亚洲福利av | 俺去俺来也www色官网cms | 蜜桃一区二区三区在线 | 久久999 | 免费网站国产 | 一区二区久久 | 国产精品毛片av一区 | 在线观看黄色 | 四虎影视一区二区 | 九九久久久 | 国产精品久久久久一区二区三区 | 久久精品视频免费看 | 亚洲国产精品一区 |