找回密码
 立即注册

QQ登录

只需一步,快速开始

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

1602液晶显示程序

[复制链接]
跳转到指定楼层
楼主
ID:246078 发表于 2018-1-22 09:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
typedef unsigned char uint8;//数据类型宏定义
sbit BF = P0^7;//BF代表P0的最高位
sbit EN = P2^5;//LCD使能端---随电路设计调整
sbit RS = P1^0;//指令/数据
sbit RW = P1^1;//读/写
sbit s1=P3^4;
void wait(void)//读状态,如果忙就继续检查;如果闲,就执行后续语句
{
         P0=0xFF;
       
         do
                 {
                 RS=0;
                 RW=1;
                 EN=0;
                 EN=1;
                 }
         while (BF==1);        //(bit)()
         EN=0;
}

//写数据函数---显示
void w_dat(uint8 dat)
{
        wait();
        EN=0;
        P0=dat;
        RS=1;
        RW=0;
        EN=1;
        EN=0;
}

void w_cmd(uint8 cmd)//写指令函数--执行cmd代码
{
        wait();//等待函数
        EN=0;
        P0=cmd;
        RS=0;
        RW=0;
        EN=1;
        EN=0;
}

void Init_LCD1602(void)
{
        w_cmd(0x38);//写指令0x38--显示模式
        w_cmd(0x0c);//0000 1100--打开显示
        w_cmd(0x06);
        w_cmd(0x01);
}
main()
{
        Init_LCD1602();//调用LCD函数
        if(s1==0)
        w_cmd(0x80+0x31);  //确定显示的位置--写指令
        //代码为具体的地址值  0x80=0x80+0x00
        w_dat('A'); //显示一个字符 A   'A'
        while(1);
}

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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