|
原來用ST7920作為驅(qū)動(dòng)IC的LCD,因?yàn)橐賮韷K,為了省成本選了COG(CHIP ON GLASS)封裝的LCD,驅(qū)動(dòng)IC變成了ST7565P的了,所有的命令都是E文的,百來頁(yè),可憐的資料又比較匱乏,好不容易網(wǎng)上找到點(diǎn)運(yùn)用程序。
void LCD_Init (void)
{
LCD_RST_OUTPUT;
LCD_RST_LOW;//LOW
Delay_ms(50);
LCD_RST_HIGH;//HIGH
Delay_ms(50);
LCD_Write (LCD_COMMAND,0xa2); /*LCD BIASSELECT 1/9 BIAS*/
LCD_Write (LCD_COMMAND,0xa1); /*ADC SELECT,REVERSE*/
LCD_Write (LCD_COMMAND,0xc0); /*COM SELECT,NORMAL*/
LCD_Write (LCD_COMMAND,0x25); /*Vo voltage regulator internal resistor ratio set*/
LCD_Write (LCD_COMMAND,0x81); /*ELECTRONIC VOLUME mode setting 100B*/
LCD_Write (LCD_COMMAND,Contrast_Value); /*Set reference voltagel register*/
LCD_Write (LCD_COMMAND,0x2f); /*power control(VB,VR,VF=1,1,1,ALL ON)*/
LCD_Write (LCD_COMMAND,0xa4);
LCD_Write (LCD_COMMAND,0xf8); /*SET BOOSTER RATIO*/
LCD_Write (LCD_COMMAND,0x03); /*問題出在這里
Delay_ms(50);
LCD_Write (LCD_COMMAND,0xaf); /*SET DISPLAY ON*/
}
實(shí)際調(diào)試時(shí),一開始電壓3.3V,底色有點(diǎn)陣出現(xiàn),折騰了兩天,后來廠家對(duì)偶說用3V,OK,當(dāng)時(shí)輸入的是0XA3,選的是1/7 BIAS,命令上寫的1/7 BIAS(ST7565P),好多人的運(yùn)用也都是這樣的。當(dāng)時(shí)點(diǎn)了幾行字都不錯(cuò),都是按照順序從第0列開始,8列一個(gè)數(shù)字點(diǎn)的。但是后來發(fā)現(xiàn)如果不是按照從第0列開始的順序,譬如第二行從第4列開始,8列一個(gè)數(shù)字點(diǎn),就發(fā)現(xiàn)中間有幾個(gè)數(shù)字會(huì)有某幾列脫影,顏色變淡,折騰了一整天,電壓從3V到3.3V都試過了,Contrast_Value,也就是對(duì)比度也改了無(wú)數(shù)次,一直百思不得其解。網(wǎng)上查到的資料還有廠家給偶的例子當(dāng)時(shí)都用1/9BIAS,偶就覺得很奇怪,為什么偶運(yùn)用1/9就不行呢?改成1/9后會(huì)變的很淡很淡,幾乎辨別不出來,如果電壓升高到3.3V,背景底色就會(huì)出現(xiàn)黑糊糊的點(diǎn)陣,真是郁悶無(wú)比啊,上百頁(yè)的E文文檔看了N遍,想來想去問題肯定是出現(xiàn)LCD初始化的某個(gè)命令上,程序肯定是沒問題的,就一個(gè)個(gè)試,試到BOOSTER RATIO那里,輸入01,選5X的RATIO,發(fā)現(xiàn)某幾列的脫影沒了,但是背景底色會(huì)有點(diǎn)偏黑,興奮啊,馬上再改0X03,改成6X的RATIO,脫影也沒,字跡清晰,底色也不會(huì)有一點(diǎn)偏黑了。
時(shí)鐘調(diào)試下來發(fā)現(xiàn)一天一夜會(huì)快個(gè)幾秒種,還不錯(cuò),過兩天去上海選誤差在5ppm的32.768KHz晶振,這次用的是20ppm。
|
|