|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
液晶顯示命令字老是調(diào)試不通,請(qǐng)求幫助呢 |
| 作者:lh9865 欄目:單片機(jī) |
我在做液晶顯示呢,19264點(diǎn)陣的,用仿真器調(diào)了一天了,總是BUSY檢測(cè)不通過 郁悶著呢 我把這段程序給貼上來,兄弟能幫我看下嗎,將不勝感激呢 ;***液晶屏初始化*** ;*****分片關(guān)閉顯示屏 cbi LCDM_CSA_PIN,LCDM_CSA_PINNum cbi LCDM_CSB_PIN,LCDM_CSB_PINNum ;選中左片 cbi LCDM_DI_PIN,LCDM_DI_PINNum ;置寄存器選擇為L sbi LCDM_RW_PIN,LCDM_RW_PINNum ;置讀/寫選擇為H sbi LCDM_EN_PIN, LCDM_EN_PINNum ;使能信號(hào)為H rcall TDELAY2us ;延時(shí)2us rcall Twait ;檢測(cè)液晶顯示是否忙 cbi LCDM_DI_PIN,LCDM_DI_PINNum ;置寄存器選擇為L cbi LCDM_RW_PIN,LCDM_RW_PINNum ;置讀/寫選擇為L ldi ADDER, LCDM_OFF_Display ;置關(guān)閉液晶的控制指令字, out LCDM_DATA_PIN,ADDER ;輸出到數(shù)據(jù)端口 sbi LCDM_EN_PIN, LCDM_EN_PINNum ;使能信號(hào)為H rcall TDELAY2us ;延時(shí)2us cbi LCDM_EN_PIN, LCDM_EN_PINNum ;使能信號(hào)為L cbi LCDM_CSA_PIN,LCDM_CSA_PINNum sbi LCDM_CSB_PIN,LCDM_CSB_PINNum ;選中中片 cbi LCDM_DI_PIN,LCDM_DI_PINNum ;置寄存器選擇為L sbi LCDM_RW_PIN,LCDM_RW_PINNum ;置讀/寫選擇為H sbi LCDM_EN_PIN, LCDM_EN_PINNum ;使能信號(hào)為H rcall TDELAY2us ;延時(shí)2us rcall Twait ;檢測(cè)液晶顯示是否忙 cbi LCDM_DI_PIN,LCDM_DI_PINNum ;置寄存器選擇為L cbi LCDM_RW_PIN,LCDM_RW_PINNum ;置讀/寫選擇為L ldi ADDER, LCDM_OFF_Display ;置關(guān)閉液晶的控制指令字, out LCDM_DATA_PIN,ADDER ;輸出到數(shù)據(jù)端口 sbi LCDM_EN_PIN, LCDM_EN_PINNum ;使能信號(hào)為H rcall TDELAY2us ;延時(shí)2us cbi LCDM_EN_PIN, LCDM_EN_PINNum ;使能信號(hào)為L sbi LCDM_CSA_PIN,LCDM_CSA_PINNum cbi LCDM_CSB_PIN,LCDM_CSB_PINNum ;選中右片 cbi LCDM_DI_PIN,LCDM_DI_PINNum ;置寄存器選擇為L sbi LCDM_RW_PIN,LCDM_RW_PINNum ;置讀/寫選擇為H sbi LCDM_EN_PIN, LCDM_EN_PINNum ;使能信號(hào)為H rcall TDELAY2us ;延時(shí)2us rcall Twait ;檢測(cè)液晶顯示是否忙 cbi LCDM_DI_PIN,LCDM_DI_PINNum ;置寄存器選擇為L cbi LCDM_RW_PIN,LCDM_RW_PINNum ;置讀/寫選擇為L ldi ADDER, LCDM_OFF_Display ;置關(guān)閉液晶的控制指令字, out LCDM_DATA_PIN,ADDER ;輸出到數(shù)據(jù)端口 sbi LCDM_EN_PIN, LCDM_EN_PINNum ;使能信號(hào)為H rcall TDELAY2us ;延時(shí)2us cbi LCDM_EN_PIN, L |
| 2樓: | >>參與討論 |
| 作者: lh9865 于 2006/10/21 11:32:00 發(fā)布:
根據(jù)我調(diào)試的結(jié)果,我的推斷是這樣的 根據(jù)我調(diào)試的結(jié)果,我的推斷是這樣的: 關(guān)閉/打開液晶屏從現(xiàn)象上看是可行,但到設(shè)置起始行時(shí),檢測(cè)BUSY程序就通不過,從命令字可以看出一些問題,在關(guān)閉/打開液晶屏中的命令字中的D7位沒有置1,所以檢測(cè)能通過,而設(shè)置起始行的命令字中D7 位是有置1的,在BUSY檢測(cè)中通不過,可能的原因: PA口的數(shù)據(jù)沒有得到來自液晶數(shù)據(jù)口的更新,換句話說,就是根本沒有讀出液晶的狀態(tài) 如果這樣問題就出來了: 程序能寫但是不能讀 很想能有人指點(diǎn)迷津呢,將會(huì)非常感謝,回頭我會(huì)將整個(gè)程序粘上,讓那些同我一樣對(duì)液晶顯示迷惑得到幫助 附: 5.讀狀態(tài)(STATUS READ) 代碼 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 形式 0 1 BUSY 0 ON/ OFF RET 0 0 0 0 當(dāng)R/W=1 D/I=0時(shí),在E信號(hào)為“H”的作用下,狀態(tài)分別輸出到數(shù)據(jù)總線(DB7∽DB0)的相應(yīng)位。 BF:前面已敘述過(見BF標(biāo)志位一節(jié))。 ON/OFF:表示DFF觸發(fā)器的狀態(tài)(見DFF觸發(fā)器一節(jié))。 RST:RST=1表示內(nèi)部正在初始化,此時(shí)組件不接受任何指令和數(shù)據(jù)。 1.顯示開關(guān)控制(DISPLAY ON/OFF) 代碼 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 形式 0 0 0 0 1 1 1 1 1 D D=1:開顯示(DISPLAY ON)意即顯示器可以進(jìn)行各種顯示操作 D=0:關(guān)顯示(DISPLAY OFF)意即不能對(duì)顯示器可以進(jìn)行各種顯示操作 2.設(shè)置顯示起始行 代碼 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 形式 0 0 1 1 A5 A4 A3 A2 A1 A0 前面在Z地址計(jì)數(shù)器一節(jié)已經(jīng)描述了顯示起始行是由Z地址計(jì)數(shù)器控 制的。A5∽A0的6位地址自動(dòng)送入Z地址計(jì)數(shù)器,起始行的地址可以是0∽ 63 的任意一行。 例如: 選擇A5∽A0是62,則起始行與DDRAM行的對(duì)應(yīng)關(guān)系如下: DDRAM 行:62 63 0 1 2 3•••••••••••••••••••••28 29 屏幕顯示行:1 2 3 4 5 6•••••••••••••••••••••31 32 3.設(shè)置頁地址 代碼 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 形式 0 0 1 0 1 1 1 A2 A1 A0 所謂頁地址就是DDRAM的行地址,8行為一頁,模塊共64行即8頁, A2 ∽A0表示0∽7頁。讀寫數(shù)據(jù)對(duì)地址沒有影響,頁地址由本指令或RST信號(hào) 改變復(fù)位后頁地址為0。頁地址與DDRAM的對(duì)應(yīng)關(guān)系見DDRAM地址表。 4.設(shè)置Y地址(SET Y ADDRESS) 代碼 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 形式 0 0 0 1 A5 A4 A3 A2 A1 A0 此指令的作用是將A5∽A0送入Y地址計(jì)數(shù)器,作為DDRAM的Y地址指 針。在對(duì)DDRAM進(jìn)行讀寫操作后,Y地址指針自動(dòng)加1,指向下一個(gè)DDRAM單 元。 |
|
| 3樓: | >>參與討論 |
| 作者: lh9865 于 2006/10/23 10:30:00 發(fā)布:
熬了三個(gè)晚上,調(diào)出來了,很累 熬了三個(gè)晚上,調(diào)出來了,很累 |
|
| 4樓: | >>參與討論 |
| 作者: stycx 于 2006/10/23 10:32:00 發(fā)布:
恭喜樓主 |
|
| 5樓: | >>參與討論 |
| 作者: ldlglyld 于 2006/10/23 13:04:00 發(fā)布:
不知摟主用的什么液晶顯示屏? 只要找供應(yīng)商處的技術(shù)工程師就科技了哦 順便提一下我是做香港精電的 有需要的話請(qǐng)聯(lián)系。! 聯(lián)系電話: 010-82600169 82600442 網(wǎng)址: www.hqlcd.com 郵箱: ldlglyld@163.com |
|
| 6樓: | >>參與討論 |
| 作者: 陳雙君 于 2006/10/24 10:38:00 發(fā)布:
能調(diào)出來不錯(cuò)了的,是一個(gè)人動(dòng)手調(diào)的啊? 能調(diào)出來不錯(cuò)了的,是一個(gè)人動(dòng)手調(diào)的啊? 如果是一個(gè)人沒有和別人一起調(diào)試出來的話那真的是有點(diǎn)耐性,不錯(cuò)不錯(cuò). |
|
| 7樓: | >>參與討論 |
| 作者: lh9865 于 2006/10/25 11:26:00 發(fā)布:
不容易呢 真的不容易呢,可是他們都說這樣的程序應(yīng)該很簡單的,唉,水平不中呢 |
|
|
|
| 免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |