找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3721|回复: 0
打印 上一主题 下一主题
收起左侧

TimerInterrupt.h头文件下载-AVR单片机的通用定时/计数器中断控制

[复制链接]
跳转到指定楼层
楼主
ID:71259 发表于 2014-12-30 12:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在代码下方点复制代码,然后另存到电脑磁盘即可下载.
  1. /*****************************************************************************

  2.       单    位:广西民族大学物理与电子工程学院07物本班
  3.       文件名称:PORT.H
  4.       文件标识:_PORT_H_
  5.       摘    要:AVR单片机的通用定时/计数器中断控制头文件
  6.       当前版本:V1.0
  7.       作    者: 【白 羽】
  8.       完成日期:2010年11月16日

  9. *****************************************************************************/
  10. #ifndef  _TIMERINTERRUPT_H_
  11. #define  _TIMERINTERRUPT_H_


  12. #define  OC2            (1 << 7)             //比较匹配2
  13. #define  OV2            (1 << 6)             //定时溢出2
  14. #define  ICP1           (1 << 5)             //输入捕获1
  15. #define  OC1A           (1 << 4)             //比较匹配1A
  16. #define  OC1B           (1 << 3)             //比较匹配1B
  17. #define  OV1            (1 << 2)             //定时溢出1
  18. #define  OC0            (1 << 1)             //比较匹配0
  19. #define  OV0            (1 << 0)             //定时溢出0


  20. #define  ICP3           (1 << 13)            //输入捕获3
  21. #define  OC3A           (1 << 12)            //比较匹配3A
  22. #define  OC3B           (1 << 11)            //比较匹配3B
  23. #define  OV3            (1 << 10)            //定时溢出3
  24. #define  OC3C           (1 << 9)             //比较匹配3C
  25. #define  OC1C           (1 << 8)             //比较匹配1C


  26. #define  iv_OC2         iv_TIMER2_COMP       //比较匹配2
  27. #define  iv_OV2         iv_TIMER2_OVF        //定时溢出2
  28. #define  iv_ICP1        iv_TIMER1_CAPT       //输入捕获1
  29. #define  iv_OC1A        iv_TIMER1_COMPA      //比较匹配1A
  30. #define  iv_OC1B        iv_TIMER1_COMPB      //比较匹配1B
  31. #define  iv_OV1         iv_TIMER1_OVF        //定时溢出1
  32. #define  iv_OC0         iv_TIMER0_COMP       //比较匹配0
  33. #define  iv_OV0         iv_TIMER0_OVF        //定时溢出0

  34. #define  iv_ICP3        iv_TIMER3_CAPT       //输入捕获3
  35. #define  iv_OC3A        iv_TIMER3_COMPA      //比较匹配3A
  36. #define  iv_OC3B        iv_TIMER3_COMPB      //比较匹配3B
  37. #define  iv_OV3         iv_TIMER3_OVF        //定时溢出3
  38. #define  iv_OC3C        iv_TIMER3_COMPC      //比较匹配3C
  39. #define  iv_OC1C        iv_TIMER1_COMPC      //比较匹配1C




  40. #ifdef   ETIMSK
  41. #define  ETIMSK_SET(X)  if((X)/256 != 0)  ETIMSK |= (X)/256
  42. #define  ETIMSK_CLR(X)  if((X)/256 != 0)  ETIMSK &= ~((X)/256)
  43. #else
  44. #define  ETIMSK_SET(X)
  45. #define  ETIMSK_CLR(X)
  46. #endif


  47. #ifdef   ETIFR
  48. #define  ETIFR_SET(X)  if((X)/256 != 0)  ETIFR |= (X)/256
  49. #else
  50. #define  ETIFR_SET(X)
  51. #endif



  52. #define  EnableTimerInterrupt(X)                                   \
  53.    do{                                                             \
  54.       if((X)%256 != 0)  TIMSK |= (X)%256 ;                         \
  55.       ETIMSK_SET(X);                                               \
  56.    }while(0)


  57. #define  UnEnableTimerInterrupt(X)    DisableTimerInterrupt(X)
  58. #define  DisableTimerInterrupt(X)                                  \
  59.    do{                                                             \
  60.       if((X)%256 != 0)  TIMSK &= ~((X)%256);                       \
  61.       ETIMSK_CLR(X);                                               \
  62.    }while(0)



  63. #define  ClearTimerInterrupt(X)       ClearTimerInterruptFlag(X)
  64. #define  ClearTimerInterruptFlag(X)                                \
  65.    do{                                                             \
  66.       if((X)%256 != 0)  TIFR |= (X)%256;                           \
  67.       ETIFR_SET(X);                                                \
  68.    }while(0)


  69. #ifndef  SEI
  70. #define  SEI()         asm("sei")
  71. #endif


  72. #ifndef  CLI
  73. #define  CLI()         asm("cli")
  74. #endif




  75. #endif
复制代码



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表