基于ATMEGA16 PA 口流水灯代码
时间: 2023-11-23 08:07:51 浏览: 104
以下是基于ATMEGA16 PA口的流水灯代码:
```
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRB = 0xFF; // 设置PB口为输出
while (1)
{
PORTB = 0x01; // 点亮第一个LED灯
_delay_ms(500); // 延时500ms
PORTB = 0x02; // 点亮第二个LED灯
_delay_ms(500); // 延时500ms
PORTB = 0x04; // 点亮第三个LED灯
_delay_ms(500); // 延时500ms
PORTB = 0x08; // 点亮第四个LED灯
_delay_ms(500); // 延时500ms
PORTB = 0x10; // 点亮第五个LED灯
_delay_ms(500); // 延时500ms
PORTB = 0x20; // 点亮第六个LED灯
_delay_ms(500); // 延时500ms
PORTB = 0x40; // 点亮第七个LED灯
_delay_ms(500); // 延时500ms
PORTB = 0x80; // 点亮第八个LED灯
_delay_ms(500); // 延时500ms
}
return 0;
}
```
在这个代码中,我们设置了PB口为输出,然后使用PORTB逐个点亮LED灯,并延时500毫秒,形成流水灯效果。当程序运行到最后一个LED灯时,它将返回到第一个LED灯重新开始循环。
阅读全文