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

📄 main.c

📁 LPC213x Driver For T6963 based Graphic LCD
💻 C
字号:
#include "lpc213X.h"
#include "lpc_config.h"
#include "lcd6963.h"
#include "fonts.h"


void systemInit(void)
{
	// --- enable and connect the PLL (Phase Locked Loop) ---
	// a. set multiplier and divider
	PLLCFG = MSEL | (1<<PSEL1) | (0<<PSEL0);
	// b. enable PLL
	PLLCON = (1<<PLLE);
	// c. feed sequence
	PLLFEED = PLL_FEED1;
	PLLFEED = PLL_FEED2;
	// d. wait for PLL lock (PLOCK bit is set if locked)
	while (!(PLLSTAT & (1<<PLOCK)));
	// e. connect (and enable) PLL
	PLLCON = (1<<PLLE) | (1<<PLLC);
	// f. feed sequence
	PLLFEED = PLL_FEED1;
	PLLFEED = PLL_FEED2;
	
	// --- setup and enable the MAM (Memory Accelerator Module) ---
	// a. start change by turning of the MAM (redundant)
	MAMCR = 0;	
	// b. set MAM-Fetch cycle to 3 cclk as recommended for >40MHz
	MAMTIM = MAM_FETCH;
	// c. enable MAM 
	MAMCR = MAM_MODE;
	
	// --- set VPB speed ---
	VPBDIV = VPBDIV_VAL;
	
	// --- map INT-vector ---
	#if defined(RAM_RUN)
	  MEMMAP = MEMMAP_USER_RAM_MODE;
	#elif defined(ROM_RUN)
	  MEMMAP = MEMMAP_USER_FLASH_MODE;
	#else
	#error RUN_MODE not defined!
	#endif

	// sample AIN0 only => bit 0 = 1 
	// CLKDIV = 14 (59/14 = 4.21 < 4.5 MHz) => Bits 8ff = 14-1
	// BURST = 1 => set Bit 16 - wuff: disabled below
	// PDN   = 1 => set Bit 21

//	PINSEL1 |= (1<<26); // set function P0.30 as AIN3
//	AD0CR = ((1<<2) | ((14-1)<<8) /*| (1UL<<16)*/ | (1UL<<21) );

//	PINSEL1 |= (1<<19); // sst DAC bit 19=1,bit 18=0

//	PINSEL1 |= (1<<22); // set function P0.30 as AIN3
//	AD0CR = ( 1 | ((14-1)<<8) /*| (1UL<<16)*/ | (1UL<<21) );
//	DACR=0x00008000;
	CCR = CTCRST; /* Reset value in Clock Tick Counter (CTC) */
	CCR = CLKEN|CLKSRC;  /* disabale CTC-Reset and enable clock with CLKEN */



}



#if 0
static void hang(void)
{
	while(1);
}
#endif



int main(void) {
	systemInit();
	lcd_init();
	lcd_text(1,1,FONT_FIVE_DOT, "TESTING LCD");
	lcd_text(1,10,FONT_SIX_DOT, "TESTING LCD");
	lcd_text(1,20,FONT_SEVEN_DOT, "TESTING LCD");
	lcd_text(1,30,FONT_NINE_DOT, "TESTING LCD");
	lcd_text(1,50,FONT_TEN_DOT, "TESTING LCD");
	lcd_text(1,70,FONT_FIFTEEN_DOT, "TESTING LCD");
	lcd_text(1,95,FONT_EIGHTEEN_DOT, "0123456789"); // Sorry! Only numbers!!

	lcd_update(SCRN_TOP,SCRN_BOTTOM); //Beware!! time hungry!! takes 35 Milsec

	
	while(1); 
	
	
}

⌨️ 快捷键说明

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