1987|4

480

帖子

0

TA的资源

纯净的硅(初级)

楼主
 

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

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

问题由来

网友问答

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

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

源码获取/素材获取

测试Demo源码。

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

总结

这次测试用的杜邦线,杜邦线虽然方便,但是一碰,屏幕显示输出就没有了,只能重新插拔,复位单片机,很是无语。

另外还要注意,有的时候,杜邦线接触不是很好,在测试程序的时候,首先要保证杜邦线的接触良好,大家不确定的话,可以使用万用表蜂鸣器档,测测每个引脚的两端是否导通。

怎么样?还是挺简单的吧?如果你有STM32的代码,想转为51单片机的代码也是一样的。

此帖出自stm32/stm8论坛

最新回复

学习了,,,,,这个真的长见识哟~······   详情 回复 发表于 2022-8-7 15:25
点赞 关注
 

回复
举报

7041

帖子

11

TA的资源

版主

沙发
 

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

此帖出自stm32/stm8论坛
 
 

回复

6532

帖子

9

TA的资源

版主

板凳
 

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

此帖出自stm32/stm8论坛
 
个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引

 

回复

4942

帖子

19

TA的资源

版主

4
 

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

此帖出自stm32/stm8论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(中级)

5
 

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

此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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