在LPC11U68的开发板上没有配置相应的显示器件,为了便于直观地显示信息就为其配置一个LCD5110显示屏。此外,由于它提供了Arduino UNO扩展接口就直接用它与显示屏来连接了,其显示效果如图所示。 LCD5110屏显示效果图
LCD5110显示屏与MCU的连接关系为: VCC --- AREF GND --- GND SCE ---P1.29 RST --- P0.8 DC --- P0.9 SDIN --- P0.2 SCLK --- P2.3 LED --- P1.28
定义引脚输出高低电平的语句为: #define LCD_CS_H Chip_GPIO_SetPinState(LPC_GPIO,1, 29, 1); #define LCD_CS_L Chip_GPIO_SetPinState(LPC_GPIO,1, 29, 0); #define LCD_RST_H Chip_GPIO_SetPinState(LPC_GPIO,0, 8, 1); #define LCD_RST_L Chip_GPIO_SetPinState(LPC_GPIO,0, 8, 0); #define LCD_DC_H Chip_GPIO_SetPinState(LPC_GPIO,0, 9, 1); #define LCD_DC_L Chip_GPIO_SetPinState(LPC_GPIO,0, 9, 0); #define LCD_DIN_H Chip_GPIO_SetPinState(LPC_GPIO,0, 2, 1); #define LCD_DIN_L Chip_GPIO_SetPinState(LPC_GPIO,0, 2, 0); #define LCD_CLK_H Chip_GPIO_SetPinState(LPC_GPIO,2, 3, 1); #define LCD_CLK_L Chip_GPIO_SetPinState(LPC_GPIO,2, 3, 0); #define LCD_LED_H Chip_GPIO_SetPinState(LPC_GPIO,1, 28, 1);
配置引脚为输出引脚的函数为: - void LCD_GPIO_Cogfig(void)
- {
- Chip_GPIO_SetPinDIROutput(LPC_GPIO, 1, 29);
- Chip_GPIO_SetPinDIROutput(LPC_GPIO, 0, 8);
- Chip_GPIO_SetPinDIROutput(LPC_GPIO, 0, 9);
- Chip_GPIO_SetPinDIROutput(LPC_GPIO, 0, 2);
- Chip_GPIO_SetPinDIROutput(LPC_GPIO, 2, 3);
- Chip_GPIO_SetPinDIROutput(LPC_GPIO, 1, 28);
- LCD_LED_H; //点亮背光
- }
复制代码
LCD5110初始化函数为: - void LCD5510_Init(void)
- {
- LCD_GPIO_Cogfig();
- LCD_reset_hard;
- LCD_write_cmd(0x21);
- LCD_write_cmd(0x06);
- LCD_write_cmd(0x13);
- LCD_write_cmd(0xc8);
- LCD_write_cmd(0x20);
- LCD_write_cmd(0x0c);
- LCD_write_cmd(Y_Page_Addr);
- LCD_write_cmd(X_Col_Addr);
- LCD_clr_scr();
- }
复制代码
现实显示效果的主程序为: - int main(void)
- {
- SystemCoreClockUpdate();
- Board_Init();
- LCD_GPIO_Cogfig();
- LCD5510_Init();
- LCD_prints(0,0,"LPC11U68");
- LCD_prints(0,1,"& LCD5110");
- LCD_prints(0,2,"TEST");
- while(1);
- return 0;
- }
复制代码
后面打算在基础上,现实一个电子时钟。
|