lcd.c

来自「MP3的软件解码代码」· C语言 代码 · 共 44 行

C
44
字号
#include "..\inc\board.h"
#include "..\inc\lcd.h"

int init_Lcd()
{
	outl(CLKVAL<<12 | WLH<<10 | WDLY<<8 | MMODE<<7 | DISMODE<<5| INVCLK<<4 
	  	| INVLINE<<3 | INVFRAME<<2 | INVVD<<1 | ENVID, rLCDCON1);       //disable lcd controller
	outl(LINEBLANK<<21 | HOZVAL<<10 | LINEVAL, rLCDCON2);    			//320*240pix
	outl(SELFREF, rLCDCON3);
	outl(MODESEL<<27 | LCDBANK<<21 | LCDBASEU, rLCDSADDR1);  			//base addr=0x00c4000000
	outl(BSWP<<29 | MVAL<<21 | LCDBASEL, rLCDSADDR2);
	outl(OFFSIZE<<9 | PAGEWIDTH, rLCDSADDR3);
	outl(( inl(rLCDCON1) | 0x01), rLCDCON1);              				        //enable lcd controller
	
	outl(0xaaaa, rPCOND);
	outl(0xff, rPUPD); 
	outl((inl(rPCONC)&0xff0fffff|0x00500000), rPCONC);
	outl(inl(rPDATC)&0xf3ff, rPDATC);
	return 0;
}  
 
int display(unsigned char * lcdbase) 
{
	int i,j;
	for (i = 0; i <= 5000; i++){
		for (j = 0;j <= PAGEWIDTH+OFFSIZE; j++){
			//*(lcdbase+i*(PAGEWIDTH+OFFSIZE)+j)=Welcome_BMP[i*(PAGEWIDTH+OFFSIZE)+j];
			if (i / 32 % 2){
				if (j / 2 % 2)
					*(lcdbase+i*(PAGEWIDTH+OFFSIZE)+j)=0xff;
				else
					*(lcdbase+i*(PAGEWIDTH+OFFSIZE)+j)=0x00;
				}
		    else{
		    	if (j / 2 % 2)
					*(lcdbase+i*(PAGEWIDTH+OFFSIZE)+j)=0x00;
				else
					*(lcdbase+i*(PAGEWIDTH+OFFSIZE)+j)=0xff;
				}
			}
		}
	return 0;			
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?