找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4764|回复: 0
打印 上一主题 下一主题
收起左侧

LCD1602字符液晶显示实验代码

[复制链接]
跳转到指定楼层
楼主
ID:563899 发表于 2019-6-16 20:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*************************************************************/
/********************* 04 字符液晶显示实验 *******************/
/*************************************************************/
/************************* 作者:XHCH ************************/
/*************************************************************/
/*************************************************************/

#include<reg52.h>                //添加库文件
#define uint unsigned int
#define uchar unsigned char

sbit E = P3^2;                        //定义管脚
sbit RW = P3^1;
sbit RS = P3^0;

void mDelay(uint Delay)        //延时
{        uint i;
        for(;Delay > 0;Delay--)
                for(i = 0;i < 110;i++);
}


void LCD1602Write_data(uchar i)        //LCD1602写数据
{
        //E=0;
        RS = 1;//数据
        RW = 0;//写入
        P0 = i;
        E = 1;//允许
        mDelay(11);
        E = 0;


}
void LCD1602Write_com(uchar i)        //LCD1602写指令
{

        RS = 0; //指令
        RW = 0; //写入
        P0 = i;
        E = 1;  //允许写入
    mDelay(11);
        E = 0;         
}
void LCD1602Init()                 //LCD1602初始化
{
        RW = 0;
        RS = 0;
        LCD1602Write_com(0x01);
        LCD1602Write_com(0x38);
        LCD1602Write_com(0x0c);                //无光标
        LCD1602Write_com(0x06);        
}

void main()                                //主函数
{
        unsigned char Code1[] = "1602 LCD TEST OK";//Code1是要显示在字符液晶的第一行
        unsigned char Code2[] = "HELLO EVERYONE!!"; //Code2是要显示在字符液晶的第二行
         unsigned char m;
        RW = 0;
        LCD1602Init();
        while(1)
        {
                LCD1602Write_com(0x80+0x00);        //在第一行第一个显示Code1
                for(m = 0;m < 40;m++)                        
           {
                        LCD1602Write_data(Code1[m]);

                        mDelay(10);                        //延时
       }
        LCD1602Write_com(0x80+0x40);                //在第二行第一个显示Code2
                for(m = 0;m < 40;m++)                        
           {
                        
                        LCD1602Write_data(Code2[m]);        
                        mDelay(10);                        //延时
}               
    }
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表