大家好,今天在學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)呢?
還有為什么我的程序就顯示的不正確呢?
謝謝大家!
1.jpg (58.64 KB, 下載次數: 118)
下載附件
2012-2-7 23:20 上傳
|