標(biāo)題:
TimerInterrupt.h頭文件下載-AVR單片機(jī)的通用定時(shí)/計(jì)數(shù)器中斷控制
[打印本頁(yè)]
作者:
daming
時(shí)間:
2014-12-30 12:44
標(biāo)題:
TimerInterrupt.h頭文件下載-AVR單片機(jī)的通用定時(shí)/計(jì)數(shù)器中斷控制
在代碼下方點(diǎn)復(fù)制代碼,然后另存到電腦磁盤(pán)即可下載.
/*****************************************************************************
單 位:廣西民族大學(xué)物理與電子工程學(xué)院07物本班
文件名稱:PORT.H
文件標(biāo)識(shí):_PORT_H_
摘 要:AVR單片機(jī)的通用定時(shí)/計(jì)數(shù)器中斷控制頭文件
當(dāng)前版本:V1.0
作 者: 【白 羽】
完成日期:2010年11月16日
*****************************************************************************/
#ifndef _TIMERINTERRUPT_H_
#define _TIMERINTERRUPT_H_
#define OC2 (1 << 7) //比較匹配2
#define OV2 (1 << 6) //定時(shí)溢出2
#define ICP1 (1 << 5) //輸入捕獲1
#define OC1A (1 << 4) //比較匹配1A
#define OC1B (1 << 3) //比較匹配1B
#define OV1 (1 << 2) //定時(shí)溢出1
#define OC0 (1 << 1) //比較匹配0
#define OV0 (1 << 0) //定時(shí)溢出0
#define ICP3 (1 << 13) //輸入捕獲3
#define OC3A (1 << 12) //比較匹配3A
#define OC3B (1 << 11) //比較匹配3B
#define OV3 (1 << 10) //定時(shí)溢出3
#define OC3C (1 << 9) //比較匹配3C
#define OC1C (1 << 8) //比較匹配1C
#define iv_OC2 iv_TIMER2_COMP //比較匹配2
#define iv_OV2 iv_TIMER2_OVF //定時(shí)溢出2
#define iv_ICP1 iv_TIMER1_CAPT //輸入捕獲1
#define iv_OC1A iv_TIMER1_COMPA //比較匹配1A
#define iv_OC1B iv_TIMER1_COMPB //比較匹配1B
#define iv_OV1 iv_TIMER1_OVF //定時(shí)溢出1
#define iv_OC0 iv_TIMER0_COMP //比較匹配0
#define iv_OV0 iv_TIMER0_OVF //定時(shí)溢出0
#define iv_ICP3 iv_TIMER3_CAPT //輸入捕獲3
#define iv_OC3A iv_TIMER3_COMPA //比較匹配3A
#define iv_OC3B iv_TIMER3_COMPB //比較匹配3B
#define iv_OV3 iv_TIMER3_OVF //定時(shí)溢出3
#define iv_OC3C iv_TIMER3_COMPC //比較匹配3C
#define iv_OC1C iv_TIMER1_COMPC //比較匹配1C
#ifdef ETIMSK
#define ETIMSK_SET(X) if((X)/256 != 0) ETIMSK |= (X)/256
#define ETIMSK_CLR(X) if((X)/256 != 0) ETIMSK &= ~((X)/256)
#else
#define ETIMSK_SET(X)
#define ETIMSK_CLR(X)
#endif
#ifdef ETIFR
#define ETIFR_SET(X) if((X)/256 != 0) ETIFR |= (X)/256
#else
#define ETIFR_SET(X)
#endif
#define EnableTimerInterrupt(X) \
do{ \
if((X)%256 != 0) TIMSK |= (X)%256 ; \
ETIMSK_SET(X); \
}while(0)
#define UnEnableTimerInterrupt(X) DisableTimerInterrupt(X)
#define DisableTimerInterrupt(X) \
do{ \
if((X)%256 != 0) TIMSK &= ~((X)%256); \
ETIMSK_CLR(X); \
}while(0)
#define ClearTimerInterrupt(X) ClearTimerInterruptFlag(X)
#define ClearTimerInterruptFlag(X) \
do{ \
if((X)%256 != 0) TIFR |= (X)%256; \
ETIFR_SET(X); \
}while(0)
#ifndef SEI
#define SEI() asm("sei")
#endif
#ifndef CLI
#define CLI() asm("cli")
#endif
#endif
復(fù)制代碼
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1