查看: 5702|回复: 13

[原创] MBED 编程 - FRDM 板的 LCD5110 驱动

[复制链接]
  • TA的每日心情
    开心
    2021-12-10 16:14
  • 签到天数: 1442 天

    连续签到: 1 天

    [LV.10]以坛为家III

    17

    主题

    3862

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    8291
    最后登录
    2021-12-10
    发表于 2015-4-28 16:53:59 | 显示全部楼层 |阅读模式
    上一篇我们用 FRDM-KL05Z 的 SPI 口驱动 8x8 点阵板,这一次我们想帮 FRDM-KL05Z 板加上一个 LCD 屏,Nokia 5110 液晶屏是目前很容易买的到的  LCD 屏,价格也不贵,相关的资料在网上也是很容易获取,只是不同公司做的模块外接的管脚不一定相同,我手上这一片的接脚如下:
    P01.JPG

    原理图:
    P02.JPG

    模块与 FRDM-KL05Z 板之间的连接:

    RST     -> PTB11
    CE      -> PTB10
    DC      -> PTA5
    Din     -> PTA7(MOSI)
    Clk     -> PTB0(SCK)
    Vcc     -> +5V
    BL      -> +3v3
    Gnd     -> GND

    Din 与 Clk 是连接 SPI 口因此管脚是固定的,而其他的控制管脚就依拉线的方便配置了, BL 是背光二极管的驱动电压,由于 FRDM-KL05Z 板只有一个 +5V 的输出,因此我将 BL 脚接 +3.3V,假如觉得不够亮可以将 BL 直接跟 Vcc 短路。


    P00.JPG

    我们先在 MBED 网站上用 5110 这个关键字搜寻就可以找到很多相关的例程,但是这些例程基本上是没有办法直接使用的,除非你找到的就是针对你手上板子的例程,因为 MBED 一开始主要是在 NXP 的板子上发展,因此大部份的例程都是给 NXP 芯片使用,但是我们还是可以将例程里面关于 MCU 管脚的定义做修改,修改之后还是可以在自己的板子上运行的。

    先开一个空白工程文件 frdm_LCD5110
    P03.JPG

    在工程文件名按右键建立一个空白的 main.cpp 档案
    P04.JPG P05.JPG

    在工程文件名按右键准备加入 mbed 库
    P06.JPG

    使用关键字 mbed 搜寻会得到很多结果
    P07.JPG

    我们选择第一个官方的 mbed 库
    P08.JPG

    加入一个 LCD5110 的库,使用关键字 5110 搜寻
    P09.JPG

    我们选择最后一个 SX5110
    P10.JPG

    汇入之后发现里面有中文注释   
    P11.JPG

    看看 Lcd5110 类里面有什么功能可以使用
    1. class Lcd5110
    2. {
    3.     public:
    4.         Lcd5110(LcdPins lcd_pinout);
    5.         ~Lcd5110();
    6.         
    7.     public:
    8.         void InitLcd();
    9.         void clear();
    10.         void ShutdownLcd();
    11.         void SendCmd(char cmd);
    12.         void SendData(char data);
    13.         void TestLcd(char test_pattern);
    14.         
    15.     public:
    16.         void SetXY(char x, char y);
    17.         void write_char(char c);
    18.         void set_xy(unsigned char x,unsigned char y);
    19.         void write_stringxy(unsigned char x,unsigned char y,char *p);
    20.         void write_string(char *p);
    21.         char* NumToStr(int num);
    复制代码


    管脚结构定义
    1. struct LcdPins
    2. {
    3.     PinName mosi;       // PTA7(MOSI)
    4.     PinName sclk;       // PTB0(SCK)
    5.     PinName dc;         // PTA5
    6.     PinName sce;        // PTB10
    7.     PinName rst;        // PTB11
    8. };
    复制代码


    在 main.cpp 里面编写测试程序
    1. #include "mbed.h"
    2. #include "SX5110.h"

    3. int main() {
    4.     LcdPins myLcdPins = { PTA7, PTB0, PTA5, PTB10, PTB11 };
    5.    
    6.     Lcd5110 myLcd( myLcdPins );     // SPI is started here (8-bits, mode 1)
    7.     myLcd.InitLcd();                // LCD is reset and DDRAM is cleared

    8.     myLcd.set_xy(0, 0);
    9.     myLcd.write_char('0');

    10.     myLcd.set_xy(6*13, 0);
    11.     myLcd.write_char('1');   

    12.     myLcd.set_xy(0, 5);
    13.     myLcd.write_char('2');

    14.     myLcd.set_xy(6*13, 5);
    15.     myLcd.write_char('3');
    16.    
    17.     myLcd.set_xy(0, 2);
    18.     myLcd.write_string("https://www.nxpic.org.cn/");
    19.    
    20.     myLcd.write_stringxy(12, 0, "FRDM-KL05Z");
    21.     myLcd.write_stringxy(6*5, 5, "mbed");   
    22.    
    23. //    myLcd.TestLcd( 0xaa );        // Draws a vertical pattern where every other pixel is on
    24. //    wait(10);                       
    25. //    myLcd.ShutdownLcd();            // Clears the LCD's DDRAM and powers it down via CMD_FS_POWER_DOWN_MODE, H=0

    26.     while(1)
    27.     {   };
    28. }
    复制代码


    运行结果
    P12.JPG




    FRDM-KL05Z 与 MBED 心动的感觉 (SPI)
    https://www.nxpic.org.cn/module/forum/thread-598709-1-1.html

    建立 FRDM-KL05Z 在 MBED 环境下开发的过程
    https://www.nxpic.org.cn/module/forum/thread-598659-1-1.html



    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-9-17 19:57
  • 签到天数: 2310 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    107

    主题

    4270

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    10481
    最后登录
    2023-9-17
    发表于 2015-4-28 20:35:17 | 显示全部楼层
    你导入的是中国版的5110驱动。官方验证过的库一般是放在components下,里面有5110。

    http://developer.mbed.org/components/Nokia-LCD-Display/
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-1-4 14:54
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    5

    主题

    130

    帖子

    0

    高级会员

    Rank: 4

    积分
    585
    最后登录
    2017-2-11
    发表于 2015-4-28 21:03:20 | 显示全部楼层
    用stm32驱动过5110,还没试过飞思卡尔的板子
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-12-10 16:14
  • 签到天数: 1442 天

    连续签到: 1 天

    [LV.10]以坛为家III

    17

    主题

    3862

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    8291
    最后登录
    2021-12-10
     楼主| 发表于 2015-4-28 21:26:44 | 显示全部楼层
    shaoziyang 发表于 2015-4-28 20:35
    你导入的是中国版的5110驱动。官方验证过的库一般是放在components下,里面有5110。

    http://developer.mbe ...

    感谢告知
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-12-10 16:14
  • 签到天数: 1442 天

    连续签到: 1 天

    [LV.10]以坛为家III

    17

    主题

    3862

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    8291
    最后登录
    2021-12-10
     楼主| 发表于 2015-4-28 21:27:26 | 显示全部楼层
    chendiand 发表于 2015-4-28 21:03
    用stm32驱动过5110,还没试过飞思卡尔的板子

    感谢关注
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-5-3 11:19
  • 签到天数: 10 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    50

    主题

    1万

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    14090
    最后登录
    2024-4-19
    发表于 2015-4-28 22:36:03 | 显示全部楼层
    学习一下。。。
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2021-12-10 16:14
  • 签到天数: 1442 天

    连续签到: 1 天

    [LV.10]以坛为家III

    17

    主题

    3862

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    8291
    最后登录
    2021-12-10
     楼主| 发表于 2015-4-28 22:39:07 | 显示全部楼层
    感谢关注
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-4-27 10:34
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    36

    主题

    507

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1450
    最后登录
    2020-8-3
    发表于 2015-4-29 08:30:33 | 显示全部楼层
    值得学习!
    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    该用户从未签到

    7

    主题

    107

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    444
    最后登录
    2019-3-7
    发表于 2015-4-29 08:55:22 | 显示全部楼层
    驱动移植起来都还好,那个MBED官网上的nokia驱动咋是130*130的分辨率,貌似不是5110的吧!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-12-10 16:14
  • 签到天数: 1442 天

    连续签到: 1 天

    [LV.10]以坛为家III

    17

    主题

    3862

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    8291
    最后登录
    2021-12-10
     楼主| 发表于 2015-4-29 09:49:48 | 显示全部楼层
    晓枫VS枯叶 发表于 2015-4-29 08:55
    驱动移植起来都还好,那个MBED官网上的nokia驱动咋是130*130的分辨率,貌似不是5110的吧! ...

    不晓得你看的是那一个?我导入的这一个是 5110 的
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-24 08:14 , Processed in 0.103491 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表