• 液晶显示"I LOVE YOU!"代码和电路图


     1 #include <reg51.h>
     2 #include <stdio.h>
     3 #define uchar unsigned char
     4 #define LCD P3
     5 sbit RS = P2^0;
     6 sbit RW = P2^1;
     7 sbit E = P2^2;
     8 uchar i;
     9 void writecmd(uchar cmd){
    10    RS = 0;//数据命令选择端  RS=0,选择命令,RS=1,选择数据
    11    RW = 0;//读写选择端   RW=0,选择写操作,RW=0,选择读操作
    12    for(i=0;i<200;i++);//延时,确保LCD空闲,在初始化函数(init)里,连续四行,LCD可能一下子处理不过来
    13    E = 1;   //使能信号端  高电平使能 也就是允许给LCD输入命令的意思 
    14    LCD = cmd;//给LCD写命令
    15    E = 0;  //使能信号端  高电平使能  使用完之后要拉低,拉低之后就不能给LCD写命令了
    16 }
    17 void writedata(uchar* d){
    18    RS = 1;//数据命令选择端  RS=0,选择命令,RS=1,选择数据
    19    RW = 0;//读写选择端   RW=0,选择写操作,RW=0,选择读操作
    20    for(i=0;i<200;i++);//延时,确保LCD空闲
    21    E = 1;//使能信号端  高电平使能 也就是允许给LCD输入数据的意思 
    22    LCD = *d;//给LCD写数据
    23    E = 0;//使能信号端  高电平使能  使用完之后要拉低,拉低之后就不能给LCD写数据了
    24 }
    25 //定义一个字符串函数
    26 void writestr(uchar * str){
    27    //writestr("12312"),以双引号写数据的话,默认结束后会以结束,所以判断就可以知道是最后一个,然后停止指针地址的累加
    28    while(*str != ''){
    29       //把字符串放到指针str的地址里面
    30       writedata(str);
    31       //指针地址的累加
    32       str++;
    33    }
    34 }
    35 //LCD初始化
    36 void init(){
    37    RW = 0;//读写选择端   RW=0,选择写操作,RW=0,选择读操作
    38    E= 0;
    39    writecmd(0x38);
    40    writecmd(0x0c);//开显示屏
    41    writecmd(0x06);//读或写一个字符后地址指针加1
    42    //writecmd(0x01);//清屏
    43 }
    44 //主函数
    45 void main(void)
    46  { 
    47     //uchar j;
    48     //调用初始化函数
    49     init();
    50     //写命令,写地址
    51     writecmd(0X80);
    52     //小延时
    53     for(i=0;i<20;i++);
    54     //for(j=0;j<10;j++)
    55     //写数据
    56     
    57     //writedata("h12");
    58     writestr("I LOVE YOU!");
    59  }

          

  • 相关阅读:
    汉语-词语:什么
    汉语-词语:甚么
    汉语-汉字:心
    汉语-词汇:头脑
    汉语-词语:冰冷
    汉语-词汇:冷静
    两个int类型的数据相加,有可能会出现超出int的表示范围。
    两个int类型的数据相加,有可能会出现超出int的表示范围。
    成员变量与局部变量的区别_
    函数额基本概述
  • 原文地址:https://www.cnblogs.com/liangjinjie/p/6894901.html
Copyright © 2020-2023  润新知