打印

为什么我的12864显示会乱跳的

[复制链接]
1040|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我按复位键或者重新上电就会就会乱,或者刚刚上电的时候显示就不对,这是什么原因呢
#include <STC12C5A60S2.H>
#define uchar unsigned char
#define uint unsigned   int
sbit E=P2^7;
sbit RW=P2^5;
sbit RS=P2^6;
sbit PSB=P3^2;
uchar code table1 []="当前温度:";
uchar code table2 []="剩余电量:";
void write_com(uchar com);
void write_dat(uchar dat);
void lcd_inti();
void delay(uchar i)        ;                           //0.1ms
void main()
{
        uchar a,b;
        lcd_inti();
        delay(500);
        write_com(0x80);
                for(a=0;a<10;a++)
                {       
                        write_dat(table1[a]);
                        delay(10);
                }
                delay(50);
        write_com(0x90);
                for(b=0;b<10;b++)
                        {
                                 write_dat(table2);
                                 delay(10);
                        }
                while(10);
}
void write_com(uchar com)
{
        E=0;
        RS=0;
        RW=0;
        E=1;
        P0=com;
        delay(10);
        E=0;
}
void write_dat(uchar dat)
{
        E=0;
        RS=1;
        RW=0;
        E=1;
        P0=dat;
        delay(10);
        E=0;
}
void lcd_inti()
{
        delay(500);
        PSB=1;  //并口
        write_com(0x30);        //基本指令
        delay(50);
        write_com(0x0c);          //打开显示,光标关闭
        delay(50);
        write_com(0x01);        //清除LCD显示类容
        delay(50);
}
void delay(uchar i)                                   //0.1ms
{
        uchar j;
        while(i--)
                for(j=1200;j>0;j--);
}

相关帖子

沙发
jxw82284134| | 2015-1-5 21:57 | 只看该作者
write_com(0x90);
                for(b=0;b<10;b++)
                        {
                                 write_dat(table2);
                                 delay(10);
                        }
你的table2里面的b呢。初始化a, b要赋值为0

使用特权

评论回复
板凳
hnkf118| | 2015-1-6 16:42 | 只看该作者
看看。学习下。

使用特权

评论回复
地板
通宵敲代码| | 2015-1-7 00:25 | 只看该作者
扫屏有问题,估计是有积累误差!

使用特权

评论回复
5
乌嘴猫|  楼主 | 2015-1-8 16:57 | 只看该作者
通宵敲代码 发表于 2015-1-7 00:25
扫屏有问题,估计是有积累误差!

谢谢回答,已经解决了。小误区

使用特权

评论回复
6
雪驹| | 2015-1-9 21:06 | 只看该作者
先写行地址再写列地址,再写数据高8位,再写数据低8位,你这里只写了一个地址。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

36

帖子

0

粉丝