当前位置: 代码迷 >> 单片机 >> 这个点亮数码管的程序为什么有有关问题
  详细解决方案

这个点亮数码管的程序为什么有有关问题

热度:38   发布时间:2016-04-28 15:37:40.0
这个点亮数码管的程序为什么有问题?
#include<reg52.h>
#include<intrins.h>

sbit dula=P2^6;
sbit wela=P2^7;

char num;
char code table[]={0XAA,0X3F,0X06,0X5B,0X4F,0X66,0X6D};

void main()
{
char temp;
while(1)
{
temp=0xFE;
for(num=0;num<6;num++)
{
wela=1;
P0=_irol_(temp,num);
wela=0;
dula=1;
P0=table[num+1];
dula=0;
}
}
}


为什么板板上显示的不是连续的012345,而是乱七八糟的数?应该怎么改正才能使之显示连续的012345?
------解决方案--------------------
延时加了?特别是P0=table[num+1];后的延时。
http://blog.csdn.net/binzo/article/details/6364977
------解决方案--------------------
闪的太快,LED显示来不及,所以就乱七八糟了,个人同意这个观点。你加个延时试试看。
  相关解决方案