欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3641|回復: 3
收起左側

求助:單片機1602/LM016L顯示屏只顯示一半內容

[復制鏈接]
ID:740738 發表于 2020-4-29 11:34 | 顯示全部樓層 |閱讀模式
和師兄一起做了一個控制充放電的一個小電路,程序編譯成hex文件顯示屏只能顯示預計一半內容,琢磨了一天沒找到原因,求大神指點
實物預計用1602,proteus里面選用的是LM016L。D0到D7是接到了P0口上。全部程序太長所以只發了與顯示屏相關的程序

sbit RS=P2^0;   
sbit RW=P2^1;   
sbit EN=P2^2;   
uchar     code table1[]=" TYNCFDKZQXTS";
unsigned char code table2[]=" S:12.0 N:";
unsigned char code lcdd[]="0123456789";
uchar xs_vo,num;


#ifndef _YJ1602_H
#define _YJ1602_H

void init1602()   
{
        EN=0;
        write_com(0x38);
        write_com(0x0c);
        write_com(0x06);
        write_com(0x01);
}
void write_com(uchar com)
{
        RW=0;        delay1();
        RS=0;   
        delay1();
        EN=1;   
        delay1();
        P0=com;   
        delay1();
        EN=0;        delay1();
        delay(5);        
}
void write_data(uchar date)
{
   RW=0;  delay1();
   RS=1;   
   delay1();
   EN=1;   
   delay1();
   P0=date;   
   delay1();
   EN=0;   delay1();
   delay(5);        
}
void yj1602()
{        uchar xs_vo;
        init1602();
        xs_vo=battery_v;
        V1=xs_vo/100;
    V2=xs_vo%100/10;
        V3=xs_vo%10;

        write_com(0x80+0x10);
        for(num=0;num<14;num++)
        {
                write_data(table1[num]);
                delay(5);
        }
        write_com(0x80+0x50);
        write_data(' ');
        delay(5);
        write_data('S');
        delay(5);
        write_data(':');
        write_data(' ');
        delay(5);
        write_data(lcdd[1]);
        delay(5);
        write_data(lcdd[2]);
        delay(5);
        write_data('.');
        delay(5);
        write_data(lcdd[0]);
        delay(5);
        write_data(' ');
        delay(5);
        write_data(' ');
        delay(5);
        write_data('N');
        delay(5);
        write_data(':');
        delay(5);
        write_data(lcdd[V1]);
        delay(5);
        write_data(lcdd[V2]);
        delay(5);
        write_data('.');
        delay(5);
        write_data(lcdd[V3]);
        delay(5);
        
        for(num=0;num<16;num++)
        {
                write_com(0x1c);
                delay(1000);
        }
}



98YREU4DNH{{P31R2[((M$D.png
回復

使用道具 舉報

ID:584814 發表于 2020-4-29 13:28 | 顯示全部樓層
你寫的就是你想的,顯示的就是你寫的。
回復

使用道具 舉報

ID:213173 發表于 2020-4-29 17:52 | 顯示全部樓層
起始顯示位置與整體左移位置不當,超出范圍。

        write_com(0x80+0x10);
        for(num=0;num<14;num++)
        {
                write_data(table1[num]);
                delay(5);
        }
       
        for(num=0;num<16;num++)
        {
                write_com(0x1c);
                delay(1000);
        }
回復

使用道具 舉報

ID:740738 發表于 2020-4-29 21:33 來自觸屏版 | 顯示全部樓層
wulin 發表于 2020-4-29 17:52
起始顯示位置與整體左移位置不當,超出范圍。

        write_com(0x80+0x10);

問題解決了,謝謝大佬
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表