找回密码
 立即注册

QQ登录

只需一步,快速开始

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

1602显示详解

[复制链接]
跳转到指定楼层
楼主
ID:219947 发表于 2017-7-18 14:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]="I LOVE MCU!";// 要显示的字符
uchar code table1[]="wo de ni!!!";
sbit RS = P2^4;   //  液晶基本设置,端口 不同的可以做改动  要随机应变
sbit RW = P2^5;
sbit EN = P2^6;
uchar num;
void delay(uint x) //延时1ms  所有的延时 为了让显示跟稳定   时间 不宜太长 太长 影响写入的速率, 也不宜太短 太短 影响接受的稳定性
  {
   uint i,j;
   for(i=x;i>=0;i--)
      for(j=100;j>=0;j--);
   }
void write_com(uchar com)//写入命令字操作
  {
    RS=0;
    RW=0;
    P0=com;
    delay(5);
    EN=1;
    delay(5);
    EN=0;
  }

void write_data(uchar date)//写入数据字操作
   {
    RS=1;
    RW=0;
    P0=date;
    delay(5);
    EN=1;
    delay(5);
    EN=0;
   }

void init()//1602显示屏初始化
{
  write_com(0x38);//  1602  调至为显示模式
  write_com(0x0c);//设置开显示  且 不显示光标
  write_com(0x06);// 写一个字符后地址指针加一
  write_com(0x01);// 显示清0  数据指针清0
}

void main()
{
init();
write_com(0x80);   //数据指针定位到第一行第一个字
for(num=0;num<11;num++)
   {
    write_data(table[num]);
    delay(10);
    }

write_com(0x80+0x40);//  数据指针定位到第一行第二个字
  for(num=0;num<11;num++)
    {  
      write_data(table1[num]);
      delay(10);
    }
   while(1);
}


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

沙发
ID:219947 发表于 2017-7-18 14:53 | 只看该作者
萌新 一点小小的 理解希望大家 多多指教     
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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