www.pudn.com > mp3decoder.rar > LCD.C


#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;			 
}