timer.c

来自「包含无线收发模块 NREF905的所有功能库函数 本库函数与外部函数接口简单易用」· C语言 代码 · 共 37 行

C
37
字号
#include <stdio.h>
#include <iom8v.h>
#include <macros.h>
extern unsigned char  value_T,set_data;

void timer0_init(void) //CTC模式输出1KHz/2KHz方波
{
 //CLI(); //disable all interrupts
 //MCUCR = 0x00;
 //GICR  = 0x00;
 //TIMSK = 0x01; //timer interrupt sources
 
 TCCR0 = 0x00; //stop
 TCNT0 = 155;       // set count
 TCCR0 = 0x01;   //start timer
 //SEI();          //re-enable interrupts
}




#pragma interrupt_handler timer0_ovf_isr:10
void timer0_ovf_isr(void)
{static unsigned int i=0;
 TCNT0 =155 ;                 //reload counter value
 
 i++;
 // value_T++;
 if(i==100)
  { value_T++;
    i=0;
  }
 if(i < set_data)
	  PORTC|=BIT(PC3);
 else
	 PORTC&=~BIT(PC3);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?