大家好,今天在学KEIL教程的时候看到19页的跑马灯程序,自己仿照写了一段程序。 #include<AT89X51.H> void main(void) { unsigned char design[3]={0xFF,0xFD,0xFB}; unsigned int a; unsigned char b; do{ for(b=1;b<=3;b++); { for(a=0;a<3000;a++); P1=design; } }while(1); } 对P1=design设置断点,运行程序,发现P1的值如下附件图1.这个值不符合程序所要的结果。
询问论坛的高手,程序被改成了如下:
#include<AT89X51.H> void main(void) { unsigned char design[3]={0xFF,0xFD,0xFB}; unsigned int a; unsigned char b; for(b=1;b>3;b++); {
P1=design; }
while(1); } 运行后,P1端口的值变成了11111101,正常了。
请教各位,为什么出来的值会是0XFD(11111101)呢?
还有为什么我的程序就显示的不正确呢?
谢谢大家!
|