406|4

522

帖子

0

资源

一粒金砂(高级)

我是如何将51代码转为STM32驱动代码的 [复制链接]

转自:嵌入式从0到1 作者:程序员小哈

问题由来

640?wx_fmt=png
网友问答

NOKIA 5110 屏

Nokia5110屏是一个非常经典的液晶显示模块,在小哈哥玩单片机的时候,可选的液晶模块并不多,一般来说就是LCD1602、LCD12864,这个Nokia5110屏在我当时来看,是相当高级的一个液晶屏了。

Nokia/诺基亚5110 屏是用在5110、6150,6100 等系列移动电话上的液晶显示模块,国内厂家也生产有类似的兼容产品。

该产品除应用于移动电话外,也可广泛应用于各类便携式设备的显示系统。单片机控制显示,人机交互界面显示,数据采集显示等电子设计场合。

640?wx_fmt=png
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 地线

模块原理图

640?wx_fmt=png
网上找的一个模块原理图

实际硬件连接

Nokia 5110端 STM32端
CLK PC3
DIN PC2
DC PC1
CE PC0
RST PC5
VCC 3.3V
BL 3.3V
GND GND

模块尺寸

640?wx_fmt=png

程序移植

小哈哥之前用51单片机驱动过这个液晶屏,实际使用只需要五个IO引脚即可驱动。

我们今天就看看,如果网上找不到你所用芯片的例程,只有别的芯片的例程你怎么参考呢?下面咱们就来移植一下。

拷贝驱动文件

将液晶屏的驱动文件拷贝到STM32工程下的HARDWARE目录下,并在STM32的工程中添加文件。

640?wx_fmt=png

添加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:");

编译程序,没有错误,下载程序,发现屏幕中可以正常显示预设内容,证明驱动已经移植成功了。

源码获取/素材获取

测试Demo源码。

5110测试工程 网文版本 20211212.zip (428.02 KB, 下载次数: 0)


回复

1812

帖子

3

资源

版主

还在用这个显示屏的,也是玩单片机的大佬级人物了,我记得6年之前用过这块屏。


回复

470

帖子

0

资源

版主

其实主要就是C语言代码在各个单片机之间的适配问题,高移植性,这要是汇编可就好玩了


回复

411

帖子

15

资源

版主

学习了,这个真的长见识哟~


回复

18

帖子

0

资源

一粒金砂(中级)

学习了,,,,,这个真的长见识哟~······


回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

最新文章 更多>>
    关闭
    站长推荐上一条 1/10 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表