LCD12864(带字库的)使用教程:

一、LCD12864简介

  • LCD12864液晶显示,也就是屏幕上总共有128*64 ,个点,每个点就只有两种状态亮和不亮
  • 我这里使用的就是带字库的,直接可以显示中文,不需要自己去编码,发送数据使用8位并行模式。
  • 我这里不介绍怎么显示图片,不介绍指令,知识快速入门得到显示结果 
    这里写图片描述

二、引脚介绍

1.一共有20个引脚,重要的只有那么几个

  • 3~VO就是调节对比度的,相当于调节每个点显示出来的深浅,虽然只有亮与不亮两种选择,但亮的模式下相当于可以调节每个点到底多亮
  • 4~RS,为1的时候表示发送的发送的数据,为0表示发送命令
  • 5~RW,就是控制我们是往LCD12864读数据(1)还是写数据(0),我们要控制LCD,当然是往里面写数据(0)
  • 6~E,使能信号
  • 17~RST复位脚
  • 接下来的DB0~DB7就是用来传输我们的数据,一个字节八个位刚好

2.官方的引脚图

这里写图片描述

三、时序图

LCD12864和LCD1602的简直一模一样

这里写图片描述

四、初始化LCD的代码

1.两个最重要的函数

/**ruby
        值得注意的是:
            (1).这两个函数(向LCD写入命令和向LCD写入数据)能够写好正常
                整个LCD的初始化代码基本上就写好一大半了,因为后面所有的函数都是不断调用这两个函数
            (2).这两个函数可以根据自己的需求合并成一个,两个函数就一个地方不一样CD12864_RS = 0/1
            (3).这是根据上面时序图写出来的,和LCD1602的代码也简直一模一样
                只需要稍微改变一下,延时函数我也没显示出来,根据自己开发平台来自己写
    */
        //向12864中写入数据
        void LCD12864_Write_Data(unsigned char dat)
        {
            LCD12864_E = 0;
            LCD12864_WR = 0;//选择写模式 
            LCD12864_RS = 1;//选择数据模式

            //延时
            delay_10us(1);

            //将数据准备
            LCD12864_Data = dat;

            delay_10us(1);

            LCD12864_E = 1;//表示开始写入数据,上升沿写入数据

            delay_10us(20); //延时等待数据全部发送完成
        }



        //向12864中写入命令
        void LCD12864_Write_Com(unsigned char com)
        {
            //首先我们设置片选信号
            LCD12864_E = 0;//片选信号一般设置为0表示片选
            LCD12864_WR = 0;//选择写模式 
            LCD12864_RS = 0;//选择命令模式

            //延时
            delay_10us(1);

            //将数据准备
            LCD12864_Data = com;

            delay_10us(1);

            LCD12864_E = 1;//表示开始写入数据,上升沿写入数据

            delay_10us(20);
        }
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值