整理/测试:阿莫(armok) / 代码设计:HJJourAVR / 2005-08-28 / www.OurAVR.com
#include <avr/io.h> #include <avr/delay.h> //注: 内部函数_delay_ms() 最高延时 262.144mS@1MHz 即 32.768ms@8MHz // 该函数可以实现较精确的定时for()/while()指令很难计算延时时间 // 为了使 _delay_ms()函数的延时正确,须在makefile中设定F_CPU为实际的系统时钟频 // 本范例为1MHz内部RC振荡器 即 F_CPU=1000000int main(void) { unsigned char i,j,k; //定义变量 PORTA=0xFF; DDRA=0xFF; //PA口设为输出高电平,灯灭 while(1) { i=1; for (j=0;j<8;j++) //循环8次,即PA0~~PA7轮流闪亮 { PORTA=~i; //反相输出,低电平有效 for (k=0;k<10;k++) _delay_ms(30); //延时 30*10=300毫秒,可自行调节 i=i<<1; //左移一位 // 0b00000001 PA0 // 0b00000010 PA1 // 0b00000100 PA2 // 0b00001000 PA3 // 0b00010000 PA4 // 0b00100000 PA5 // 0b01000000 PA6 // 0b10000000 PA7 } }
本文关键字:源代码 AVR单片机,单片机-工控设备 - AVR单片机
上一篇:外部中断范例