NOKIA5110液晶显示模块学习笔记

现在我们的嵌入式课程设计要求做一个超声波测距的倒车雷达,总体不是很难,但是其中要求的NOKIA显示屏从来没有接触过,在CSDN上也很难找到免费的比较完整的资料,因此就想把这部分的学习过程记录下来,分享给大家。

一、NOKIA5110模块介绍

        NOKIA5110模块貌似是以前旧的诺基亚手机的拆屏配件,NOKIA5110模块采用84x48 的点阵LCD,可以显示4 行汉字,30个字符。

引脚定义:

NOKIA5110模块一共有一排8个引脚,而且虽然都是NOKIA5110模块,但是他们的引脚顺序似乎也有区别,但是各引脚的定义却没什么区别

RST 复位引脚 GPIO(根据自己需求修改h的宏定义)
CE(或者为SCE) 片选 GPIO
D/C 数据、指令选择 GPIO
DIN 串行数据线 GPIO
CLK 串行时钟线 GPIO
VCC 电源输入 3.3V、5V
BL(或者为LED) 背光控制端 高电平背光打开
GND 地线 GND

        一共八个引脚,其中前五个引脚与单片机中的I/O口连接(软件模拟SPI通信),后三个连接对应的电路。

代码部分:

代码部分移植了CSDN大佬的成果,但是在显示的时候出现编译错误的问题,于是我将.c文件加了一个芯片的头文件解决了这个问题。

.c文件

#include "Nokia5110.h"  
#include "english_6x8_pixel.h"  
#include"delay.h"
#include "stm32f10x.h"                  // Device header

//中文字库自己添加,如果没有请注释起来#include "write_chinese_string_pixel.h"  
  
  
//lcdgpio初始化函数  
//GPIOC.0.9.10.11.12推挽输出,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_9|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12;  
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  
    GPIO_Init(GPIOC,&GPIO_InitStructure);  
}  
  
  
//初始化函数  
void LCD_init(void)  
{  
      
    //产生一个让lcd复位的低电平脉冲  
    LCD_RST = 0;  
    delay_us(1);  
    LCD_RST = 1;  
    //关闭lcd  
    LCD_CE = 0;  
    delay_us(1);  
    //使能lcd  
    LCD_CE = 1;  
    delay_us(1);  
      
    LCD_write_byte(0x21, 0);  
    LCD_write_byte(0xc8, 0);  
    LCD_write_byte(0x06, 0);  
    LCD_write_byte(0x13, 0);  
    LCD_write_byte(0x20, 0);  
    LCD_clear();  
    LCD_write_byte(0x0c, 0);  
    //关闭lcd  
    LCD_CE = 0;  
}  
      
      
//清屏函数  
void LCD_clear(void)  
{  
  unsigned int i;  
  
  LCD_write_byte(0x0c, 0);              
  LCD_write_byte(0x80, 0);              
  
  for (i=0; i<504; i++)  
        LCD_write_byte(0, 1);              
      
}  
      
  
  
//设置lcd坐标函数  
void LCD_set_XY(unsigned char X, unsigned char Y)  
{  
  LCD_write_byte(0x40 | Y, 0);        // colum
  • 9
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值