AVR單片機-流水燈1
原理圖如下:
本文引用地址:http://m.butianyuan.cn/article/201611/323496.htm
源代碼:
/*
* LED.c
*
* Created: 2011-6-24 12:00:23
* Author: ZYIN
*/
#include <avr/io.h>
void delay(void) //延時函數(shù)
{
unsignedint j;
j=60000;
while(j--);
}
int main(void) //主函數(shù)
{
char temp;
DDRF=0b11111111; //PF口設(shè)置為輸出
PORTF=0b00001000;//PF3位設(shè)置為1,使能74hc573鎖存器
DDRA=0xff; //PA口設(shè)置為輸出
while(1) //流水燈循環(huán)
{
int i;
temp=0b00000001; //初始化
for(i=0;i<8;i++)
{
PORTA=~temp; // 輸出流水燈狀態(tài)
delay();
delay();
delay();
temp<<=1; //狀態(tài)左移
}
}
}
程序效果圖:
寫完這個程序才發(fā)現(xiàn),AVR的確要比51的速度快啊。
void delay(void) //延時函數(shù)
{
int j;
j=60000;
while(j--);
}
這個延時函數(shù)在51需要大約1秒左右;而AVR大約在100ms多左右。
評論