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

📄 lcd_main_withcursor0317

📁 Keil下的uCOSII+GUI+LCD程序代码实例
💻
字号:
#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 + -