P2口接的是8个LED,让他从中间向两边亮, 但为什么只执行了两次赋值就不向下执行了?? 也就是把0xdb赋给了P2口后就不动了,而且此时这两个灯也一直亮着.
#include<reg52.h> unsigned char code table[]={0xe7,0xdb,0xbd,0x7e}; unsigned char i,j; void delay() { for(i=200;i>0;i--) for(j=200;j>0;j--); } void main() { for(i=0;i<4;i++) { P2=table; delay(); } }
更郁闷的是我把for(i=0;i<4;i++)改成了for(i=2;i<4;i++)后试了试,它还是从第0个元素开始赋值给P0口,赋了两个值后又不动了.和上面一样的效果. 请告诉我到底哪里得罪它了??
PS:8 个LED都是好的,没有坏的.
|