本帖最后由 Step1toStep5 于 2011-3-30 11:12 编辑
#include <reg51.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar NUM[]={0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67,0x3f};
void delay();
void main()
{
uchar i;
uint x=10;
while(1)
{
for(i=0;i<10;i++)
{
P0=NUM[ i ];
while(x--)delay();
}
}
}
void delay() //延时50ms 误差 0us
{
unsigned char a,b;
for(b=173;b>0;b--)
for(a=143;a>0;a--);
}
上面是一个简单的数码管程序,但是为什么只能跑2个数字,就是显示前2个 1和2 然后就不变了。。。为什么捏,请高手解释 |