//设置计数器为1kHZ,即1ms

  OCR1A = 1999;// = (16*10^6)/(1000*8) - 1 (must be <65536)

  TCCR1B |= (1 << WGM12);//打开CTC模式

  TCCR1B |= (1 << CS11);//设置CS11位为1(8倍预分频)

  TIMSK1 |= (1 << OCIE1A);

  //设置定时器2为8kHz

  TCCR2A = 0;// set entire TCCR2A register to 0

  TCCR2B = 0;// same for TCCR2B

  TCNT2  = 0;//initialize counter value to 0

  // set compare match register for 8khz increments

  OCR2A = 249;// = (16*10^6) / (8000*8) - 1 (must be <256)

  // turn on CTC mode

  TCCR2A |= (1 << WGM21);//打开CTC模式

  // Set CS21 bit for 8 prescaler

  TCCR2B |= (1 << CS21);   

  // enable timer compare interrupt

  TIMSK2 |= (1 << OCIE2A);

  sei();//打开全局中断

}

//中断0服务函数

ISR(TIMER0_COMPA_vect){// timer0中断2Hz切换引脚13(LED)

//产生频率为10kHz / 2 = 5kHz的脉冲波

  if(toggle0){

    digitalWrite(8,HIGH);

    toggle0 = 0;

  }

  else{

    digitalWrite(8,LOW);

    toggle0 = 1;

  }

}

ISR(TIMER1_COMPA_vect){// timer1中断2Hz切换引脚13(LED)

//产生频率为2Hz / 2 = 1Hz的脉冲波

  if(toggle1>=500)

    digitalWrite(13,HIGH);

  if(toggle1<=500)

    digitalWrite(13,LOW);

  toggle1 += 1;

  if(toggle1 >= 1000)

    toggle1 = 0;

}

ISR(TIMER2_COMPA_vect){// timer2中断8kHz切换引脚9

//产生频率为8kHz / 2 = 4kHz的脉冲波

  if(toggle2){

    digitalWrite(9,HIGH);

    toggle2 = 0;

  }

  else{

    digitalWrite(9,LOW);

    toggle2 = 1;

  }

}

//loop function

void loop(){

}

3。4 定时器中断的使用

        使用定时器中断前,必须先安装对应的 Timer 库,然后导入到 Arduino 的库文件里,并在程序中引用头文件 Timer。h 。

        实例:

// 秒切换一次引脚13的电平

// 包含定时器库的头文件

#include <FlexiTimer2。h>

// 中断服务程序

void flash() {

  static boolean output = HIGH;

  digitalWrite(13, output);

  output = !output;

}

void setup() {

  pinMode(13, OUTPUT);

  FlexiTimer2::set(500, flash); // 中断设置函数,每 500ms 进入一次中断

  FlexiTimer2::start();                    // 开始计时

}

void loop() {

}

其他 Timer 的使用基本一样,只要找到合适的库函数就能够使用,注意使用的定时器不要和你已使用的封装函数冲突,比如对于 UNO 来说,你在使用 Servo。h 的时候,就不能再使用 timer1 了,此时IDE会给你编译报错。

上一篇:参与式预算调查问卷表
下一篇:flag_activity_clear_top标记作用

索爱mt15i论坛

房车旅游问卷调查表

聊斋女狐

天涯时空

小月月是真的吗

领导全国武装力量的是哪个部门

例外管理

磁流变液可控阻尼离合器的设计+CAD图纸

股票个别风险和预期收益率的关系

17岁學生怎么兼职赚钱,...

浅谈全球价值链视角下传...

陶渊明赠答诗与嵇康赠答诗文献综述

浅谈地质灾害及其分布规律【2498字】

crm成功案例分析crm成功案例

学院教职工体育活动现状调查问卷表

關于民办高校人才队伍建...

小學生语文學习兴趣的激发与培养【2255字】