本帖最后由 testfish 于 2013-6-7 19:46 编辑
大家帮忙看看这段代码哪里有错误,主要想实现 6个led 从第一个开始循环显示LED_CODES里全部字符,然后换下一个,本人新手,鼓捣了半天也没成功,望大家赐教#include <AT89X52.H>
unsigned char code Select[]={0x01,0x02,0x04,0x08,0x10,0x20};
unsigned char code LED_CODES[]={0xc0,0xF9,0xA4,0xB0,0x99,//0-4
0x92,0x82,0xF8,0x80,0x90,//5-9
0x88,0x83,0xC6,0xA1,0x86,//A,b,C,d,E
0x8E,0xFF,0x0C,0x89,0x7F,0xBF};//F,空格,P,H,.,-
void delayms();
void main()
{
int m,ll;
while(1)
{
//P2=0;
//P2=Select[3];
//P1=LED_CODES[6];
for (m=0;m<7;m++)
{
P2=Select[m];
for(ll=0;ll<=21;ll++)
{
P1=LED_CODES[ll];
delayms();
}
}
}
}
void delayms()
{
int jj;
int kk;
for(jj=1000;jj>0;jj--)
for(kk=110;kk>0;kk--);
}
|