📄 timer.c
字号:
#define TIMER_C
#include "includes.h"
unsigned char TC0_count=1,TC2_count=1;
unsigned int AD_count=1;
void init_timer0(void)
{
SET_TIMER0_1; //T/C0工作于定时方式,系统时钟
SET_TCNT0; //计数初值
SET_TIMER0_TOIE; //使能T0溢出中断
}
#pragma vector = TIMER0_OVF_vect //AD采样控制中断
__interrupt void TOver0_isr( void )
{
SET_TCNT0;
switch(AD_count)
{
case(10*AD_point)://采满15个周期进入B采样
ADchanel(VB);
AD_Statue = CONVERTING;
break;
case(30*AD_point)://采满30个周期进入C采样
ADchanel(VC);
AD_Statue = CONVERTING;
break;
case(45*AD_point)://采满45个周期AD采样结束
AD_Statue = FINISHED;
set_adrefrash;
break;
case(50*AD_point)://采满50个周期进入新一秒采样
ADchanel(VA);
AD_Statue = CONVERTING;
AD_count = 1;
UA_sum = 0;
break;
}
if(TC0_count>=TO0_TIMES)//一轮采样
{
AD_VX;
TC0_count=1;
AD_count++;
}
else
{
TC0_count++;
}
}
void init_timer2(void)
{
SET_TIMER2_32; //T/C2工作于定时方式,系统时钟
SET_TCNT2; //计数初值
SET_TIMER2_TOIE; //使能T2溢出中断
}
#pragma vector = TIMER2_OVF_vect//基本时钟
__interrupt void TOver2_isr( void )
{
SET_TCNT2;
}
/*
if(PIND&0xf0)
PORTD=PIND&0x0f;
else
PORTD=PIND|0xf0;
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -