1.利用单片机控制LCD1602,在LCD1602上显示字符串,并使其整屏左移。

#include<reg51.h>

#define uchar unsigned char

#define uint unsigned int

uchar code table[]="Hello World!";

uchar code table1[]="I am a boy!";

sbit lcden;  //液晶使能端

sbit lcdrs;

sbit LCDWR;

uchar num;

/***********************************************************

延时函数

参数说明:

z代表要延时z ms

***********************************************************/

void delay(uint z)

{

uint x,y;

;x--)

;y--);

}

/***********************************************************

写命令或数据

参数说明:

isRs=1代表写数据,isRs=0代表写命令

***********************************************************/

void write(uchar mdata, uchar isRs)

{

lcdrs=isRs;

P0=mdata;

delay);

lcden;

delay);

lcden;

}

/***********************************************************

写命令

参数说明:

data代表要写的命令

***********************************************************/

void write_command(uchar com)

{

write);

}

/***********************************************************

写数据

参数说明:

data代表要写的数据

***********************************************************/

void write_data(uchar mdata)

{

write);

}

void init()

{

lcden;

LCDWR;

write_command(0x38);//设置16X2显示,5X7点阵,8位数据接口

write_command(0x0c);//设置开显示,不显示光标

write_command

write_command(0x01);//显示清零,数据指针清零

}

void main()

{

init();

write_command(0x80+0x10);

;num++)

{

write_data(table[num]);

delay);

}

write_command(0x80+0x50);

;num++)

{

write_data(table1[num]);

delay);

}

;num++)

{

write_command(0x18);

delay);

}

);

}

思考:如果向CGRAM写入数据?

向CGRAM写入数据的步骤:

1.建立一个字符数组

Uchar LCD_Data1[]={0x01,0x03,0x1D,0x11,0x1D,0x03,0x01,0x00};

2.设置CGRAM地址,写指令.

Write_cmd(0x40);

3.把数据送入CGRAM地址内.

for(i=0;i<i;i++) //在8个字节的CGRAM中写入要显示的汉字字模

{            write_cmd(0x40+i);

write_date(table[i]);

delay(5);

}

4.写需要显示的位置指令. Write_cmd(0x80);

5.把CGRAM的0位的数据送向LCD1602,显示数据存储的数据. for(i=0;i<8;i++)      //显示自定义字符

{

write_date(i);  //显示第i个字符

delay(5);

}

扩展:

1.利用单片机控制LCD1602,使其可以汉字“中华人民共和国”并控制整屏移动

#include<reg51.h>

#define uchar unsigned char

#define uint unsigned int

sbit lcden;  //液晶使能端

sbit lcdrs代表数据)

sbit LCDWR代表读)

uchar num;

uchar code table_HanZi[]={

0x04,0x04,0x1F,0x15,0x15,0x1F,0x04,0x04,//中

0x0A,0x1B,0x0E,0x0B,0x04,0x1F,0x04,0x04,//华

0x00,0x04,0x04,0x04,0x0A,0x11,0x00,0x00,//人

0x1F,0x11,0x1F,0x18,0x16,0x16,0x11,0x18,//民

0x0A,0x1F,0x0A,0x1F,0x00,0x0A,0x11,0x11,//共

0x04,0x08,0x18,0x1F,0x0D,0x1F,0x1C,0x08,//和

0x1F,0x11,0x1F,0x15,0x1F,0x17,0x1F,0x1F,//国

};

uchar code table1[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07};  //自定义字符数据地址

/***********************************************************

延时函数

参数说明:

z代表要延时z ms

***********************************************************/

void delay(uint z)

{

uint x,y;

;x--)

;y--);

}

/***********************************************************

写命令或数据

参数说明:

isRs=1代表写数据,isRs=0代表写命令

***********************************************************/

void write(uchar mdata, uchar isRs)

{

lcdrs=isRs;

P0=mdata;

delay);

lcden;

delay);

lcden;

}

/***********************************************************

写命令

参数说明:

data代表要写的命令

***********************************************************/

void write_command(uchar com)

{

write);

}

/***********************************************************

写数据

参数说明:

data代表要写的数据

***********************************************************/

void write_data(uchar mdata)

{

write);

}

void init()

{

lcden;

LCDWR;

write_command(0x38);//设置16X2显示,5X7点阵,8位数据接口

write_command(0x0c);//设置开显示,不显示光标

write_command

write_command(0x01);//显示清零,数据指针清零

delay);

}

void main()

{

uchar i;

init();

)

{

write_command(0x40);    //开始写入要显示的自定义字符、汉字代码

;i++)

{

write_data(table_HanZi[i]);

delay);

}

write_command(0x80);    //从第一行第一列开始显示

;i++)  //显示自定义字符

{

write_data(table1[i]);

delay);

}

}

}

实验6 LCD接口的更多相关文章

  1. LCD接口(转载)

    LCD接口分类 1.   I8080接口,我觉得应该就是所谓的8080,通常会用在12864屏上面,且有内部sdram,不需要实时的刷新图片,速度有限制, 支持的数据宽度有8/9/16/18bit,接 ...

  2. 【转】Android LCD(三):Samsung LCD接口篇

    关键词:android LCD控制器 Framebuffer PWM  平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:samsung exynos ...

  3. Android LCD(三):Samsung LCD接口篇

    关键词:android LCD控制器 Framebuffer PWM  平台信息: 内核:linux2.6/linux3.0 系统:android/android4.0  平台:samsung exy ...

  4. 对LCD接口的认识

    LCD接口类型: 1.首先我们以传递的信号类型来区分主要有两大类:- 模拟信号: - VGA: Video Graphics Array- 数字信号 - TTL: Transistor Transis ...

  5. android系统平台显示驱动开发简要:Samsung LCD接口篇『三』

    平台信息: 内核:linux3.4.39系统:android4.4 平台:S5P4418(cortex a9) 作者:瘋耔(欢迎转载,请注明作者) 欢迎指正错误,共同学习.共同进步!! 关注博主新浪博 ...

  6. LCD接口和RGB介绍【转】

    转自:https://www.cnblogs.com/hzl6255/p/5470583.html 阅读目录 1. 介绍 2. 接口类型 3. RGB 4. YUV 5. FOURCC 回到顶部 1. ...

  7. LCD接口和RGB介绍

    1. 介绍 Video的显示离不开LCD, 所以这里简单介绍一下LCD的接口和RGB LCD的全称是Liquid Crystal Display 的简称, 即液晶显示器LCD目前已经取代CRT, 成为 ...

  8. (转)常见LCD接口

    LCD常用接口原理 点击打开链接 点击打开链接 点击打开链接 点击打开链接 点击打开链接 点击打开链接 点击打开链接 点击打开链接 xubin 平台信息:内核:linux2.6/linux3.0系统: ...

  9. Java实验案例(接口)

    实验任务 任务一:设计实现发声接口 任务二:动物乐园 实验内容 任务一:设计实现发声接口 任务目的: 理解并掌握如何定义接口 掌握接口的实现方式 任务描述: 设计和实现一个Soundable接口,该接 ...

随机推荐

  1. 工具类官网Web原型制作分享-Adobe

    Adobe是全球知名的软件开发团队,研发了设计创意领域全球领先的优秀软件产品,为设计行业提供了巨大的价值. 网站原型以图文排版为主,顶部一级导航,弹出面板和面板的使用实现了一级导航下拉的效果. 本原型 ...

  2. MySQL复制(Replication)

    引自:http://www.cnblogs.com/hustcat/archive/2009/12/19/1627525.html 1.复制概述 1.1.复制解决的问题数据复制技术有以下一些特点:(1 ...

  3. Web Api 2 认证与授权 2

    HTTP Message Handler 在 Web Api 2 认证与授权 中讲解了几种实现机制,本篇就详细讲解 Message Handler 的实现方式 关于 Message Handler 在 ...

  4. OneZero第三周第四次站立会议(2016.4.7)

    1. 时间: 18:35--18:50 共计15分钟. 2. 成员: X 夏一鸣 * 组长 (博客:http://www.cnblogs.com/xiaym896/), G 郭又铭 (博客:http: ...

  5. zookeeper集群的搭建(三台相同)

    查看jdk java -version 卸载自带jdk rpm -qa|grep java rpm -e --nodeps tzdata-java-2015e-1.el6.noarch rpm -e ...

  6. Java 数组拷贝方法 System.arraycopy

    System类提供的数组拷贝方法: public static native void arraycopy(Object src, int srcPos, Object dest, int destP ...

  7. 2019.01.17 bzoj2333: [SCOI2011]棘手的操作(启发式合并)

    传送门 启发式合并菜题. 题意:支持与连通块有关的几种操作. 要求支持连边,单点修改,连通块修改,全局修改和单点查值,连通块查最大值和全局最大值. 我们对每个连通块和答案用可删堆维护最大值,然后用启发 ...

  8. 通过html文件生成PDF文件

    /// <summary> /// 获取html内容,转成PDF(注册) /// </summary> public void DownloadPDFByHTML(string ...

  9. Echarts的使用方法

    效果图: 1. 在echarts官网下载包,解压后,将文件Echarts\echarts-2.2.7\echarts-2.2.7\doc\example\www\js\echarts.js文件拷贝,放 ...

  10. ssh 认证

    ssh 秘钥认证流程 ssh配置认证 基于口令(密码)的安全验证 [root@m01 ~]# ssh 10.0.0.41 hostname root@10.0.0.41's password: bac ...