打印
[活动专区]

【AutoChips 7801x MCU评测报告】+ LCD5110屏显示

[复制链接]
700|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 jinglixixi 于 2020-6-9 13:53 编辑

在掌握了I2C接口的模拟后,我们可以接下来学习SPI接口的模拟,进而来驱动SPI接口的LCD5110屏来实现显示功能。
OLED屏与MCU的连接关系为:
LCD_CLK——PB11
LCD_DIN——PB12
LCD_LED——3.3V
LCD_CS ——GND
LCD_DC ——PB5
LCD_RST——PB4
其余的两个引脚则接3.3V工作电源


定义GPIO口读取电位及输出高低电平的语句为:
#define  LCD_CLK_H    GPIO_SetPinLevel(GPIOB, GPIO_PIN11, GPIO_LEVEL_HIGH);   // PB11
#define  LCD_CLK_L    GPIO_SetPinLevel(GPIOB, GPIO_PIN11, GPIO_LEVEL_LOW);

#define  LCD_DIN_H    GPIO_SetPinLevel(GPIOB, GPIO_PIN12, GPIO_LEVEL_HIGH);   // PB12
#define  LCD_DIN_L    GPIO_SetPinLevel(GPIOB, GPIO_PIN12, GPIO_LEVEL_LOW);

#define  LCD_DC_H     GPIO_SetPinLevel(GPIOB, GPIO_PIN5, GPIO_LEVEL_HIGH);     // PB5
#define  LCD_DC_L     GPIO_SetPinLevel(GPIOB, GPIO_PIN5, GPIO_LEVEL_LOW);

#define  LCD_CS_H     GPIO_SetPinLevel(GPIOA, GPIO_PIN8, GPIO_LEVEL_HIGH);     // PA8
#define  LCD_CS_L      GPIO_SetPinLevel(GPIOA, GPIO_PIN8, GPIO_LEVEL_LOW);

#define  LCD_RST_H    GPIO_SetPinLevel(GPIOB, GPIO_PIN4, GPIO_LEVEL_HIGH);    // PB4
#define  LCD_RST_L     GPIO_SetPinLevel(GPIOB, GPIO_PIN4, GPIO_LEVEL_LOW);


设置相关引脚为输出功能的函数为:
void LCD_GPIO_Cogfig(void)
{
        GPIO_SetFunc(GPIOA, GPIO_PIN8, GPIO_FUN0);
        GPIO_SetFunc(GPIOB, GPIO_PIN4, GPIO_FUN0);
        GPIO_SetFunc(GPIOB, GPIO_PIN5, GPIO_FUN0);
        GPIO_SetFunc(GPIOB, GPIO_PIN11, GPIO_FUN0);
        GPIO_SetFunc(GPIOB, GPIO_PIN12, GPIO_FUN0);
       
        GPIO_SetDir(GPIOA, GPIO_PIN8, GPIO_OUT);
        GPIO_SetDir(GPIOB, GPIO_PIN4, GPIO_OUT);
        GPIO_SetDir(GPIOB, GPIO_PIN5, GPIO_OUT);
        GPIO_SetDir(GPIOB, GPIO_PIN11, GPIO_OUT);
        GPIO_SetDir(GPIOB, GPIO_PIN12, GPIO_OUT);
}


LCD5110初始化函数为:
void LCD5110_Init(void)
{
LCD_GPIO_Cogfig();
mdelay(800);
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)
{
InitDelay();
mdelay(100);
LCD5110_Init();
LCD_prints(0,0,"AC8701 TEST");
LCD_prints(0,1,"LCD5110 ");
LCD_prints(0,2,"jinglixixi");
while(1);
}

LCD5110屏显示效果

使用特权

评论回复

相关帖子

沙发
Cjy_JDxy| | 2020-6-10 09:06 | 只看该作者
你很厉害

使用特权

评论回复
板凳
jinglixixi|  楼主 | 2020-6-10 09:15 | 只看该作者

没有,只是玩一些简单的还可以,像做个基于SD卡的文件系统就困难了!

使用特权

评论回复
地板
marginer| | 2020-6-10 13:30 | 只看该作者
jinglixixi 发表于 2020-6-10 09:15
没有,只是玩一些简单的还可以,像做个基于SD卡的文件系统就困难了!

SD卡的文件系统这个区有个版主有分享一个7811上的demo,应该也有7801的。

使用特权

评论回复
5
jinglixixi|  楼主 | 2020-6-11 07:52 | 只看该作者
marginer 发表于 2020-6-10 13:30
SD卡的文件系统这个区有个版主有分享一个7811上的demo,应该也有7801的。

试了试不能可靠的使用,一直没找到原因,后面发一篇大家给看看。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

464

主题

2783

帖子

38

粉丝