⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd_main_back

📁 Keil下的uCOSII+GUI+LCD程序代码实例
💻
📖 第 1 页 / 共 2 页
字号:
#include <LPC23XX.H>
#include "type.h"
#include "irq.h"
#include "timer.h"
#include "target.h"
#include "LCD.h"
#include "../print/uart.h"
#include "../dma/dma.h"
#include "../sdram/sdram.h"
extern char gImage_linpo[];
//extern char gImage_PIC[];
//extern char gImage_NXP[];
extern char gImage_1[];
extern char gImage_2[];
extern char gImage_3[];
extern char gImage_4[];
extern char gImage_5[];
extern char gImage_6[];
extern char gImage_7[];
extern char gImage_8[];
extern char gImage_9[];
extern char gImage_10[];
extern char gImage_11[];
extern char gImage_12[];
extern char gImage_13[];
extern char gImage_14[];
extern char gImage_15[];


extern volatile DWORD DMA_SRC;
volatile DWORD *wr_ptr; 
volatile BYTE *char_wr_ptr;
extern volatile DWORD timer1_counter;

int main ( )
{
 
	DWORD i,j,m,n;

	volatile DWORD *wr_ptr; 
	volatile BYTE *char_wr_ptr;

	UARTInit( 9600 );
	SDRAMInit();
  	wr_ptr = (DWORD *)SDRAM_BASE_ADDR;

	char_wr_ptr = (BYTE *)wr_ptr;

  /*  按照8bit的方式访问SDRAM测试前,清除SDRAM相应地址的内容 */
	for ( i= 0; i < SDRAM_SIZE/4; i++ )
	{
		*wr_ptr++ = 0;
  	}
  	j=0;
	wr_ptr = (DWORD *)SDRAM_BASE_ADDR;
	char_wr_ptr = (BYTE *)wr_ptr;
	m = 0;
	n = 0;
	for(i=0; i<130560; i++)
	{
	  if(i == 480*(m+1))
        m = m + 1;
	  if(i < 480*180)
	  {
		if(i < ((480*m)+240))
		{
 			*char_wr_ptr++ = gImage_linpo[j++];							 
			*char_wr_ptr++ = gImage_linpo[j++];
			*char_wr_ptr++ = gImage_linpo[j++];
			*char_wr_ptr++ = 0x00;//gImage_linpo[j++]; 
		}
		else
		{
			*char_wr_ptr++ = 0xFF;							 
			*char_wr_ptr++ = 0x00;//gImage_NXP[j++];
			*char_wr_ptr++ = 0X00;//gImage_NXP[j++];
			*char_wr_ptr++ = 0x00;//gImage_linpo[j++]; 	
		}
	  }
	  else
	  {
 			*char_wr_ptr++ = 0xFF;							 
		    *char_wr_ptr++ = 0x00;//gImage_NXP[j++];
		    *char_wr_ptr++ = 0X00;//gImage_NXP[j++];
		    *char_wr_ptr++ = 0x00;//gImage_linpo[j++];  
	  }
	}
// 	delayMs(1,250);	

 /* 	for(i=0; i<130560; i++)
  	{
 		*char_wr_ptr++ = gImage_linpo[j++];							 
		*char_wr_ptr++ = gImage_linpo[j++];
		*char_wr_ptr++ = gImage_linpo[j++];
		*char_wr_ptr++ = 0x00;//gImage_aa[j++]; 
  	} */

	lcd_configure_gpio();

	PCONP |= 0x00100000;

	LCD_CTRL = 0x00;

	LCD_CFG = 0x07;

	LCD_CTRL = (0x01 << 5)|(0x05 << 1);
																		   
	LCD_TIMH = (0x01 << 24)|(0x01  << 16)|(0x28 << 8 )|(0x1D << 2);
	
	LCD_TIMV = (0x02 << 24)|(0x02  << 16)|(0x09 << 10)|(0x10F);

    LCD_POL  = (0x01 << 26)|(0x1DF << 16)|(0x00 << 14)|(0x01 << 13)|(0x01 << 12)|(0x01 << 11)|(0x14);
	
	LCD_CTRL |= 0x01;
	delayMs(0,50);
	LCD_CTRL |= (0x01 << 11);

	//CRSR_CFG bit0   :CrsrSize 
	//		   bit1   :FrameSync
	//		   bit2~31:Reserved
	CRSR_CFG  |= (0x01 << 1)|(0x01 << 0);
	CRSR_XY	= (0x10 << 16)|(0x10);
	//CRSR_CTRL bit0	:CrsrOn
	//			bit1~3	:Reserved
	//			bit4~5	:CrsrNum[1:0]
	//			bit6~31	:Reserved


	//CRSR_PALx	bit0~7	:RED
	//			bit8~15	:GREEN
	//			bit16~23:BLUE 

	DMA_SRC = 0xA0000000;
	LCD_UPBASE = DMA_SRC;

	DMA_Init( M2M );
	delayMs(1,2000);
	printf("timer1_counter = 0x%lx\n",timer1_counter);
	j = 0;
	while(1)
	{
/*		wr_ptr = (DWORD *)SDRAM_BASE_ADDR;
		char_wr_ptr = (BYTE *)wr_ptr;
		j = 0;
		for(i=0; i<130560; i++)
		{
 		  *char_wr_ptr++ = gImage_linpo[j++];							 
		  *char_wr_ptr++ = gImage_linpo[j++];
		  *char_wr_ptr++ = gImage_linpo[j++];
		  *char_wr_ptr++ = 0x00;//gImage_linpo[j++]; 
 		}
		delayMs(1,1000);	 */
		wr_ptr = (DWORD *)SDRAM_BASE_ADDR;
		char_wr_ptr = (BYTE *)wr_ptr;
		j = 0;
		m = 0;
		n = 0;
		for(i=0; i<130560; i++)
		{
		  if(i == 480*(m+1))
		  	m = m + 1;
		  if(i < 480*75)
		  {
		  	if(i < ((480*m)+100))
		  	{
 		      *char_wr_ptr++ = gImage_1[j++];							 
		      *char_wr_ptr++ = gImage_1[j++];
		      *char_wr_ptr++ = gImage_1[j++];
		      *char_wr_ptr++ = 0x00;//gImage_linpo[j++]; 
 		    }
		    else if(i > ())
		    {
 		      *char_wr_ptr++ = 0xFF;							 
		      *char_wr_ptr++ = 0x00;//gImage_NXP[j++];
		      *char_wr_ptr++ = 0X00;//gImage_NXP[j++];
		      *char_wr_ptr++ = 0x00;//gImage_linpo[j++]; 	
		    }
		  }
		  else
		  {
 		      *char_wr_ptr++ = 0xFF;							 
		      *char_wr_ptr++ = 0x00;//gImage_NXP[j++];
		      *char_wr_ptr++ = 0X00;//gImage_NXP[j++];
		      *char_wr_ptr++ = 0x00;//gImage_linpo[j++];  
		  }
		}
 		delayMs(1,10);
		
		wr_ptr = (DWORD *)SDRAM_BASE_ADDR;
		char_wr_ptr = (BYTE *)wr_ptr;
		j = 0;
		m = 0;
		n = 0;
		for(i=0; i<130560; i++)
		{
		  if(i == 480*(m+1))
		  	m = m + 1;
		  if(i < 480*75)
		  {
		  	if(i < ((480*m)+100))
		  	{
 		      *char_wr_ptr++ = gImage_2[j++];							 
		      *char_wr_ptr++ = gImage_2[j++];
		      *char_wr_ptr++ = gImage_2[j++];
		      *char_wr_ptr++ = 0x00;//gImage_linpo[j++]; 
 		    }
		    {
 		      *char_wr_ptr++ = 0xFF;							 
		      *char_wr_ptr++ = 0x00;//gImage_NXP[j++];
		      *char_wr_ptr++ = 0X00;//gImage_NXP[j++];
		      *char_wr_ptr++ = 0x00;//gImage_linpo[j++]; 	
		    }
		  }
		  else
		  {
 		      *char_wr_ptr++ = 0xFF;							 
		      *char_wr_ptr++ = 0x00;//gImage_NXP[j++];
		      *char_wr_ptr++ = 0X00;//gImage_NXP[j++];
		      *char_wr_ptr++ = 0x00;//gImage_linpo[j++];  
		  }
		}
 		delayMs(1,10);
		
		wr_ptr = (DWORD *)SDRAM_BASE_ADDR;
		char_wr_ptr = (BYTE *)wr_ptr;
		j = 0;
		m = 0;
		n = 0;
		for(i=0; i<130560; i++)
		{
		  if(i == 480*(m+1))
		  	m = m + 1;
		  if(i < 480*75)
		  {
		  	if(i < ((480*m)+100))
		  	{
 		      *char_wr_ptr++ = gImage_3[j++];							 
		      *char_wr_ptr++ = gImage_3[j++];
		      *char_wr_ptr++ = gImage_3[j++];
		      *char_wr_ptr++ = 0x00;//gImage_linpo[j++]; 
 		    }
		    else
		    {
 		      *char_wr_ptr++ = 0xFF;							 
		      *char_wr_ptr++ = 0x00;//gImage_NXP[j++];
		      *char_wr_ptr++ = 0X00;//gImage_NXP[j++];
		      *char_wr_ptr++ = 0x00;//gImage_linpo[j++]; 	
		    }
		  }
		  else
		  {
 		      *char_wr_ptr++ = 0xFF;							 
		      *char_wr_ptr++ = 0x00;//gImage_NXP[j++];
		      *char_wr_ptr++ = 0X00;//gImage_NXP[j++];
		      *char_wr_ptr++ = 0x00;//gImage_linpo[j++];  
		  }
		}
 		delayMs(1,10);
		
		wr_ptr = (DWORD *)SDRAM_BASE_ADDR;
		char_wr_ptr = (BYTE *)wr_ptr;
		j = 0;
		m = 0;
		n = 0;
		for(i=0; i<130560; i++)
		{
		  if(i == 480*(m+1))
		  	m = m + 1;
		  if(i < 480*75)
		  {
		  	if(i < ((480*m)+100))
		  	{
 		      *char_wr_ptr++ = gImage_4[j++];							 
		      *char_wr_ptr++ = gImage_4[j++];
		      *char_wr_ptr++ = gImage_4[j++];
		      *char_wr_ptr++ = 0x00;//gImage_linpo[j++]; 
 		    }
		    else
		    {
 		      *char_wr_ptr++ = 0xFF;							 
		      *char_wr_ptr++ = 0x00;//gImage_NXP[j++];
		      *char_wr_ptr++ = 0X00;//gImage_NXP[j++];
		      *char_wr_ptr++ = 0x00;//gImage_linpo[j++]; 	
		    }
		  }
		  else
		  {
 		      *char_wr_ptr++ = 0xFF;							 
		      *char_wr_ptr++ = 0x00;//gImage_NXP[j++];
		      *char_wr_ptr++ = 0X00;//gImage_NXP[j++];
		      *char_wr_ptr++ = 0x00;//gImage_linpo[j++];  
		  }
		}
 		delayMs(1,10);

		wr_ptr = (DWORD *)SDRAM_BASE_ADDR;
		char_wr_ptr = (BYTE *)wr_ptr;
		j = 0;
		m = 0;
		n = 0;
		for(i=0; i<130560; i++)
		{
		  if(i == 480*(m+1))
		  	m = m + 1;
		  if(i < 480*75)
		  {
		  	if(i < ((480*m)+100))
		  	{
 		      *char_wr_ptr++ = gImage_5[j++];							 
		      *char_wr_ptr++ = gImage_5[j++];
		      *char_wr_ptr++ = gImage_5[j++];
		      *char_wr_ptr++ = 0x00;//gImage_linpo[j++]; 
 		    }
		    else
		    {
 		      *char_wr_ptr++ = 0xFF;							 
		      *char_wr_ptr++ = 0x00;//gImage_NXP[j++];
		      *char_wr_ptr++ = 0X00;//gImage_NXP[j++];
		      *char_wr_ptr++ = 0x00;//gImage_linpo[j++]; 	
		    }
		  }
		  else
		  {
 		      *char_wr_ptr++ = 0xFF;							 
		      *char_wr_ptr++ = 0x00;//gImage_NXP[j++];
		      *char_wr_ptr++ = 0X00;//gImage_NXP[j++];
		      *char_wr_ptr++ = 0x00;//gImage_linpo[j++];  
		  }
		}
 		delayMs(1,10);

		wr_ptr = (DWORD *)SDRAM_BASE_ADDR;
		char_wr_ptr = (BYTE *)wr_ptr;
		j = 0;
		m = 0;
		n = 0;
		for(i=0; i<130560; i++)
		{
		  if(i == 480*(m+1))
		  	m = m + 1;
		  if(i < 480*75)
		  {
		  	if(i < ((480*m)+100))
		  	{
 		      *char_wr_ptr++ = gImage_6[j++];							 
		      *char_wr_ptr++ = gImage_6[j++];
		      *char_wr_ptr++ = gImage_6[j++];
		      *char_wr_ptr++ = 0x00;//gImage_linpo[j++]; 

⌨️ 快捷键说明

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