微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > AVR单片机-流水灯1

AVR单片机-流水灯1

时间:11-29 来源:互联网 点击:
今天开始进入AVR单片机的学习,刚拿到学习板没多久,开始我的第一课----流水灯

原理图如下:



源代码:

/*
* LED.c
*

* Created: 2011-6-24 12:00:23
* Author: ZYIN
*/

#include avr/io.h>

void delay(void) //延时函数
{
unsignedint j;
j=60000;
while(j--);
}

int main(void) //主函数
{
char temp;
DDRF=0b11111111; //PF口设置为输出
PORTF=0b00001000;//PF3位设置为1,使能74hc573锁存器
DDRA=0xff; //PA口设置为输出

while(1)       //流水灯循环
{
int i;
temp=0b00000001; //初始化

for(i=0;i<8;i++)
{
PORTA=~temp; // 输出流水灯状态
delay();
delay();
delay();
temp<=1; //状态左移

}
}
}

程序效果图:

写完这个程序才发现,AVR的确要比51的速度快啊。

void delay(void) //延时函数
{
int j;
j=60000;
while(j--);
}

这个延时函数在51需要大约1秒左右;而AVR大约在100ms多左右。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top