系统功能
利用STM8内部的SPI通讯总线来驱动LCD12864。
硬件设计
LCD12864电路原理图
软件设计
/*********************************************************************
目标系统: 基于STM8单片机
应用软件: Cosmic CxSTM8
*********************************************************************/
#include
#include
void st7920LcdInit(void)
{
u8 i;
SPI_Init();
delay_ms(100);
PE_DDR|=0x20;
PE_CR1|=0x20;
PE_CR2|=0x20;
sendCodeST7920(0x0c);//整体显示
sendCodeST7920(0x01);//清屏
sendCodeST7920(0x02);
for(i=0;i<64;i++)
lcd_buffer[i]=' ';
//memset(lcd_buffer,' ',sizeof(lcd_buffer));
}
void sendCodeST7920(u8 Lcd_cmd)
{
E_CLK
LCD_DELAY()
E_SET
SPI_sendchar(0xF8);
SPI_sendchar(Lcd_cmd & 0xF0);
SPI_sendchar(Lcd_cmd << 4);
LCD_DELAY()
E_CLK
LCD_DELAY()
}
void sendDataST7920(u8 Lcd_data)
{
E_CLK
LCD_DELAY()
E_SET
SPI_sendchar(0xFA);
SPI_sendchar(Lcd_data & 0xF0);
SPI_sendchar(Lcd_data << 4);
LCD_DELAY()
E_CLK
LCD_DELAY()
}
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』