普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 1686|回复: 0

单片机1602

[复制链接]

1

主题

1

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2022-10-7 19:16:26 | 显示全部楼层 |阅读模式
代码能编译出来,但是1602只显示第一行的白块

#include"reg51.h"
#define uchar unsigned char
#define uint unsigned int
#define        write_date     
        uchar code table[]="I LOVE YOU!";
  uchar code table1[]="WELCOME YOU !";
sbit lcden=P2^4;
sbit lcdrs=P2^5;
sbit lcdrw=P2^3;
uchar num;
void delay (uint xms)
{
        uint i, j;
        for(i=xms;i>0;i--)
  for(j=110;j>0;j--);
}
uchar busy()
{
        uchar lcd_status;
        lcdrs=0;lcdrw=1;
        lcden=1;
        delay(50);
        lcd_status=P0;
        lcden=0;
        return lcd_status;
}
void write_com(uchar com)
{
        while((busy()&0x80)==0x80);
        lcdrw=0;lcdrs=0;
        P0=com;
        delay(50);
        lcden=1;
        delay(50);
        lcden=0;
}
void write_data(uchar date)
{
        while((busy()&0x80)==0x80);
        lcdrw=0;lcdrs=1;
        P0=date;
        delay(50);
        lcden=1;
        delay(50);
         lcden=0;
}
void init()
{
        lcden=0;
        write_com(0x38);
        write_com(0x0c);
        write_com(0x06);
        write_com(0x01);
}
void main()
{
        init();
        write_com(0x80);
        for(num=0;num<11;num++)
{
        write_date(table[num]);
        delay(50);
}
write_com(0x80+0x40);
for(num=0;num<13;num++)
{
        write_date(table1[num]);
        delay(50);
}
while(1);
}


回复

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-5-15 13:08 , Processed in 0.105062 second(s), 30 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

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