如何用STM32驱动诺基亚5110显示屏?
来源:嵌入式大杂烩发布时间:2022-01-08202浏览
询问 AI大家好,今天给大家分享一个用STM32驱动诺基亚5110显示屏的方法。
NOKIA 5110 屏
Nokia5110屏是一个非常经典的液晶显示模块,在小哈哥玩单片机的时候,可选的液晶模块并不多,一般来说就是LCD1602、LCD12864,这个Nokia5110屏在我当时来看,是相当高级的一个液晶屏了。
Nokia/诺基亚5110 屏是用在5110、6150,6100 等系列移动电话上的液晶显示模块,国内厂家也生产有类似的兼容产品。
该产品除应用于移动电话外,也可广泛应用于各类便携式设备的显示系统。单片机控制显示,人机交互界面显示,数据采集显示等电子设计场合。
Nokia5110手机规格参数
工作电压:DC3.3-5.0V
屏幕颜色:单色
分辨率:84*48,字符:6*8字符的话,可以显示6行字符,每行14个字符
通信方式:串行SPI接口
液晶模块:LPH7366
运用场合:单片机检测信息显示,人机交互界面开发等电子设计
外形尺寸:45x43x1.6mm
管脚定义
| 名称 | 含义 |
|---|---|
| CLK | 串行时钟线 |
| DIN | 串行数据线 |
| DC | 数据/指令选择 |
| CE | 片选 |
| RST | 复位 |
| VCC | 电源输入(3.3V和5V均可) |
| BL | 背光控制端 |
| GND | 地线 |
模块原理图
网上找的一个模块原理图实际硬件连接
| Nokia 5110端 | STM32端 |
|---|---|
| CLK | PC3 |
| DIN | PC2 |
| DC | PC1 |
| CE | PC0 |
| RST | PC5 |
| VCC | 3.3V |
| BL | 3.3V |
| GND | GND |
模块尺寸

程序移植
小哈哥之前用51单片机驱动过这个液晶屏,实际使用只需要五个IO引脚即可驱动。
我们今天就看看,如果网上找不到你所用芯片的例程,只有别的芯片的例程你怎么参考呢?下面咱们就来移植一下。
拷贝驱动文件
将液晶屏的驱动文件拷贝到STM32工程下的HARDWARE目录下,并在STM32的工程中添加文件。

添加GPIO初始化函数
void lcd_gpio_init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);
}
修改GPIO操作的宏定义
51单片机
sbit LCD_RST=P0^0;
sbit LCD_CE=P0^1;
sbit LCD_DC=P0^2;
sbit LCD_DIN=P0^3;
sbit LCD_CLK=P0^4;
STM32单片机
#define LCD_RST PCout(5)
#define LCD_CE PCout(0)
#define LCD_DC PCout(1)
#define LCD_DIN PCout(2)
#define LCD_CLK PCout(3)
修改1us的延时
#define Wait1us delay_us(1)
函数调用
Nokia5110初始化
lcd_gpio_init();
lcd_init();
lcd_clear(); //清屏幕
lcd_string(0,0,Time:");
编译程序,没有错误,下载程序,发现屏幕中可以正常显示预设内容,证明驱动已经移植成功了。
源码获取/素材获取
公众号后台回复关键字:Nokia5110,获取测试Demo源码。
新闻来源:嵌入式大杂烩,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。


