📄 lcd_main_back
字号:
#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 + -