int led_pin[] = {2,3,4,5,6,7,8,9}; // 宣告 LED 的接腳 I/O 陣列
unsigned char led_table[] = {0x81, 0x42, 0x24, 0x18,
0x24, 0x42 };
int i,j; // for迴圈的計數變數
void setup()
{
for (i=0; i<8; i++)
{
pinMode(led_pin[i], OUTPUT);
digitalWrite(led_pin[i], HIGH);
}
}
void loop()
{
for (i=0; i<6; i++)
{
outport(led_table[i]);
delay(1000); // wait for a second
}
}
void outport(unsigned char data)
{
for (j=0; j<8; j++)
{
if (data % 2==1) // 除 2 的餘數代表要取出 dat 的最低位元狀態
digitalWrite(led_pin[j], HIGH); // LED off
else
digitalWrite(led_pin[j], LOW); // LED on
data=data/2; // dat 右移一個位元, 繼續偵測其它位元狀態
}
}
沒有留言:
張貼留言