LCD带字符液晶显示I LOVE YOU

1602是字符型液晶,内含128个ASCLL字符型的字符库,故可以显示ASCLL字符,而不能显示汉字。

1602可以显示两行信息,每行16个字符,5V电源供电,带有背光。

知识点:

#include <reg51.h>
#include <stdio.h>
#define uchar unsigned char
#define LCD P2
sbit RS = P3^0;
sbit RW = P3^1;
sbit E = P3^2;
uchar i,j;
uchar tab[] = "I LOVE YOU";//定义一个数组,把要显示的字符放到数组里面
void writeCMD(uchar cmd)
{
   RS = 0;//0代表命令,1代表数据          写命令
   RW = 0;//0代表写,1代表读
   for(i=0;i<200;i++);//小延时
      LCD = cmd;//写入命令
      E = 1;//液晶使能
   for(i=0;i<5;i++);//小延时
      E = 0;//液晶失能
   for(i=0;i<5;i++);//小延时
   }

void writeDATA(uchar data1)//写数据
{
   RS = 1;//0代表命令,1代表数据            写数据
   RW = 0;//0代表写,1代表读
   for(i=0;i<200;i++);//小延时
      LCD = data1;//写入命令
      E = 1;
   for(i=0;i<5;i++);//小延时
      E = 0;
   for(i=0;i<5;i++);//小延时
}

//液晶初始化,硬件固定初始化步骤,不用记   

void init()
{
   RW = 0;//低电平使写操作有效
   E = 0;//使能液晶
   writeCMD(0x38);//16*2显示,5*7点阵,8位数据接口
   writeCMD(0x0C);//开显示,不显示光标
   writeCMD(0x06);//读或写一个字符后地址指针加1,且光标加1;当写一个字符时,整屏显示不移动
   writeCMD(0x01);//清屏
  }

//主函数 

void main(void)
 {
   init(); //液晶初始化子函数调用
   writeCMD(0xc0);//写地址,选择在屏幕哪里显示字符
   for(i=0;i<220;i++);//小延时
      for(j=0;j<10;j++)//for循环把多个字符依次显示出来
    writeDATA(tab[j]);//在屏幕要显示的字符
  while(1);
 }

附带无线标号:

点击LBL,在要用无线连接的两端地方双击,附上相同的名称即可,

时间: 2024-10-05 11:57:37

LCD带字符液晶显示I LOVE YOU的相关文章

MPU6050带字符驱动的i2c从设备驱动1

开干: 1.闲言碎语 这个驱动,越写觉的越简单,入门难,入门之后感觉还好.Linux开发还是比较友好的. 2.编写MPU6050带字符驱动的i2c从设备驱动 要实现的功能就是,将MPU6050作为字符驱动,在应用层,对其进行读数据.实现简单的功能.在前面的分析和实践中,可以看到实现字符驱动主要是实现file_operation中的方法,注册初始化cdev,让cdev和file_opration产生联系,字符驱动的初始化通过module_init来声明.实现i2c从设备驱动,主要是i2c_clie

String构造方法带字符编码集的作用

java使用的有unicode默认字符编码集(刚搜了下,好像是系统默认的字符编码Charset.defaultCharset()),所以直接new String("测试".getBytes(),charset)是没有意义的. 在读取外部数据的时候,才是使用字符编码集的意义. InputStream is; byte[] b = new byte[is.available()]; is.read(b); String s = new String(b,charset); 如果外部文件不是

Proteus 8 画原理图仿真 1602 LCD显示字符

以下是源程序: 1 #include <reg52.h> 2 #include<intrins.h> 3 4 /** 5 * P2 上接的是 D1 ~ D7 6 */ 7 sbit RS = P3 ^ 0;//数据 H 命令 L 8 sbit RW = P3 ^ 1;//读 H 写 L 9 sbit E = P3 ^ 2;//高电平 H 使能 10 #define DATA P2 11 12 /** 13 * 经过逻辑分析仪测量时间 14 * 单指令是 5us 15 * nop 0

C语言结构体数组内带字符数组初始化和赋值

1.首先定义结构体数组: typedef struct BleAndTspRmtCmd{ char terminal[3]; char note[3]; char rmtCmd[10]; char cmdPropt[24];}; BleAndTspRmtCmd为结构体名,可以通过这个结构体名定义其他结构体变量,struct BleAndTspRmtCmd variable: 或者定义结构体数组变量,struct BleAndTspRmtCmd variable[]: 2.或者定义全局结构体变量,

java输入数字存入数组(带字符检测)

这一次是上次字符检测是否全为数字的增强版. 欢迎各位朋友或大神指出不足之处. package com.hw.h817; import java.util.Scanner; public class Check { public static void main(String[] args){ Scanner s = new Scanner(System.in); //把pre和str在外面定义,如果在循环中定义会出错 String[] two = new String[6]; String pr

bootstrap 表单 input group 输入框内带字符 加文字 符号

<div class="form-group" id='rule4' style='display:none;'> <div class="col-sm-12"> <div class="input-group"> <span class="input-group-addon">请设置正确答案:</span> <input name='key' type=&qu

【mysql】搜索带\字符

模糊查询 LIKE '%\\\%' 原文地址:https://www.cnblogs.com/xiaostudy/p/11820969.html

php url字符转义操作

遇到一段代码,从数据库里读出来带 \ 字符 需要转义成中文~ 用到url_decode(); 1 //$info 为刚从数据库中读取的二维数组 2 3 foreach($info as $key1 => &$value1) { 4 foreach($key1 as $key2 => &$value2) { 5 if($key2 == 'url转义字段' ) //判断是否是要转义的字段 6 { 7 $value = url_decode(str_replace('\\','%',

Arduino周边模块:LCD与数码管

Arduino周边模块:LCD与数码管 数码管的介绍 数码管一般是用来显示数字和字符的 数码管原理 一位数码管 该图是一个8段数码管,该数码管中包含了8个LED发光二极管,因此称为8段数码管.该数码管共有10个引脚,有2个引脚是公共的负极或者正极,另外8个引脚分别按顺时针控制LED的亮片. 数码管的连接图,下面是两种连接方式 一种是将所有的正极连接到一起,另外的一种是将所有的负极连接到一起 我们可以在连接的时候进行测试,3脚接GND,4脚接高电平,如果有LED被点亮则为共阴,不亮则为共阳 四位数