本帖最后由 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--);
- }
|