|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
請問有沒有人用過控制器為KS0108的液晶 |
| 作者:莊莊 欄目:單片機 |
我從網(wǎng)上下載程序如下,用偉福仿真器運行,能夠執(zhí)行,但是液晶沒有顯示 跟蹤執(zhí)行,狀態(tài)位沒有錯誤,不知道為什么沒有顯示,請高手指點 //12864圖形點陣液晶示例程序(KS0107 KS0108)2006-08-10 11:27 // 12864 KS0107 KS0108 DEMO Program //*************************************************************************** //* Create by :Ssmart 2005.12.30 * //*************************************************************************** //連線表: CPU=89C52 * //RS=P3.0 R/W=P3.1 E=P3.2 CS1=P3.3 CS2=P3.4 * //SysClock=12MHZ DB0-DB7=P1.0-P1.7 /Reset=InBoard * //*************************************************************************** #include <reg52.h> #include <stdlib.h> #include <intrins.h> #include <stdio.h> /********************引腳定義********************/ sbit RS =P2^5; //數(shù)據(jù)指令 sbit RW =P2^4; //讀寫 sbit E =P2^3; //使能 sbit CSL =P2^1; //左片選 sbit CSR =P2^2; //右片選 unsigned CHAR Page; //頁 地址 unsigned CHAR Col; //列 地址 unsigned CHAR code BMP1[]; unsigned CHAR code HZ1[]; void Delay(unsigned int MS); void wtcom(void); /***************************/ /*檢查Busy */ /***************************/ void BusyL(void) { CSL= 1; CSR= 0; wtcom(); } void BusyR(void) { CSL= 0; CSR= 1; wtcom(); } void wtcom(void) { RS = 0; //指令 RW = 1; P0 = 0xFF; //輸出0xff以便讀取正確 E = 1; _nop_(); while(P0 & 0x80); //Status Read Bit7 = BUSY E = 0; _nop_(); } /********************************************************/ /*根據(jù)設定的坐標數(shù)據(jù),定位LCM上的下一個操作單元位置 */ /********************************************************/ void Locatexy(void) { unsigned CHAR x,y; SWITCH (Col&0xc0) /* col.and.0xC0 */ { /*條件分支執(zhí)行 */ case 0: {BusyL();break;}/*左區(qū) */ case 0x40: {BusyR();break;}/*右區(qū) */ } x = Col&0x3F|0x40; /* col.and.0x3f.or.Set Y Address*/ y = Page&0x07|0xB8; /* row.and.0x07.or.set Page */ wtcom(); /* waitting for enable */ RS = 0; //指令 RW = 0; //寫 P0 = y; //設置頁面地址 E = 1; _nop_(); E = 0; _nop_(); wtcom(); /* waitting for enable */ RS = 0; RW = 0; P0 = x; //設置列地址 E = 1; _nop_(); E = 0; _nop_(); } /***************************/ /*寫指令 */ /***************************/ void WriteCommandL( unsigned CHAR CommandByte ) { BusyL(); P0 = CommandByte; RS = 0; //指令 RW = 0; E = 1; _nop_(); E = 0; &nb |
| 2樓: | >>參與討論 |
| 作者: 莊莊 于 2006/10/23 13:20:00 發(fā)布:
感謝大家關注,問題已經(jīng)解決 程序沒有錯誤,原因是液晶的VO和VEE引腳沒接好。所以液晶無顯示。 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |