jiaowo666 2017-10-24 06:34 采纳率: 0%
浏览 6127

关于12864动态显示数字的问题

我想在12864显示屏上显示一个动态数字,从0~99,但显示屏上效果只有一个0,而且不变化,跪求大神能指点一下
图片说明
(目前第二行和第三行还断码),附上主函数,循环显示的语句在最后,望大神赐教

#include
#include"Twist_Switch.h"
#include"STC15.H"

uchar code dis1[]={"C101实验室"};
uchar code dis2[]={"上旋钮:"};
uchar code dis3[]={"下旋钮:"};
uchar code dis4[]={"感谢使用"};
uchar Number[2];

void delay_ms(uint x)
{
uint i,j;
for(j=0;j<x;j++)
for(i=0;i<110;i++);
}

void LcdGPIO_Init(void) //设置准双向口
{
P0M1 = 0; P0M0 = 0;

P1M1 = 0; P1M0 = 0;

P2M1 = 0; P2M0 = 0;

P3M1 = 0; P3M0 = 0;

P4M1 = 0; P4M0 = 0;

P5M1 = 0; P5M0 = 0;

P6M1 = 0; P6M0 = 0;

P7M1 = 0; P7M0 = 0;

}

void write_cmd(uchar cmd) //写指令
{
LCD_RS=0;
LCD_RW=0;
LCD_EN=0;
LCD_data=cmd;
delay_ms(5);
LCD_EN=1;
delay_ms(5);
LCD_EN=0;
}

void write_dat(uchar dat) //写数据
{
LCD_RS=1;
LCD_RW=0;
LCD_EN=0;
LCD_data=dat;
delay_ms(5);
LCD_EN=1;
delay_ms(5);
LCD_EN=0;
}

void lcd_pos(uchar X,uchar Y) //LCD屏幕显示位置
{
uchar pos;
if(X==0)
{X=0x80;}
else if (X==1)
{X=0x90;}
else if (X==2)
{X=0x88;}
else if (X==3)
{X=0x98;}
pos=X+Y;
write_cmd(pos);
}

void lcd_init() //液晶屏初始化
{
//LCD_PSB=1;
write_cmd(0x30);
delay_ms(5);
write_cmd(0x0C);
delay_ms(5);
write_cmd(0x01);
delay_ms(5);
}

void main()
{
LcdGPIO_Init();
delay_ms(10);
lcd_init();
while(1)
{
uchar i,k;
lcd_pos(0,1);
i=0;
while(dis1[i]!='\0')
{
write_dat(dis1[i]);
i++;
}

    lcd_pos(1,0);
    i=0;
    while(dis2[i]!='\0')
    {
        write_dat(dis2[i]);
        i++;
    }

    lcd_pos(2,0);
    i=0;
    while(dis3[i]!='\0')
    {
        write_dat(dis3[i]);
        i++;
    }

    lcd_pos(3,2);
    i=0;
    while(dis4[i]!='\0')  //δ½áÊø
    {
        write_dat(dis4[i]);
        i++;
    }


            lcd_pos(1,4);
            for(k=0;k<100;k++)
            {
                for(a=0;a<100;a++)
                    {
                        Number[0]=a/10;
                        Number[1]=a%10;
                        sprintf(&Number, "%d", a);  //½«ÕûÐÎת»»³É×Ö·û´®
                        write_dat(Number[k]);
                    }

            }

}

}
(没有附加Twist_Switch.h和STC15.H程序,头文件里应该没有问题)
再次感谢!!!!

  • 写回答

1条回答 默认 最新

  • 秦雅酒食 2017-10-24 07:32
    关注

    建议用中断,这样放在循环里有时候会出问题

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据