LCD1602例程

发布者:jiaohe1最新更新时间:2018-12-13 来源: eefocus关键字:LCD1602 手机看文章 扫描二维码
随时随地手机看文章

需要注意,1602对应xy。x表示对应的列,y对应的行。


共16列,2行。


下标从0开始!


lcd1602.c


#include "config.h"


void LcdWaitReady()

{

    u8 sta;


    LCD1602_DB = 0xFF;

    LCD1602_RS = 0;

    LCD1602_RW = 1;

    do{

        LCD1602_E = 1;

        sta = LCD1602_DB;

        LCD1602_E = 0;

    }while(sta & 0x80); 

}


void LcdWriteCmd(u8 cmd)

{

    LcdWaitReady();

    LCD1602_RS = 0;

    LCD1602_RW = 0;

    LCD1602_DB = cmd;

    LCD1602_E  = 1;

    LCD1602_E  = 0;

}

void LcdWriteDat(u8 dat)

{

    LcdWaitReady();

    LCD1602_RS = 1;

    LCD1602_RW = 0;

    LCD1602_DB = dat;

    LCD1602_E  = 1;

    LCD1602_E  = 0;     

}


void LcdSetCursor(u8 x, u8 y)

{

    u8 addr;


    if(y == 0)

    {

        addr = 0x00 + x;

    }

    else

    {

        addr = 0x40 + x;

    }

    LcdWriteCmd(addr | 0x80);

}


//注意x是1602的列,y是1602的行 --- 1602共16列,2行

void LcdShowStr(u8 x, u8 y, u8 *str, u8 len)

{

    LcdSetCursor(x, y);

    while(len--)

    {

        LcdWriteDat(*str++);

    }

}


void LcdAreaClear(u8 x, u8 y, u8 len)

{

LcdSetCursor(x, y);

while(len--)

{

LcdWriteDat(' ');

}

}


void LcdFullClear()

{

LcdWriteCmd(0x01);

}


void InitLcd1602()

{

    LcdWriteCmd(0x38);

    LcdWriteCmd(0x0C);

    LcdWriteCmd(0x06);

    LcdWriteCmd(0x01);

}




lcd1602.h


#ifndef LCD1602_H

#define LCD1602_H


void InitLcd1602();

void LcdShowStr(u8 x, u8 y, u8 *str, u8 len);

void LcdAreaClear(u8 x, u8 y, u8 len);

void LcdFullClear();


#endif


关键字:LCD1602 引用地址:LCD1602例程

上一篇:51单片机之忽略的东西
下一篇:串口接收实例——空闲中断

推荐阅读最新更新时间:2024-03-16 16:19

