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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4686|回復: 12
收起左側

關于51單片機液晶寫入數據或者命令的時序問題

[復制鏈接]
回帖獎勵 30 黑幣 回復本帖可獲得 10 黑幣獎勵! 每人限 1 次(中獎概率 50%)
ID:278709 發表于 2018-8-1 21:38 | 顯示全部樓層 |閱讀模式
這是一個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
回復

使用道具 舉報

ID:381977 發表于 2018-8-2 14:01 | 顯示全部樓層
按照我的理解:
RW是指示讀寫信號的,必須要有
E信號是用來鎖存數據到LCD顯示的下降沿信號,亦即你傳輸數據的時候只是傳輸到了lcd的控制器里面,并沒有更新到LCD;
在寫入的時候,LCD并不關心RS信號;
嚴格來說例程是不太嚴謹的,考慮到鎖存過程中的干擾,應該在鎖存后加一個RW=1的信號
你可以試試下面的寫入操作
RW=0;
DB=   ;
E=1;
E=0;
RW=1;
也是可以的

評分

參與人數 1黑幣 +40 收起 理由
admin + 40 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

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

評分

參與人數 1黑幣 +40 收起 理由
admin + 40 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:97554 發表于 2018-8-2 08:46 | 顯示全部樓層
RS =   ;判斷命令還是數據
RW =  ;判斷是讀還是寫

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

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

有的高速單片機需要加延時。
RS    RW為前置判斷,所以時序提前,判斷完之后就往下操作,無需再轉換電平。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:97554 發表于 2018-8-2 08:48 | 顯示全部樓層
我也是個老年初學者,只能按自己的理解跟你說這么多,不對的地方還請論壇大神斧正。

評分

參與人數 1黑幣 +100 收起 理由
admin + 100 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:233756 發表于 2018-8-2 11:13 | 顯示全部樓層
當你確定好是傳數據還是命令,讀還是寫的時候,RS和RW是傳輸一個字節內不會改變的
而E是傳輸每一個位的時候控制的

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:382063 發表于 2018-8-2 11:48 | 顯示全部樓層
個人感覺E是上升或下降沿觸發的,類似于觸發器,而別的端口則只是電平控制,只是一個0 1的信號

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:278709 發表于 2018-8-2 12:38 來自手機 | 顯示全部樓層
omikeai 發表于 2018-8-2 11:13
當你確定好是傳數據還是命令,讀還是寫的時候,RS和RW是傳輸一個字節內不會改變的
而E是傳輸每一個位的時 ...

在傳輸數據的時候rs和rw不會變嗎?可是時序圖上rs和rw有變化啊
回復

使用道具 舉報

ID:233756 發表于 2018-8-2 13:14 | 顯示全部樓層
pinenut 發表于 2018-8-2 12:38
在傳輸數據的時候rs和rw不會變嗎?可是時序圖上rs和rw有變化啊

那是一個字節傳輸完了,你要調整到數據或者命令,又或者讀或寫的時候才會改變,只有E時每位都要改變一次的
回復

使用道具 舉報

ID:233756 發表于 2018-8-2 15:12 | 顯示全部樓層
pinenut 發表于 2018-8-2 12:38
在傳輸數據的時候rs和rw不會變嗎?可是時序圖上rs和rw有變化啊

時序圖是把整個發送過程描述出來,一個字節發送完后,程序再重新從發送那里開始,不久等于RS和RW 變化一次了么
回復

使用道具 舉報

ID:97554 發表于 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只是前邊的決策,后邊實施的時候他就不能再改變了。
回復

使用道具 舉報

ID:74868 發表于 2018-8-2 16:19 | 顯示全部樓層
51程序運行本身需要時間
回復

使用道具 舉報

ID:74868 發表于 2018-8-2 16:21 | 顯示全部樓層
楊雪飛 發表于 2018-8-2 15:49
兩個水桶,一個叫命令,一個叫數據。RW的0或者1是決定是往里放水還是從里邊取水出來,RS的0或者1是決定這 ...

講評頭頭是道
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产婷婷精品av在线 | 日韩成人免费视频 | 成年人免费网站 | 91久久精品日日躁夜夜躁国产 | 久久精品免费看 | 中文字幕亚洲一区 | 欧美激情欧美激情在线五月 | 日本网站在线看 | 久久亚洲国产精品日日av夜夜 | 亚洲精品国产第一综合99久久 | 国产高清精品一区二区三区 | 亚洲性视频 | 综合色久 | 亚洲黄色成人网 | 亚洲一区二区在线 | 一区二区三区四区电影视频在线观看 | 色综合久 | 免费av观看 | 天天搞夜夜操 | 精品国产乱码久久久久久丨区2区 | 2021狠狠天天天 | 午夜精品久久久久久久久久久久久 | 亚洲国产精品一区 | 91在线观看视频 | 日韩av在线不卡 | 亚洲精品欧美 | 欧美精品a∨在线观看不卡 国产精品久久国产精品 | 精品亚洲一区二区三区 | 久久久久久中文字幕 | 91影院在线观看 | 91色在线| 日本精品一区二区三区在线观看视频 | 中文字幕亚洲精品 | 国产激情视频在线观看 | 成人av在线播放 | 亚洲欧洲色视频 | 免费一区| 日本精品久久 | 亚洲a级| 羞羞在线视频 | 黄色一级免费 |