本人51單片機小白,剛剛開始學習單片機。 最近看到簡單的流水燈的設計,在文件中輸入 #include<reg52.h> Void main() { P1=0xaa; } 對單片機P1口的8個I/O口同時進行輸入,0x表示后面的數據以十六進制表示,十六進制的aa在二進制中為10101010,那么對應發光二極管的1.3.5.7亮,2.4.6.8滅,也可以將0xaa轉化為十進制的170,如“P1=170;” 以上是郭天祥主編的51單片機教程中的一段,我拿著單片機進行嘗試,流水燈也確實亮了。 但是,當我嘗試對P1口的賦值做出改變時,結果卻出了問題。 我輸入P1=0xab,十六進制的ab轉化成二進制應該是10101011,對應的應該是發光二極管1.3.5.7.8亮,然而實際上亮的燈卻是3.5.7 P1=0xac,轉化為二進制10101100對應發光二極管1.3.5.6亮,但實際上亮的是1.2.5.7。 P1=0xad,轉化為二進制10101101對應發光二極管1.3.5.6.8亮,但實際上亮的是2.5.7。 求大神指教,這是怎么回事。
|