|
for(i=0;i<=7;i++) //輪流
{
PORTA=~(1<<i); //各位依次置 0
_delay_ms(200); //延是200ms
}
這個(gè)好像依次不起來(lái)吧
i=0時(shí),i變成二進(jìn)制為0000 0000左移一位還是0000 0000再取反PORTA變?yōu)?111 1111,燈全滅
i=1時(shí),i變成二進(jìn)制為0000 0001左移一位是0000 0010再取反PORTA變?yōu)?111 1101,第二個(gè)燈亮
i=2時(shí),i變成二進(jìn)制為0000 0010左移一位是0000 0100再取反PORTA變?yōu)?111 1011,第三個(gè)燈亮
i=3時(shí),i變成二進(jìn)制為0000 0011左移一位是0000 0110再取反PORTA變?yōu)?111 1001,第二個(gè)和第三個(gè)燈同時(shí)亮
i=4時(shí),i變成二進(jìn)制為0000 0100左移一位是0000 1000再取反PORTA變?yōu)?111 0111,第四個(gè)燈亮
i=5時(shí),i變成二進(jìn)制為0000 0101左移一位是0000 1010再取反PORTA變?yōu)?111 0101,第二個(gè)和第四個(gè)燈同時(shí)亮
i=6時(shí),i變成二進(jìn)制為0000 0110左移一位是0000 1100再取反PORTA變?yōu)?111 0011,第三個(gè)和第四個(gè)燈同時(shí)亮
i=7時(shí),i變成二進(jìn)制為0000 0111左移一位是0000 1110再取反PORTA變?yōu)?111 0001,第二個(gè)、第三個(gè)和第四個(gè)燈同時(shí)亮
改成這樣應(yīng)該可以
int i,j,k;
i=1;
for(j=0;j<8;j++) //循環(huán)8次,8位LED輪流點(diǎn)亮
{
PORTA=~i; //反向輸出
_delay_ms(200); //延時(shí)200ms
i=1<<i; //左移一位
} |
|