?? 8.c
字號:
#include <at89x51.h>
void main(void)
{
unsigned int a;
unsigned int b;
unsigned char temp; //臨時變量
P1 = 0xAA; //點亮D1,D3,D5,D7 P1口的二進制為10101010,為0時點亮LED
for (a=0;a<1000;a++)
for (b=0;b<1000;b++); //延時
temp = P1 & 0x7; //單純的寫P1|0x7是沒有意義的,因為沒有變量被影響,不會被編譯
//執行P1|0x7后結果存入temp,這時改變的是temp,但P1不會被影響。
//這時LED沒有變化,仍然是D1,D3,D5,D7亮
for (a=0;a<1000;a++)
for (b=0;b<1000;b++); //延時
P1 = 0xFF; //熄滅LED
for (a=0;a<1000;a++)
for (b=0;b<1000;b++); //延時
P1 = 0xAA; //點亮D1,D3,D5,D7 P1口的二進制為10101010,為0時點亮LED
for (a=0;a<1000;a++)
for (b=0;b<1000;b++); //延時
P1 = P1 & 0x7; //這時LED會變得只有D2滅
//因為之前P1=0xAA=10101010
//與0x7位與 0x7=00000111
//結果存入P1 P1=00000010 //位為O時點亮LED,電路看第三課
for (a=0;a<1000;a++)
for (b=0;b<1000;b++); //延時
P1 = 0xFF; //熄滅LED
while(1);
//大家可以根據上面的程序去做位或,左移,取反等等。
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -