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. mui-手动触发下拉刷新

    mui-手动触发下拉刷新   下拉刷新结束 mui官方文档中下拉刷新结束方法,不生效, 文档地址 1 mui('#refreshContainer').pullRefresh().endPulldow ...

  2. [C#.Net]启动外部程序的几种常用方法汇总

    本文汇总了C#启动外部程序的几种常用方法,非常具有实用价值,主要包括如下几种方法: 1. 启动外部程序,不等待其退出. 2. 启动外部程序,等待其退出. 3. 启动外部程序,无限等待其退出. 4. 启 ...

  3. ThinkPHP getBy动态查询

    getBy动态查询 ThinkPHP getBy动态查询是一个魔术方法,可以根据某个字段名称动态得到对应的一条数据记录. 根据用户名(username)查询对应的用户资料记录: public func ...

  4. 2018.11.02 NOIP训练 停车场(线段树)

    传送门 这是一道困饶了我一年的题. 其实就是去年去NOIP提高组试水的时候考的模拟题 但当时我水平不够,跟ykykyk一起杠了一个下午都没调出来. 今天终于AAA了. 其实就是一个维护最长连续0101 ...

  5. mysql 查询中文字段 没有结果的解决方法

    代码如下: $conn = new mysqli('localhost', 'root', '', 'excel');$sql = "select 中信一级行业 from excel gro ...

  6. navigtor对象和插件检测

    每一个浏览器都内置了属于自己的一套属性和方法 浏览器中navigator对象有plugins属性对象存着插件的数组 每一项包含: name 插件名称 description 插件的描述 filenam ...

  7. IDEA有用插件总结

    IDEA要查看哪些插件起效了可以通过.IntellijIdeaXxx/config/plugins/availables.xml里查看: 一:Lombok插件,里面很多注解都可以省略许多冗余的代码: ...

  8. 2.3.4volatile的原子性

    关键字volatile虽然增加了实例变量在多个线程之间的可见性,但它却不具备同步性,那么也不具备原子性. 测试 package com.cky.thread; /** * Created by edi ...

  9. 利用WCF搭建RESTful--纯代码启动

    最近学习了这几年忽略了的当前几乎所有的开发技术,有深有浅,而服务层最有兴趣的是RESTfull,看的是java的书.因为不熟悉JSP,于是找了本书细细研读了一次. dotnet的实现也相对简单,网上也 ...

  10. 1071 Speech Patterns

    People often have a preference among synonyms of the same word. For example, some may prefer "t ...