找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 696|回复: 2
收起左侧

Proteus仿真LCD1602只亮屏不显示字符?

[复制链接]
ID:1103701 发表于 2023-12-11 14:42 | 显示全部楼层 |阅读模式
Desktop Screenshot 2023.12.11 - 14.34.30.69.png Desktop Screenshot 2023.12.11 - 14.40.49.09.png

单片机代码及截图如下

#include "reg52.h"
#include"intrins.h"

#define uchar unsigned char
#define uint unsigned int
#define out P0
sbit RS=P2^0;
sbit RW=P2^1;
sbit E=P2^2;
void lcd_initial(void);
void check_busy(void);
void write_command(uchar com);
void write_data(uchar dat);
void string(uchar ad,uchar*s);
void delay(uint);

void main(void)
{        lcd_initial();
        while(1)
        {        string(0x80,"Welcome");
                string(0xC0,"Chengdu CHINA");
               
                delay(1000);
                write_command(0x01);
                delay(1000);
        }
}

void delay(uint j)
{        uchar i=250;
        for( ;j>0;j--)
        {        while(--i);
                i=249;
                while(--i);
                i=250;
        }
}

void check_busy(void)
{        uchar dt;
        do
        {        dt=0xff;
        E=0;
        RS=0;
        RW=1;
        E=1;
        dt=out;
        }while(dt&0x80);
        E=0;
}

void write_command(uchar com)
{        check_busy();
        E=0;
        RS=0;
        RW=0;
        out=com;
        E=1;
        _nop_( );
        E=0;
        delay(1);
}

void write_data(uchar dat)
{        check_busy();
        E=0;
        RS=1;
        RW=0;
        out=dat;
        E=1;
        _nop_();
        E=0;
        delay(1);
}


void lcd_initial(void)
{        write_command(0x38);
        
        write_command(0x0F);
        
        write_command(0x06);
        
        write_command(0x01);
        delay(1);
}

void string(uchar ad,uchar *s)
{        write_command(ad);
        while(*s>0)
        {        write_data(*s++);
                delay(100);
        }
}

回复

使用道具 举报

ID:1103774 发表于 2023-12-11 20:21 | 显示全部楼层
应该是硬件有些问题
回复

使用道具 举报

ID:1085081 发表于 2023-12-11 19:41 | 显示全部楼层
该程序的功能是在液晶屏上显示"Welcome"和"Chengdu CHINA"两行内容,每隔一段时间清除屏幕内容并重新显示。代码是没问题的,检查一下硬件吧
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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