C51编程21-应用篇(LCD1602显示-2)

最新更新时间:2022-06-24来源: eefocus关键字:C51  编程  LCD1602显示 手机看文章 扫描二维码
随时随地手机看文章

LCD的写模式操作


对LCD1602,具有四种基本的操作,读命令,写命令,读数据,写数据。由于主要是让LCD1602显示数据,我们只需要用到写命令与写数据即可。


写数据和写命令为称之为写模式


在LCD1602中,


RS引脚的高低电平 控制是数据或者命令,高电平为数据,低电平为命令。


R/W引脚的高低电平控制是读模式或者写模式,高电平为读,低电平为写;


E引脚控制数据与命令使能,使操作生效,高电平写入数据,低电平生效。


下面时序图为写模式的时序图

由于单片机运行的机器周期最快速度为1us,超过400ns,因此执行指令时可以不需要额外的延时。


写命令可以这样操作。


RS = 0;

R/W =0;

EN  =1;

Pn = Data;

EN =0;

注:


(1)Pn指的 Data0~7连接的单片机接口,如果连接到P0则,Pn=P0;  


(2)实际在测试中,由于写数据与EN =0时间太短,导致数据显示不出来,最好在添加5ms的延时;


RS = 0;

R/W =0;

EN  =1;

Pn = Data;

delay(5);

EN =0;

写数据操作为


 LCD_CD = 1;

 LCD_WR = 0;

 LCD_EN = 1; 

  Pn = ldata;

  delay(5); 

  LCD_EN = 0;

 

LCD的初始化指令


在对LCD可以进行写命令之后,就可以对LCD进行初始化了。初始化目的是为了LC处于某种工作状态。LCD初始化只需要对LCD写入某些命令即可。


初始化一般有以下几条指令


(1)开启显示模式设置0x38;


(2)清屏指令设置0x01;


(3)设置光标移动0x06;


(4)设置光标设置0x0c;


LCD显示数据


初始化完毕后,则可以将数据写进入LCD,由于LCD1602有两行,每行长度为32位,前16位可以直接显示,后16位用于做移动显示用;第一行开始地址为0x80;第二行开始地址为0xc0;


注:左移指令为0x18,右移指令为0x1c


链接地址为LCD显示实现例子


链接:https://pan.baidu.com/s/1yDEWG6XzMCim0EdBXb_QfQ


提取码:afe0 

关键字:C51  编程  LCD1602显示 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic614628.html

上一篇:C51编程20-应用篇(LCD1602显示-1)
下一篇:按键及矩阵键盘程序------/* 自己实验确认并总结 */

推荐阅读

利用DS18B20测温,并通过LCD1602 显示 proteus仿真 +DS1302时钟模块
main.c#include<reg52.h>#include<onewire.h>#include<LCD.h>#include<ds1302.h>#define uchar unsigned char#define uint unsigned intuchar code Write_addr [] ={0x80,0x82,0x84,0x86,0x88,0x8a,0x8c};//写地址uchar code Read_addr [] = {0x81,0x83,0x85,0x87,0x89,0x8b,0x8d};//读地址uchar Time [7] = {0x50,0x59,0x23,
发表于 2022-08-11
利用DS18B20测温,并通过<font color='red'>LCD1602</font> <font color='red'>显示</font> proteus仿真 +DS1302时钟模块
Diodes 推出模式可编程同步升压转换器,提升消费性装置的节能效率
【2022 年 8 月 9 日美国德州普拉诺讯】Diodes 公司 (Diodes) 推出高效率同步升压转换器。 AP72250 提供升压转换能力,专为体积小巧的消费性和工业产品应用所设计,产品包括电池供电装置、USB 电源供应器、行动电源、超级电容充电设备,以及计量系统。AP72250 支持 900kHz 切换频率及 20µA 静态电流 (IQ),同时涵盖 0.6V 至 5.5V 宽广的输入电压范围,最低启动电压为 1V,输出电压范围是 1.7V 至 5.5V。这款升压转换器也纳入 20mΩ 高侧及 26mΩ 低侧功率 MOSFET。AP72250 可选择多种运作模式,并依据用户需求编程。模式包括脉冲频率调变 (PFM)、超音波
发表于 2022-08-09
Diodes 推出模式可<font color='red'>编程</font>同步升压转换器,提升消费性装置的节能效率
C51开发中的static, const, code关键字
static关键字static在C里面可以用来修饰变量, 也可以用来修饰函数static修饰变量变量在C里面可以存在三处: 全局数据区, 栈和堆. 堆和栈是不同的.int a ;int main() { int b ; int c* = (int *)malloc(sizeof(int));}上面的代码中, a是全局变量, b是栈变量, c是指向堆变量的指针static对全局变量的修饰: 限制了只能是本文件引用此变量. 有的程序由多个C文件组成, 可以互相引用变量, 但加入static修饰之后, 只能被本文件中函数引用.static对栈变量的修饰: 栈变量的生命周期延长到程序执行结束时. 一般来说, 栈变量的生命周期由OS管理, 在
发表于 2022-08-08
HTK-W801使用LuatOS编程---点灯
最近入手一个热门的平头哥W801-kit开发板, 是冲着上面自带的BLE和WIFI去的, 但是网上的资料奇少. 看了说明和W806 唯一的差别在于多了蓝牙和WIFI功能, 其他的都一样.官方推荐的开发环境是C-Sky, 安装后居然要占用>3G的硬盘空间, 有些夸张啊, 为了一个小板子, 硬盘都显得紧张了!在网上查了一下, 有人正在把 Micropython 移植到这个板子上, 参考micropython/ports/xt804 at master · gengyong/micropython · GitHub这个版本功能有限, 还是初级的.作者给出的示例程序import machine# PB0 脚, 输出, 默认高电平pb0
发表于 2022-08-05
STM32F407 串口编程USART1,USART2,USART3,UART4
串口设置的一般步骤可以总结为如下几个步骤:1) 串口时钟使能,GPIO时钟使能。2) 设置引脚复用器映射:调用GPIO_PinAFConfig函数。3) GPIO初始化设置:要设置模式为复用功能。4) 串口参数初始化:设置波特率,字长,奇偶校验等参数。5) 开启中断并且初始化NVIC,使能中断(如果需要开启中断才需要这个步骤)。6) 使能串口。7) 编写中断处理函数:函数名格式为USARTxIRQHandler(x对应串口号)。我们通过USART3简单介绍下这几个与串口基本配置直接相关的几个固件库函数。这些函数和定义主要分布在stm32f4xx_usart.h和stm32f4xx_usart.c文件中。1) 串口时钟和GPIO时钟使
发表于 2022-08-05
STM32F407 串口<font color='red'>编程</font>USART1,USART2,USART3,UART4
谈谈MSP432的编程方法
基于寄存器的编程示例//******************************************************************************//MSP432P401 Demo - eUSCI_B0 I2C Master TX bytes to Multiple Slaves////Description: This demo connects two MSP432's via the I2C bus.//The master transmits to 4 different I2C slave addresses 0x0A,0x0B,0x0C&0x0D.//Each slave add
发表于 2022-08-04
小广播
实战 培训 开发板 精华推荐

何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved