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

📄 lcd_main.c

📁 IARSOURCECODE是基于LPC2478嵌入式软件IAR EWARM V4.42的应用实例代码
💻 C
字号:
#include "LPC23xx.h"
#include "type.h"
#include "irq.h"
#include "timer.h"
#include "target.h"
#include "LCD.h"
#include "uart.h"
#include "dma.h"
#include "sdram.h"


//extern char gImage_linpo[];
extern const unsigned char gImage_1[];   // 图片数据gImage_1[]来自1.c

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

#define picX  150
#define picY  100       // 图片起始坐标
#define picWidth  100
#define picHigh   75    // 图片大小

int main ( )
{
 
	DWORD i,j,col,row;

	volatile DWORD *wr_ptr; 
	volatile BYTE *char_wr_ptr;

	TargetResetInit();
        //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;
  	}

/*  按点阵方式将图片数据送入SDRAM,LCD分辨率为480×272 ,图片大小为75×100 */
        j=0;
	wr_ptr = (DWORD *)SDRAM_BASE_ADDR;
	char_wr_ptr = (BYTE *)wr_ptr;
	for(col=0; col<272; col++)                                
	{
	  for(row=0; row<480; row++)
            if(col>=picY && col<(picY + picHigh))                        
	  {
		if(row>= picX&& row<(picX + picWidth))               
		{
 			*char_wr_ptr++ = gImage_1[j++];							 
			*char_wr_ptr++ = gImage_1[j++];
			*char_wr_ptr++ = gImage_1[j++];
			*char_wr_ptr++ = 0x00;
		}
		else
		{
			*char_wr_ptr++ = 0xFF;							 
			*char_wr_ptr++ = 0x00;
			*char_wr_ptr++ = 0X00;
			*char_wr_ptr++ = 0x00;          // 其余像素点显示为背景红色	
		}
	  }
	  else
	  {
 			*char_wr_ptr++ = 0xFF;							 
		        *char_wr_ptr++ = 0x00;
		        *char_wr_ptr++ = 0X00;
		        *char_wr_ptr++ = 0x00;
	  }
	}

	lcd_configure_gpio();

	LCD_Disp_Config();

	DMA_SRC = 0xA0000000;
	LCD_UPBASE = DMA_SRC;

	//DMA_Init( M2M );
        DMA_Init();
       /* while(1)
        {
          delayMs(0,100);
          DMA_SRC += 10; 
          LCD_UPBASE = DMA_SRC;
          if(DMA_SRC == (0xA0000000+480*4))
            DMA_SRC = 0xA0000000;
	}*/
	return 1;
}

⌨️ 快捷键说明

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