int led[] = {2,3,4,5,6,7,8,9}; // 宣告 LED 的接腳 I/O 陣列
char ad[] = { 0b10000001, 0b01000010, 0b00100100, 0b00011000,
0b00100100, 0b01000010 };
int ii,jj; // for迴圈的計數變數
void setup() {
for (ii=0; ii<8; ii++)
{ pinMode(led[ii], OUTPUT);
digitalWrite(led[ii], HIGH);
}
}
// the loop routine runs over and over again forever:
void loop() {
for (ii=0; ii<6; ii++)
{ OutPort(ad[ii]);
delay(1000); // wait for a second
}
}
void OutPort(byte dat) {
for (jj=0; jj<8; jj++) {
if (dat % 2==1) // 除 2 的餘數代表要取出 dat 的最低位元狀態
digitalWrite(led[jj], HIGH); // LED off
else
digitalWrite(led[jj], LOW); // LED on
dat=dat/2; // dat 右移一個位元, 繼續偵測其它位元狀態
}
}
沒有留言:
張貼留言