?? email_20061208.txt
字號:
陳先生:
您好!
我已經將液晶按照4種不同的接口全部調試通過了!謝謝您!
從我的應用程序中將液晶調試接口程序單列出來,發給您,
寫的不好,見笑了,但相信對您的技術支持有用.
使用Win RAR解壓縮即可;
1.程序使用
整個程序工程是用KeilC51建立的,您可以KC直接打開KB200505.prj并編譯;
另外<output>路徑下已經有編譯輸出的4種接口程序的HEX文件;
使用51芯片,Fosc=11.0592MHz,以下是各個接口的描述:
a.8位液晶接口
P0 DB7...DB0 8位數據接口
P1.7 RS =0,指令寄存器, =1,數據寄存器
P1.6 R/W =0,寫, =1,讀
P1.5 EN 下降沿有效,高電平讀寫數據
PSB=1 R3=0,R4=1k
以上各個引腳不要外部上拉電阻;
b.4位液晶接口
P0.7...P0.4 DB7...DB4 4位數據接口
P1.7 RS =0,指令寄存器, =1,數據寄存器
P1.6 R/W =0,寫, =1,讀
P1.5 EN 下降沿有效,高電平讀寫數據
PSB=1 R3=0,R4=1k
以上各個引腳不要外部上拉電阻;
c.4SPI液晶接口
P1.7 RS =0,指令寄存器, =1,數據寄存器
P0.5 CS =0 有效
P0.6 CLK 平時高電平
P0.7 DAT 高電平送數據,時鐘的下降沿鎖存數據
以上各個引腳,RS需要1K上拉電阻,其他的不要外部上拉電阻;
d.3SPI液晶接口
P0.5 CS =0 有效
P0.6 CLK 平時高電平
P0.7 DAT 高電平送數據,時鐘的下降沿鎖存數據
以上各個引腳不要外部上拉電阻;
2.液晶調試的心得和建議
a.和第一次樣品液晶相比,這次的液晶模塊肯定有差異,理由如下:
1)第一次樣品液晶接口固定為4BIT并口方式,但是"Judge Busy"指令沒有成功,
這次的液晶調試一下子成功,4BIT并口程序沒有任何更改,
我原來的程序中讀狀態字節前也已經將DB7-DB4設置為高了;
2)第一次樣品液晶要求RS外加680歐姆的上拉電阻,否則高電平只有1V左右;
這次的液晶在4BIT并口調試時,不是必須要外加上拉電阻;
注意: 我的調試硬件基礎是以前的產品主板,沒有任何變化;
b.這次液晶模塊的RW1067芯片控制程式中,RS引腳還存在瑕疵,理由如下:
使用4BIT或者8BIT接口,RS引腳不要外加上拉電阻;
使用4SPI接口時,RS引腳 必須 要外加上拉電阻(我使用1K),否則輸出一直為0V電平;
因為您使用的液晶模塊并非我手里的模塊,可能您不會看到類似的現象;
c. 對于液晶偏轉電平,
LCD Drive voltage range : 3.0 ~ 10 V (V0 – Vss)
僅對RW1067資料上描述已經足夠,但是提供液晶模塊時,需要指明模塊已經處理,不要再外接
第一次調試,就是因為將其外接0.3V(以前的液晶如此使用)而導致沒有顯示的.
d.回顧調試歷程,我對于RW1067 V[1][1]4_0901.pdf資料的建議:
1) 在page 9,對于RS引腳的描述需要增加他可用于SPI接口的敘述;
2) 在page 11,對于Function Set中如何將RE設置為1/0沒有寫清楚,
建議此表格中第一縱欄中RE=0/1可更改為'X',并注明由當前設置指令中的RE位決定;
3) 在Page 33, 4SPI接口的時序圖中:
沒有表明CSB信號何時恢復為高電平,最好給出完整圖;否則給我的感覺是只要初始化CS=0,以后不要更改了;
對于RS的描述也不清楚,給人的感覺是要在BIT7和BIT8輸出,而實際不是這樣;
途中SCLK上升沿上有尖號標記,和下面的敘述
"data transmitted on falling edge of SCLK, and data is hold during low level."
不符;
4) 在Page 34, 3SPI接口的時序圖中:
存在類似3)的情形;
5) 在Page 37, 4BIT接口初始化中:
起面4條指令只有半字節的發送,最好增加附加描述,有助用戶理解;
我第一次還多發送了后半字節指令,因為指令都是以8bit為單位的,并且后續指令也是這樣;
6) 在P41上有并行接口的引腳時序圖,但是后面缺少SPI接口的引腳時序圖的描述;
我第一次由于中間延時較長,導致液晶刷新較慢;現在使用下來,發現速度還是很快的;
以上建議,如有不妥,請指正
最后,再次非常感謝陳先生的大力技術支持,沒有他的悉心指導,我也完成不了調試使用液晶的任務!
仲斌 20061208
//END Of FILE
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -