切换到宽版
  • 7774阅读
  • 42回复

[C51]求助工程师无法搞定 1602液晶按照教程例程都不能正常显示 修改无果 [复制链接]

上一主题 下一主题
离线cqqwing
 

发帖
1571
M币
2656
专家
5
粉丝
47
只看楼主 倒序阅读 我要置顶 楼主  发表于: 2018-06-14
先把教程例程里的程序贴上来 。 这个例程直接照着写,因为单片机端口设置的不一样,所以只改了端口 P3^5 P3^6 P3^7,

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar num;
uint i,j;
sbit rs=P3^5;
sbit wr=P3^6;
sbit lcden=P3^7;      //使能端
uchar code table1[]="0123456789";
uchar code table2[]="ABCDEFG,FGHIJK";

void delay(uint x)       // 延时函数
{    for(i=x;i>0;i--)
    {
    for(j=120;j>0;j--);
    }
}
void write_com(uchar com)    //指令
{
    rs=0;
    wr=0;
    lcden=0;
    P0=com;
    lcden=1;
    delay(5);
    lcden=0;
}
void write_data(uchar dat)     //数据
{
    rs=1;
    wr=0;
    lcden=0;
    P0=dat;
    lcden=1;
    delay(5);
    lcden=0;
}
void init()                // 初始化函数
{
    write_com(0x38);
    write_com(0x08);
    write_com(0x01);
    write_com(0x06);
    write_com(0x0f);
}
void main()
{    P0=0;
    init();         // 初始化
    for(num=0;num<9 ;num++)      //第一行取9个数显示
    {    write_data(table1[num]);
        delay(300);        
    }
    write_com(0x80+0x40);      //第二行显示地址
  
    for(num=0;num<16 ;num++)    
    {
        write_data(table2[num]);
        write_com(0x18);  //左移
        delay(500);        
    }
    while(1);
}


现象是这样的,
第一次 程序中地址是标准的0x80+0x40, 结果 第一行显示完了之后,第二行就只有个光标闪动着往右边移动,一直移出屏幕就没动静了。如下两图。


















第二次,我修改为0x80+0x50,加上左移命令write_com(0x18), 然后现象是这样的,第一行显示完了之后,上下两行同时往左移, 中间相隔8个字符的距离后,第二行出现了,但是没有显示出A, 而且就这样一直往左移,显示完了之后,第二行尾巴上就剩下个乱码+箭头。










(这个液晶是在某宝买的,深圳山寨小厂,3.5一片屏幕,后来直接叫卖家的工程师给指导, 结果他都没搞定,说我硬件有问题, 然后这两天我不服气, 换单片机,89C52, 89C58,开发板也不要了,直接换面包板,搞了两天,交替替换着下载程序,结果问题依旧)


无论怎么调,就是不正常显示,那么多单片机的教程里的例程都一样的,可以用0x80+0x40 直接显示两行,为什么我这个第二行就是不能正常显示,  请问各位, 就在这个这个程序上应该怎么改才行?


本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
离线66ok66

发帖
1356
M币
860
专家
10
粉丝
21
只看该作者 1楼 发表于: 2018-06-14
请登录后查看
离线青色风机

发帖
19011
M币
3503
专家
24
粉丝
1567
只看该作者 2楼 发表于: 2018-06-14
请登录后查看
离线bigbell

发帖
1052
M币
1859
专家
1
粉丝
21
只看该作者 3楼 发表于: 2018-06-14
离线cqqwing

发帖
1571
M币
2656
专家
5
粉丝
47
只看该作者 4楼 发表于: 2018-06-14
回 66ok66 的帖子
请登录后查看
离线89609x

发帖
14
M币
1369
专家
0
粉丝
5
只看该作者 5楼 发表于: 2018-06-15
请登录后查看
离线cqqwing

发帖
1571
M币
2656
专家
5
粉丝
47
只看该作者 6楼 发表于: 2018-06-15
回 89609x 的帖子
请登录后查看
离线zhuls

发帖
1716
M币
3816
专家
3
粉丝
29
只看该作者 7楼 发表于: 2018-06-15
请登录后查看
离线aygxycs

发帖
106
M币
317
专家
0
粉丝
11
只看该作者 8楼 发表于: 2018-06-15
请登录后查看
离线cqqwing

发帖
1571
M币
2656
专家
5
粉丝
47
只看该作者 9楼 发表于: 2018-06-15
回 zhuls 的帖子
请登录后查看
快速回复
限80 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个