⑴ 單片機中lcd12864的時序程序
LZ 迷糊的只是 應該 先 En=1 再 P0=DATA, 還是 先 P0=DATA 再 En=1;
En 是 LCD 使能端,En=1 表示 使能 LCD 操作,En=0 表示 禁止 LCD 操作。
程序前面 已經 對 RS 跟 RW 進行了選擇(寫指令),如果 這時候 開啟 En 使能端,那麼 LCD 將 允許 該操作(寫指令),同時 將 數據端P0 的數據 讀取到 LCD,這個過程的時間 是 ns 級別 的,程序還沒來得及 將 DATA 的 數據 送到 P0 ,就已經發生了 數據被讀取的操作,也就是說,LCD 讀進去的數據,並不是 LZ 想要的 DATA 數據,而是 之前 的數據,很可能是隨機的。這將導致LCD 執行了錯誤 的命令,或是 無法識別命令。
所以 ,要在使能端 En=1 前,先將 數據 DATA 放到 數據口P0,再 使能 En,如此 LCD 就會 讀取到 正確 的命令數據了。
你好!
紅框內的就是和單片機連接的,你這個連接方式,數據傳輸是:並行傳輸
⑶ LCD 12864怎樣和單片機連接
LCD 12864液晶屏工作電壓+3.0V~+5.5V,邏輯電平與單片機兼容,能夠直接與單片機的IO口連接。
12864液晶屏的介面方式有並行4位、並行8位、串列2線和串列3線,以適應不同的應用場合。
兩個以上的 12864LCD跟單片機連接, 只要選通線 接不同的引腳,及對比度分別控制,其它的如數據線、讀寫線,都可以共用,讀寫時分別選需要制的LCD就可以了,來完成所需要的不同內容。
串口控制和I2C不同,串口時只要程序里有這樣幾句:SBUF=dat;while(!TI);TI=0;就可以輸出控制量dat了,而使用I2C控制就不同了,實際應用時要有:確定總模擬線數據傳輸介面、模擬時鍾介面,匯流排啟動、匯流排應答、匯流排停止、匯流排發送單位元組、匯流排發送數據等等許多模擬時序的問題。
(3)lcd12864使用方法擴展閱讀:
單片機的選擇:
各種單片機都有各自的優缺點,應根據需要選擇。選擇單片機原則如下:
1、單片機的基本參數例如速度,程序存儲器容量,I/O引腳數量。
2、單片機的增強功能,例如看門狗,雙指針,雙串口,RTC(實時時鍾),EEPROM,擴展RAM,CAN介面,I2C介面,SPI介面,USB介面。
3、Flash和OTP(一次性可編程)相比較,最好是Flash。
4、封裝IP(雙列直插),PLCC(PLCC有對應插座)還是貼片。DIP封裝在做實驗時可能方便一點。
5、工作溫度范圍,工業級還是商業機。如果設計戶外產品,必須選用工業級。
6、功耗,比如設計並口加密狗,信號線取電只能提供幾個mA,用PIC就是因為低功耗,後來出了MSP430也不錯。
⑷ lcd12864液晶顯示器怎樣設置
很深奧!大學電教課程模擬機系列的畢業設計吧!你去論壇上看下!
⑸ hdg12864 型LCD點陣液晶顯示器如何使用
給你思路自己搜索下吧,首先是你要弄清楚你的屏是不是帶字型檔的,然後看驅動晶元的型號,型號有很多種,連接方式各不一樣。再根據晶元型號去找相應的C程序,不同的12864有不同的程序。
⑹ 求LCD12864詳細說明書~包括結構、工作方式及其驅動方式~~~
上廣州銳顯的網站下載個說明書吧,他們有。
⑺ LCD12864怎樣做到任意位置反色用CGRAM的那種方法……搞得一頭霧水。
#ifndef__12864_H__
#define__12864_H__
sbitRS=P3^2;
sbitRW=P3^3;
sbitE=P3^4;
voiddelay(unsignedchara)
{
unsignedchari,j;
for(i=0;i<=a;i++)
for(j=0;j<150;j++);
}
voidwrite12864com(charcom)
{
RS=0;
RW=0;
P1=com;
delay(5);
E=1;
delay(5);
E=0;
}
voidwrite12864date(chardat)
{
RS=1;
RW=0;
P1=dat;
delay(5);
E=1;
delay(5);
E=0;
}
voidinit12864()
{
RS=1;
RW=1;
E=0;
P1=0xff;
write12864com(0x30);
delay(5);
write12864com(0x30);
delay(5);
write12864com(0x0f);
delay(5);
write12864com(0x01);
delay(5);
write12864com(0x02);
delay(5);
}
/*voidfun(char*k)//寫字元串
{
chari;
write12864com(0x80);
for(i=0;i<13;i++)
{
write12864date(k[i]);
delay(5);
}
}*/
#endif
希望對你有幫助。