C51编程:這也會出錯?﹗
各位大俠﹕
我有10多行程序﹐是動態LED顯示﹐研究了半天﹐居然沒有OK﹐真奇怪。現象是顯示不
全﹐舉例如下﹕
數字"8"
正常﹕1000 0000B 0x80
本例﹕1000 0111B 0x87
硬件上沒有問題。
Why?Who can help me?
注﹕我已發過類似貼子﹐并得到了大俠的熱情指點。但問題未能kill.還妨大俠再行指
點。Thanks.
#include <stdio.h>
#include <reg51.h>
#include <intrins.h>
void looplamp()
{
int i,j,k,m;
int a[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
for (i=0; i<=9; i++)
{
P0 = a[i];
for (m=0; m<150; m++)
{
P2 = 0x01;
for (j=0; j<8; j++)
{
for (k=0; k<400; k++)
{
_nop_();
}
P2 <<= 1;
}
}
}
}
main()
{
P0 = 0xff;
P2 = 0x00;
while (1)
{
looplamp();
}
}
发表时间:2002年1月25日15:42:00