移植Nokia5110屏驱动 | 我是如何将51代码转为STM32驱动代码的
大家好,我是程序员小哈。
– 简介
问题由来
NOKIA 5110 屏
Nokia5110屏是一个非常经典的液晶显示模块,在小哈哥玩单片机的时候,可选的液晶模块并不多,一般来说就是LCD1602、LCD12864,这个Nokia5110屏在我当时来看,是相当高级的一个液晶屏了。
Nokia/诺基亚5110 屏是用在5110、6150,6100 等系列移动电话上的液晶显示模块,国内厂家也生产有类似的兼容产品。该产品除应用于移动电话外,也可广泛应用于各类便携式设备的显示系统。单片机控制显示,人机交互界面显示,数据采集显示等电子设计场合。
规格参数
工作电压: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源码。
结果展示
视频展示
总结
这次测试用的杜邦线,杜邦线虽然方便,但是一碰,屏幕显示输出就没有了,只能重新插拔,复位单片机,很是无语。
另外还要注意,有的时候,杜邦线接触不是很好,在测试程序的时候,首先要保证杜邦线的接触良好,大家不确认的话,可以使用万用表蜂鸣器档,测测每个引脚的两端是否导通。
怎么样?还是挺简单的吧?本文有没有收获?可以文末留言交流一下哈,或者加小哈哥微信,我们群里聊。
好了,今天的文章内容到这里就结束了,希望对你有帮助,我们下一期见!~
如果想了解小哈哥的知识星球,可以点击下面链接查看球友的福利,我们可以一起交流、一起玩耍。
知识星球简介链接:
https://mp.weixin.qq.com/s/hjhOedO9prE2tmLH4zO9vA?scene=25#wechat_redirect
移植Nokia5110屏驱动 | 我是如何将51代码转为STM32驱动代码的相关推荐
- 外设驱动库开发笔记51:SDP800差压传感器驱动
检测流量数据的方法有很多种,这一次我们就是使用SDP800差压传感器来测量流量数据.所以在这一篇中,我们将讨论如何实现SDP800差压传感器的驱动,并使用它实现流量数据的检测. 1.功能概述 ...
- STM32 驱动4.3寸TFT LCD 触摸屏
STM32 驱动4.3寸TFT LCD 触摸屏 STM32的FSMC接口是并行总线接口,可以用于驱动存储芯片如FLASH/SRAM等,也可以用于驱动并口LCD屏.触摸屏是在显示屏上覆盖一层触摸感应的外 ...
- STM32驱动全彩LED灯模块WS2812
STM32驱动全彩LED灯模块WS2812 WS2812全彩LED灯模块系列,可以进行级联实现灯带的效果,MCU端通过一个管脚可以控制所有级联的LED灯的不同发光颜色显示. 级联电路 WS2811(未 ...
- CH9121串口转以太网模块STM32驱动
CH9121串口转以太网模块STM32驱动 文章目录 CH9121串口转以太网模块STM32驱动 0. 简介 1. 特性: 2. 应用场合 3. 示例平台 4. 代码 0. 简介 CH9121 集成T ...
- linux下移植电容屏驱动gt9xx 笔记
# evtest /dev/event0 或者 # hexdump /dev/event0// 分析: \drivers\i2c\busses\I2c-digicolor.c static struc ...
- LCD12864驱动(Proteus中用51单片机驱动AMPIRE128X64)
致谢:先贴张图来感谢一下我那傻逼的王志学长,要不是你给我的资料跟我用的LCD型号不一样,我TM早就驱动起来了. 填坑:1.TMD Proteus的AMPIRE128X64这个型号的LCD内部没有所谓的 ...
- GC9A01-TFT屏幕驱动(整理有stm32/51单片机/arduino等驱动代码)
GC9A01-TFT屏幕驱动 & 整理有stm32/51单片机/arduino等驱动代码 前言 关于GC9A01 stm32驱动 引脚接线 代码移植 文件复制 端口修改 显示函数 中文汉字数组 ...
- ST7735-TFT屏幕驱动(整理有stm32/51单片机/arduino等驱动代码)
ST7735-TFT屏幕驱动 & 整理有stm32/51单片机/arduino等驱动代码 前言 关于ST7735 stm32驱动 引脚接线 代码移植 文件复制 端口修改 显示函数 中文汉字数组 ...
- STM32驱动串口屏,STM32F103C8T6串口发送指令控制HMI串口屏
STM32驱动串口屏,STM32F103C8T6串口发送指令控制HMI串口屏 串口屏 基础指令集 硬件和接线 接线 实验前准备 STM32程序 串口程序 主函数 实验现象 总结 串口屏 串口屏是一个集 ...
最新文章
- 一文看懂人脸识别(4个特点+4个实现步骤+5个难点+算法发展轨迹)
- 企业级Nginx服务基础到架构优化详解--25条
- shadow fight 1.6.0 内购
- 黑马lavarel教程---13、分页
- HDU2222 Keywords Search(AC自动机模板)
- UNITY引擎变量调用产生不必要内存分配
- python 密码学 模块_python学习-itsdangerous模块-黑马程序员技术交流社区
- Codeforces Round #402 D String Game(二分)
- 一个“普通人”的秋招算法岗上岸心得
- Guice Aop 与 Hasor Aop 原理及其实现
- python3 range函数_为什么python3中的xrange函数不能用
- matlab 无线仿真教学视频教程,视频教程 | MATLAB 及机电系统仿真
- 计算机所建造全过程,Midas 桥梁设计建模计算,全过程图文解析!
- Go Hijack黑科技
- [渝粤教育] 广东-国家-开放大学 21秋期末考试土木工程施工10516k1
- 《Python程序设计入门与实践》219道课后习题答案
- Ubuntu用户管理原理
- 万字长文:盘点2022全球10大数据泄漏事件(红蓝攻防角度)
- CSR:SSL证书的孵化器
- Angular2详解
热门文章
- 【最好用】remote desktop organizer 远程桌面管理工具的详细配置
- echange 2013登录ecp失败
- COMSOL本周六开课/FDTD时域有限差分/RSoft光电器件仿真设计专题线上通知
- 单连通图(算法导论22.3-12)
- java计算机毕业设计ssm高校工资管理系统
- 用Python处理一些简单的数学问题的方法
- 拥抱Swift吧,骚年!
- 山东自然人电子税务局(扣缴端)_自然人电子税务局扣缴客户端升级要点, 不要错过!...
- 魔兽世界以前的服务器找不到了,魔兽世界怀旧服服务器彻底崩溃,玩家游戏人物消失服务器全部不见...
- 西南财经大学本科毕业论文答辩PPT模板