|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
俺的神吶.亂碼,還是亂碼,這塊液晶怎么了??請大俠幫忙 |
| 作者:batiafu 欄目:技術(shù)交流 |
/*===================================================================== HY-12232C9顯示驅(qū)動程序 于2006年十一黃金周期間創(chuàng)作 編譯環(huán)境為KEILC UV2. MCU-AT89C52 參考www.21ic.com論壇上眾多高手作品 ====================================================================== HY-12232C9引腳說明 1--GND: 2--VCC: 3--GND: 4--RS: 為H,表示D0-D7為數(shù)據(jù) 為L,表示D0-D7為指令 5--E1: 讀寫使能信號(MASTER). 6--E2: 讀寫使能信號(slaver). 7--R/W: 讀寫選擇信號。 為H,讀數(shù)據(jù)。 為L,寫數(shù)據(jù)。 8--DB0: . . . . 15--DB7: 16--RST: 復(fù)位信號,上升沿復(fù)位, 復(fù)位后電平保持為高. 17--LEDA:接LCD外接驅(qū)動電源:0-+5V 或0--5V.這里接+5V。 ----------------------------------------------------------------------- 接線說明 |DB0----P1.0| |DB1----P1.1| |DB2----P1.2| |DB3----P1.3| |DB4----P1.4| |DB5----P1.5| |DB6----P1.6| |DB7----P1.7| |RS ----P2.6| |E1 ----P2.5| |E2 ----P2.4| |R_W----P2.3| |RST----P2.2| |LEDA---VCC | =====================================================================*/ #include <reg52.h> #include <intrins.h> //--------------------------------------------------------------------- #define uCHAR unsigned CHAR #define uint unsigned CHAR sbit RS = P2^6; sbit E1 = P2^5; sbit E2 = P2^4; sbit R_W = P2^3; sbit RST = P2^2; sbit led = P2^7; //外接指示燈,用于測試? //--------------------------------------------------------------------- void delay(uint i); // 函數(shù)聲明 //--------------------------------------------------------------------- void wr_m_i(uCHAR i) // 寫指令到MASTER. { do // 判忙 { E1=0;RS=0;R_W=1;E1=1; }while(P1&0x80); E1=0;RS=0;R_W=0;P1=i;E1=1; _nop_();_nop_(); E1=0; } void wr_m_d(uCHAR i) // 寫數(shù)據(jù)到MASTER. { do // 判忙 { E1=0;RS=0;R_W=1;E1=1; }while(P1&0x80); E1=0;RS=1;R_W=0;P1=i;E1=1; _nop_();_nop_(); E1=0; & |
| 2樓: | >>參與討論 |
| 作者: batiafu 于 2006/10/4 18:51:00 發(fā)布:
接上 今天液晶終于亮了,但亮的蹊蹺,且聽俺慢慢道來....... 程序還沒有寫完,就是在液晶上顯示4條線. 左邊寫0F,右邊寫F0. 1.開始只寫了左邊,右邊沒有處理(沒有在初始化程序中寫slaver的工作方式,也沒有對slave 的RAM做任何操作.)對左邊的RAM清零后,只寫一次. 但是,左邊的前16列是亂碼,反復(fù)上電,偶爾能正常顯示....這時(shí)右半邊沒有顯示. 上電先后延時(shí)一段時(shí)間后在復(fù)位液晶模塊,不行. 后來又改為上邊所帖程序(反復(fù)寫RAM),不行. 小弟沒有調(diào)試經(jīng)驗(yàn),剛剛開始寫程序,所以到這里沒有辦法了... 2.把所有的對左半邊的操作,均改為右邊邊.現(xiàn)象一樣.左邊沒有顯示. 3.在初始化程序中加上對左邊的操作,對左右兩邊都清零,都寫RAM.如所帖程序. 左邊前16列亂碼,但是右邊都是亂碼!!!!!!! 暈了.... * - 本貼最后修改時(shí)間:2006-10-4 21:07:40 修改者:batiafu |
|
| 3樓: | >>參與討論 |
| 作者: batiafu 于 2006/10/4 18:57:00 發(fā)布:
接上上 4.分別注釋掉led_display中的wr_m_d,wr_s_d后,亂碼,但現(xiàn)象還不同. 郁悶了一個(gè)下午了. 開始覺得液晶壞了,但是后來的現(xiàn)象好像不僅僅是液晶的問題. |
|
| 4樓: | >>參與討論 |
| 作者: batiafu 于 2006/10/4 20:33:00 發(fā)布:
有剛好調(diào)試液晶的嗎 不知道是不是液晶本身有問題 |
|
| 5樓: | >>參與討論 |
| 作者: batiafu 于 2006/10/5 19:36:00 發(fā)布:
10.5 調(diào)試進(jìn)展 昨天亂碼現(xiàn)象今天有所改觀.但想不明白為什么?? 把lcd_display()改為先寫每一頁左半屏,再寫每一頁右半屏后,昨天的3和4現(xiàn)象消失,但左右半屏的前面十幾列都是亂碼. 在模塊初始化中,改為從左到右顯示后,1和2現(xiàn)象消失.為什么跟現(xiàn)實(shí)方式還有關(guān)系?? 但今天又出現(xiàn)問題: 1,在test_prog()中,把左半屏的第一頁的前4列寫數(shù)據(jù)AA,把右半屏第一頁的第3列開始的4列寫55. 但顯示情況是:左半屏第一頁前4列顯示數(shù)據(jù)為AA.右半屏的第一頁的3\4\5列顯示數(shù)據(jù)為55,少的一列在左半屏的第5列........ 如果只寫右半屏的話,那么右邊還是少一列,但是左邊沒有顯示....... 2,加上test_prog()測試后,反復(fù)上電,左半屏的幾列有時(shí)在第四頁顯示. 后在加一個(gè)寫頁地址子程序wr_m_i(0xb8|0),顯示正常.WHY??不明白. * - 本貼最后修改時(shí)間:2006-10-5 19:37:45 修改者:batiafu |
|
| 6樓: | >>參與討論 |
| 作者: batiafu 于 2006/10/6 20:07:00 發(fā)布:
06進(jìn)展 顯示出了“中秋快樂”,呵呵 程序沒改動。 現(xiàn)在感覺昨天的問題1是不是設(shè)計(jì)者有意設(shè)計(jì)的啊,這樣顯示的漢字之間的間隔相同 * - 本貼最后修改時(shí)間:2006-10-6 21:14:00 修改者:batiafu |
|
| 7樓: | >>參與討論 |
| 作者: batiafu 于 2006/10/9 17:57:00 發(fā)布:
,,,, 沒有人想說兩句嗎 ? |
|
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |