普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 5028|回复: 4

12864液晶屏的显示问题

 关闭 [复制链接]

3

主题

8

帖子

44

积分

新手上路

Rank: 1

积分
44
发表于 2018-4-14 18:41:23 | 显示全部楼层 |阅读模式
#include <reg52.h>

#define uchar unsigned char
#define uint unsigned int
       
uchar code string1[]={"超声波测距:"};//定义文字
uchar code string2[]={"距离:"};
uchar code string3[]={"速度:"};
uchar code string6[]={"保持距离"};
uchar code string7[]={"    "};


sbit lcd_rw=P2^5;
sbit lcd_rs=P2^6;
sbit lcd_en=P2^7;
sbit lcd_psb=P3^2;

void delay(uint z);
void write_com(uint com);
void write_data(uint data1);
void lcdInit();
void wenzidisplay();

void main()
{
        uint i,j,k;
        lcdInit();
        write_com(0x98);
        for(i=0;i<8;i++)
          write_data(string6);
        write_com(0x98);
  for(j=0;j<2;j++)
        write_data(string7[j]);

       
                  
       
}

void write_com(uint com)//写命令
{
        lcd_en=0;
        lcd_rw=0;
        lcd_rs=0;
        P0=com;
        delay(5);
        lcd_en=1;
        delay(5);
        lcd_en=0;
}

void write_data(uint data1)//写数据
{
        lcd_en=0;
        lcd_rw=0;
        lcd_rs=1;
        P0=data1;
        delay(5);
        lcd_en=1;
        delay(5);
        lcd_en=0;
}

void lcdInit()//16824初始化
{
        lcd_psb=1;
        write_com(0x30);//基本功能设定
        delay(5);
        write_com(0x0c);//显示开,关光标
        delay(5);
        write_com(0x01);//清屏
        delay(5);
}

void delay(uint z)
{
        uint i,j;
        for (i=z;i>0;i--);
          for (j=110;j>0;j--);//延迟Z个1ms
}

如题,当我不定义多余的变量k(红字部分),显示中空格将保字覆盖(如第一个图),但是当我定义多余的变量k时,保字没被覆盖(如第二个图)


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

3

主题

8

帖子

44

积分

新手上路

Rank: 1

积分
44
 楼主| 发表于 2018-4-14 18:41:54 | 显示全部楼层
有没有大神知道怎么回事
回复 支持 反对

使用道具 举报

42

主题

563

帖子

1907

积分

金牌会员

Rank: 6Rank: 6

积分
1907
发表于 2018-4-17 08:24:24 | 显示全部楼层
你这个代码明显有问题,跟K没有关系,可能只是巧合影响的显示位置。你用2个空格挡住了第一个汉字的显示,而且你的main中没有添加死循环,这样就不断的屏幕初始化。。。。
回复 支持 反对

使用道具 举报

3

主题

8

帖子

44

积分

新手上路

Rank: 1

积分
44
 楼主| 发表于 2018-4-18 22:05:51 | 显示全部楼层
大瓶子凌凌漆 发表于 2018-4-17 08:24
你这个代码明显有问题,跟K没有关系,可能只是巧合影响的显示位置。你用2个空格挡住了第一个汉字的显示,而 ...

我不添加k的时候,程序运行正常啊
回复 支持 反对

使用道具 举报

42

主题

563

帖子

1907

积分

金牌会员

Rank: 6Rank: 6

积分
1907
发表于 2018-4-19 07:47:36 | 显示全部楼层
罗罗罗 发表于 2018-4-18 22:05
我不添加k的时候,程序运行正常啊

你程序先按照正常的改,然后看看跟K有没有关系
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-4-26 00:58 , Processed in 0.088451 second(s), 31 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

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