📄 lcd_main_withcursor0317
字号:
#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"
//#include "Pic.h"
//#include "zk.h"
volatile DWORD *wr_ptr;
volatile BYTE *char_wr_ptr;
volatile WORD *short_wr_ptr;
int main ( )
{
DWORD i;
DWORD *src_addr, *dest_addr;
src_addr = (DWORD *)DMA_SRC;
dest_addr = (DWORD *)DMA_DST;
//TargetResetInit( );
UARTInit( 9600 );
SDRAMInit();
wr_ptr = (DWORD *)SDRAM_BASE_ADDR;
short_wr_ptr = (WORD *)wr_ptr;
/* Clear content before 16 bit access test */
for ( i= 0; i < SDRAM_SIZE/4; i++ )
{
*wr_ptr++ = 0;
}
/* 16 bit write */
for (i=0; i<(SDRAM_SIZE/2); i++)
{
*short_wr_ptr++ = 0x00FF;
*short_wr_ptr++ = 0x0000;
}
IoInit();
PCONP |= 0x00100000;
puts("Power On!!!!\n");
puts("Step 1 Finished!!!!!!\n");
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_LE = (0x01 << 16)|(0x01);
// LCD_POL = (0x01 << 26)|(0x20C << 16)|(0x00 << 14)|(0x00 << 12)|(0x01 << 11);
// LCD_POL = (0x01 << 26)|(0x1C << 16)|(0x00 << 14)|(0x01 << 13)|(0x01 << 12)|(0x01 << 11);
LCD_POL = (0x01 << 26)|(0x20C << 16)|(0x00 << 14)|(0x01 << 13)|(0x01 << 12)|(0x01 << 11)|(0x14);
LCD_CTRL |= 0x01;
delayMs(0,50);
LCD_CTRL |= (0x01 << 11);
wr_ptr = (DWORD *)SDRAM_BASE_ADDR;
printf("The Register 0xA0000000 is 0x%lx........\n",wr_ptr);
// LCD_PAL = 0x00F;
i = LCD_TIMH;
printf("The Register LCD_TIMH is 0x%lx........\n",i);
i = LCD_TIMV;
printf("The Register LCD_TIMV is 0x%lx........\n",i);
i = LCD_POL;
printf("The Register LCD_POL is 0x%lx.........\n",i);
i = LCD_CTRL;
printf("The Register LCD_CTRL is 0x%lx........\n",i);
//CRSR_CFG bit0 :CrsrSize
// bit1 :FrameSync
// bit2~31:Reserved
CRSR_CFG |= (0x01 << 1)|(0x01 << 0);
//CRSR_CTRL bit0 :CrsrOn
// bit1~3 :Reserved
// bit4~5 :CrsrNum[1:0]
// bit6~31 :Reserved
CRSR_CTRL |= 0x01;
//CRSR_PALx bit0~7 :RED
// bit8~15 :GREEN
// bit16~23:BLUE
CRSR_PAL0 = 0x0000FF; //RED
CRSR_PAL1 = 0x00FF00; //GREEN
//CRSR_XY bit0~9 :CrsrX
// bit10~15:reserved
// bit16~25:CrsrY
// bit26~31:reserved
CRSR_XY = (i << 16)|i;
for(i=0;i<1024;)
{
CRSR_IMG = 0x06060606;
CRSR_PAL0 = 0x0000FF; //RED
CRSR_PAL1 = 0x00FF00; //GREEN
i = i + 4;
}
LCD_CTRL |= (0x01 << 11);
while(1);
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -