找回密码
 立即注册

QQ登录

只需一步,快速开始

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

proteus仿真lcd1602只亮屏不显示是什么原因

[复制链接]
跳转到指定楼层
楼主


下面是程序和仿真图,是基于ADC0808做的一个电压表

#include "reg52.h"
sbit START=P3^0;
sbit EOC=P3^1;
sbit OE=P3^2;
sbit RS=P3^3;
sbit RW=P3^4;
sbit E=P3^5;
unsigned int vol=0;
unsigned char inf[]={"0123456789"};

void delay(unsigned int ms)
{
        unsigned int i=0,j=0;
        for(i=0;i<ms;i++)
        {
        for(j=0;j<120;j++);
        }
}
void writedat(unsigned char dat)
{
        RS=1;
        RW=0;
        E=0;
        P0=dat;
        delay(5);
        E=1;
        E=0;
}
void writecom(unsigned char com)
{
        RS=0;
        RW=0;
        E=0;
        P0=com;
        delay(5);
        E=1;
        E=0;
}
void initlcd()
{
        writecom(0x38);
        writecom(0x0c);
        writecom(0x06);
        writecom(0x01);
}
void adc()
{
        START=0;
        START=1;
        delay(5);
        START=0;
        while(EOC!=1);
        OE=1;
        vol=P2&0xff;
        OE=0;
}
void display()
{
        unsigned int bai=0,shi=0,ge=0;
        bai=vol/100;
        shi=(vol%100)/10;
        ge=vol%10;
        writecom(0x80);
        delay(5);
        writedat(inf[bai]);
        delay(5);
        writedat(inf[shi]);
        delay(5);
        writedat(inf[ge]);
        delay(5);
}
void main()
{
        initlcd();
        while(1)
        {
        adc();
        display();
        }

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

使用道具 举报

沙发
ID:584814 发表于 2025-3-25 13:06 | 只看该作者
线路错、程序错,没有其他了。
你可以在本论坛找个可用的,然后对照分析;
也可以上个全套的工程文件让别人帮助分析。
回复

使用道具 举报

板凳
ID:1147305 发表于 2025-4-7 14:03 | 只看该作者
看看代码和连接的线路是否一致
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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