标题: proteus仿真lcd1602只亮屏不显示是什么原因 [打印本页]

作者: 成一1    时间: 2025-3-24 21:14
标题: 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();
        }


作者: man1234567    时间: 2025-3-25 13:06
线路错、程序错,没有其他了。
你可以在本论坛找个可用的,然后对照分析;
也可以上个全套的工程文件让别人帮助分析。
作者: 3090358112    时间: 2025-4-7 14:03
看看代码和连接的线路是否一致




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1