AVR外部晶振是否起振的测试小程序

#include <avr/io.h>

#include <util/delay.h>

void delay_1ms(void)                    //1ms延时函数 主频为16MHz

 { 
  _delay_loop_2(4000);            // 16-bit count,4 cycles/loop

 }   

 // 4000*4/16000000=1ms,使用不同的晶振,可以自己来计算出()里的值,当F_CPU为内部1MHz时,()里面为250,按照

// 前面文章所说的方法设置好熔丝位把内部时钟由1MHz改为16MHz后,我们可以根据小灯的闪烁频率来观察晶振是否起振

 int main (void)
 {
  int i;
  DDRB=0xff;
  while(1)
  {
  PORTB=0B00000001;
  for(i=0;i<1000;i++)

  delay_1ms();

  PORTB=0B00000010;
  for(i=0;i<1000;i++)
  delay_1ms();
  }
 }

你可能感兴趣的:(AVR外部晶振是否起振的测试小程序)