📄 main.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 + -