LCD1602

接口

连接图

指令

写操作时序

初始化

void LCD_init()
{
    LCD_EN=0;
    write_command(0x38);  //设置16x2显示,5x7点库,8位数据端口
    write_command(0x0f);  //LCD开显示,显示光标,光标闪烁
    write_command(0x06);  //读写字符后地址指针、光标加1,整屏显示不移动
    write_command(0x01);  //清显示,便对LCD写入
}

写命令

void write_command(uchar command)
{
    LCD_RS=0;
    LCD_RW=0;
    LCD_data=command;
    delay_ms(DELAY_TIME);
    LCD_EN=1;
    delay_ms(DELAY_TIME);
    LCD_EN=0;
}

写数据

void write_data(uchar wdata)
{
    LCD_RS=1;
    LCD_RW=0;
    LCD_data=wdata;
    delay_ms(DELAY_TIME);
    LCD_EN=1;
    delay_ms(DELAY_TIME);
    LCD_EN=0;
}
uchar code data2[20]="[email protected]#$%^&*()ABCDEFGHIJ";  //data是c51关键字,表示把数据定义在数据存储区(而code为程序存储区,写入后不能更改)

void main()
{
    uchar i;

    LCD_init();
    write_command(0x80);  //设置写数据位置
    for(i=0;i<15;i++)
    {
        write_data(data2[i]);
    }

    write_command(0x80+0x40);
    for(i=15;i<20;i++)
    {
        write_data(data2[i]);
        delay_ms(DELAY_TIME*30);
    }

    while(1);
}
时间: 2024-10-14 11:48:53

LCD1602的相关文章

LCD1602液晶显示模块深入详解之软件篇(AVR)

LCD1602液晶显示模块的驱动虽然比七段数码管之类的显示要复杂一些,但实际上也并不是很难,最主要的还是初始化,为什么这么说呢?我们在调试一块新液晶屏的时候,都会先初始化看看有没有光标在闪,没有光标前是一番努力(PROTEUS上也是这么做的),光标出来之后就相对很容易了. 那初始化的流程是怎么样的呢?我们还是看看HD44780的数据手册吧,如下图所示: 可以看到,初始化的主要步骤如下: (1)上电:这特么也算是一个步骤么?是的!如果你用的是其它液晶模块,比如LCD12864,会发现有一个复位引脚

树莓派玩耍笔记3 -- LCD1602显示篇

LCD1602是一块成本低廉的输出设备,它有着体积小.操作简单.功耗低等优点,所以在一些DIY 产品上会用它来输出一些信息.昨天在使用时,虽然借鉴网上的资源,但是仍然有遇到一些问题,在这里写出来以便大家遇到时能够正确处理. 一.LCD1602 相关[1] 工业字符型液晶,能够同时显示16x02即32个字符.(16列2行) 1.1 管脚 1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线. 引脚 符号 功能说明 1 VSS 一般接地 2 VDD 接电源(+5V

lcd1602如何自定义汉字(verilog)

今天一鼓作气,再研究了一下如何用LCD1602自定义汉字 1.用字模软件获取汉字所对应的数据(因为嫌麻烦所以直接用了网上一个帖子里有关“电”的数据,如下:04,1f,15,1f,15,15,1f,04,07)帖子链接:http://www.51hei.com/mcu/3696.html 2.主要知识点 (1)lcd1602的11个指令集与lcd1602的基本显示,前两篇文章已经详细说过,链接如下 http://www.cnblogs.com/aslmer/p/5801363.html http:

verilog写的LCD1602 显示

在读本文之前,请先阅读 LCD1602 的 datasheet(百度到处都是) ,熟悉有关的11条指令集. LCD1602的11个指令集链接 http://www.cnblogs.com/aslmer/p/5801363.html(这是我总结的11条指令集,中英文结合) 1.LCD1602基础知识 (2)LCD1602操作流程 2.代码: module lcd_1602_driver( clk , rst_n , lcd_en , lcd_rw , lcd_rs , lcd_data ); in

LCD1602,4位数据总线液晶屏时钟,STC12C5A60S2的10位ADC功能程序

/* 程序名:   LCD1602,4位数据总线液晶屏时钟,STC12C5A60S2的10位ADC功能程序 编写时间: 2015年10月4日 硬件支持: LCD1602液晶屏  STC12C5A60S2 外部12MHZ晶振  接线定义:   DB7 --> P1^7              DB6 --> P1^6              DB5 --> P1^5              DB4 --> P1^5              RS  --> P3^2;  

LCD1602 显示数字,字符,自定义字符,字符串,光标

/******************************************* 程序名:   1602液晶屏时钟程序 编写时间: 2015年10月4日 硬件支持: LCD1602液晶屏  STC12C4052AD 外部12MHZ晶振  接线定义:  DB0_DB7 --> P1^0 --P1^7 RS   = P3 ^ 2;         RW   = P3 ^ 3;   E    = P3 ^ 4;   功能:测试LCD1602的显示,显示时间,http://990487026.b

LCD1602显示,用4位总线显示数字,字符,自定义字符,字符串,光标

/******************************************* 程序名:   1602液晶屏时钟程序 编写时间: 2015年10月4日 硬件支持: LCD1602液晶屏  STC12C4052AD 外部12MHZ晶振  接线定义: DB7 --> P1^7 DB6 --> P1^6 DB5 --> P1^5 DB4 --> P1^5 RS   = P3 ^ 2;   RW   = P3 ^ 3;   E    = P3 ^ 4;   功能:LCD1602显

如何为编程爱好者设计一款好玩的智能硬件(八)——LCD1602点阵字符型液晶显示模块驱动封装(中)

六.温湿度传感器DHT11驱动封装(下):如何为编程爱好者设计一款好玩的智能硬件(六)——初尝试·把温湿度给收集了(下)! 七.点阵字符型液晶显示模块LCD1602驱动封装(上):如何为编程爱好者设计一款好玩的智能硬件(七)——LCD1602点阵字符型液晶显示模块驱动封装(上) 八.LCD1602点阵字符型液晶显示模块驱动封装(中) 已经有好一阵子没写了,一方面是因为最近闲杂的事特多,另一方面(主要方面)是因为我卡在了LCD1602驱动的权衡上面——总共3个控制线和一个8位并行的数据线,放在51

燃太TN901红外测温模块LCD1602显示

山远的博客 学以致用 首页 旧版 首页 标签 留言本 单片机 文学 趣闻 美图 C#编程 燃太TN901红外测温模块LCD1602显示 燃太TN901红外测温模块LCD1602显示,可设置高温低温报警. 手工焊接电路板,使用STC89C52RC 单片机控制,红外测温模块非接触式测温. 可以设置高温和低温报警. 测量温度超出范围,蜂鸣器发出声音报警,两个指示灯分别表示高温和低温. Tags: TN901 红外测温模块 LCD1602 温度报警

Arduino下LCD1602综合探究(中)——如何减少1602的连线,LiquidCrystal库,LiquidCrystal库中bug的解决方法

一.前言: 上文中,笔者系统的阐述了1602的两种驱动方式,并简单的提到了Arduino的LiquidCrystal库.本文紧接上文,对以下两个问题进行更加深入的探讨:如何能够使1602对Arduino的端口占用降到最少?LiquidCrystal库到底应该如何学习?在Arduino下LCD1602综合探究(下)中,笔者拟介绍一个1602的综合性实验,以期对前文的内容加以综合应用和总结.闲话少说,下面开始进入正文. 二.减少1602对Arduino的端口占用 <1>不使用I2C 在上文中,笔者