新型Littelfuse 150520直保险丝座系列令安装更加轻松,同时节省PC电路板空间
包括一体成型模制本体,带有预剥引线,便于快速组装 中国北京,2023年5月23日讯 – Littelfuse公司 最新的150520系列直列保险丝座额定电压为600VAC/VDC,电流为20A,尺寸为5x20mm 。这些便捷的直列保险丝非常适合需要补充电路保护的应用,包括数据中心、工业HVAC和电源。 150520提供八英寸预剥引线和预装保险丝夹,便于快速安装。 Littelfuse 150520直列保险丝座系列 最新的150520系列直列保险丝座非常适合许多应用,包括:  数据中心和云  工业HVAC  消费电子产品  LED照明镇流器  家电 Littelfuse全球产品经
[电源管理]
新型Littelfuse 150520直<font color='red'>列</font>保险丝座系列令安装更加轻松,同时节省PC电路板空间
英特尔至强处理器路线图泄露:HPC,CSP,存储悉数在
据外媒报道,英特尔至强处理器CPU的大规模路线图已在网上泄露,该路线图显示了已知的英特尔至强ice lake、Sapphire Rapids以及英特尔正在开发的一些未知处理器未来两年的发展规划,概述了已经上市、正在开发、正在规划中以及正处于概念阶段的至强处理器,所涉及的行业包括HPC(高性能计算)、CSP(云服务提供商)、存储服务以及其他可扩展行业。 Ice Lake和Sapphire Rapids仅间隔两个季度 根据此路线图,Ice Lake将于2021年第一季度末着陆,而Sapphire Rapids将在2021年第四季度接管,这将是有史以来间隔时间最短的英特尔至强处理器产品,但这会是英特尔保持竞争力的正确选择
[嵌入式]
英特尔至强处理器路线图泄露:HPC,CSP,存储悉数在<font color='red'>列</font>
51单片机学习笔记———14.LCD1602工业显示屏
LCD1602工业显示屏 LCD工业显示屏解读: 共有16个引脚,其中D0~D7为收发数据引脚,为双向并行数据接口。 16代表每一行能够显示16个空格 2代表总共两行 因为每一个字节能够显示0和1,有两种可能,所以要将32位全部显示完全的话,至少需要2^5,也就是5位,所以我们可以设置8位,也就是一个字节来发送数据,这样比较方便 其中第四脚比较特殊,用来决定是用来确定位置还是发送我们想要显示的数据 RS=0确定位置 RS=1确认数据 显示数据的步骤: 初始化LCD1602 发送指令(RS=0) ----确定位置 发送数据(RS=1)-----确认数据 `RS`为低电平时为发送指令 指令:决定
[单片机]
51单片机学习笔记———14.<font color='red'>LCD1602</font>工业显示屏
LCD1602屏幕显示邮箱手机号(滚动和闪烁显示程序Proteus仿真)
学习了LCD用来显示两行邮箱和手机号 三种显示方式: 直接显示 滚动显示 闪烁显示 仿真原理图如下 单片机源程序如下: #include reg51.h sbit rs=P2^0; sbit rw=P2^1; sbit en=P2^2; #define uint unsigned int #define uchar unsigned char uchar code tab1 ={ 123456@163.com }; uchar code tab2 ={ tel:1234567891 }; void delay(unsigned int xms); void write_com(uchar com) { rw=0; r
[单片机]
<font color='red'>LCD1602</font>屏幕显示邮箱手机号(滚动和闪烁显示程序Proteus仿真)
庆祝Avedia成都分部成立
Avedia一直致力于数字标牌产品的设计与研发,是数字标牌领域的领导品牌。 Avedia自2007年成立至今,得到了众多合作伙伴的支持与越来越多用户的肯定。为了促进西南区域的数字标牌行业发展,也更贴近区域内的客户,公司于今年5月,在成都正式成立了办事机构。成都是西南的核心商务阵地、物流中心,拥有着得天独厚的地理优势。 成都分部主要提供样品测试、产品展示、维修服务、技术方案咨询。 目前,Avedia已在国内设立了北京、上海、惠州、成都四大分部。今后,Avedia会秉持创新的理念,一如既往的优质服务精神,把最好的数字标牌解决方案带给广大用户。 办事处地址:成都市锦秀路34号棕北国际一期1716
[安防电子]
单片机控制LCD1602显示屏动态显示字符串
仿真电路图: 仿真实验结果: C语言程序代码: //------------------------------------------------*/ #include reg52.h //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 #include intrins.h sbit RS = P2^4; //定义端口 sbit RW = P2^5; sbit EN = P2^6; #define RS_CLR RS=0 #define RS_SET RS=1 #define RW_CLR RW=0 #define RW_SET RW=1 #define EN_CLR EN=0
[单片机]
单片机控制<font color='red'>LCD1602</font>显示屏动态显示字符串
51单片机简单的驱动LCD1602
【LCD1602】 什么是LCD1602 LCD1602是一种工业字符型液晶,能够同时显示16x02即32个字符。LCD1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,即可以显示出图形。 1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。 1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字
[单片机]
51单片机简单的驱动<font color='red'>LCD1602</font>
报告称二季度宽带网速上海江苏北京前三
    7月15日消息,根据互联网内容传送服务商蓝汛近日发布的2013年第二季度全国互联网感知数据报告的详细情况,上海蝉联了感知网速的冠军,达到5.10Mb/s,环比快了18.06%。江苏和北京分列第二;三大运营商宽带感知网速排名则为电信最快、联通其次。   上海感知网速蝉联第一   统计数据显示,2M以上感知带宽达到53.96%,但城市之间的差距较大,其中上海一枝独秀,是唯一一个感知网速超过5Mb/s的地区,江苏排名第二,但与上海仍有一定差距,感知网速为3.64Mb/s。   迄今为止,上海电信已完成第五次宽带大提速,60余万上海铜缆用户得以免费升速,升速后可达铜缆宽带的最高速率6M。这标志着,历时2年多,上海电信通过免费光纤改造
[手机便携]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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