找回密码
 立即注册

QQ登录

只需一步,快速开始

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

TimerCommand.h头文件下载-AVR定时器命令通用头文件

[复制链接]
跳转到指定楼层
楼主
ID:71259 发表于 2014-12-30 12:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 daming 于 2014-12-30 12:37 编辑

在代码下方点复制代码,然后另存到电脑磁盘即可下载.
  1. /*****************************************************************************

  2.       单    位:广西民族大学物理与电子工程学院07物本班
  3.       文件名称:TimerCommand.h
  4.       文件标识:_TIMERCOMMAND_H_
  5.       摘    要:AVR定时器命令通用头文件
  6.       当前版本:V1.0
  7.       作    者:【白 羽】
  8.       完成日期:2010年11月16日

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



  12. #define  Timer0Config(MODE,COM,PRESCALE)                               \
  13.    TCCR0 = WGM0(TimerMode(0,MODE)) | COM0(COM) | CS0(PRESCALE)


  14. #ifndef  OCR1C
  15. #define  Timer1Config(MODE,COMA,COMB,PRESCALE)                         \
  16.    do{                                                                 \
  17.       TCCR1A = WGM1L(TimerMode(1,MODE)) | COM1A(COMA) | COM1B(COMB);   \
  18.       TCCR1B = WGM1H(TimerMode(1,MODE)) | CS1(PRESCALE);               \
  19.    }while(0)
  20. #else
  21. #define  Timer1Config(MODE,COMA,COMB,COMC,PRESCALE)                    \
  22.    do{                                                                 \
  23.       TCCR1A = WGM1L(TimerMode(1,MODE)) | COM1A(COMA)                  \
  24.              | COM1B(COMB) | COM1C(COMC);                              \
  25.       TCCR1B = WGM1H(TimerMode(1,MODE)) | CS1(PRESCALE);               \
  26.    }while(0)
  27. #endif


  28. #define  Timer2Config(MODE,COM,PRESCALE)                               \
  29.       TCCR2 = WGM2(TimerMode(2,MODE)) | COM2(COM) | CS2(PRESCALE)


  30. #define  Timer3Config(MODE,COMA,COMB,COMC,PRESCALE)                    \
  31.    do{                                                                 \
  32.       TCCR1A = WGM3L(TimerMode(3,MODE)) | COM3A(COMA)                  \
  33.              | COM3B(COMB) | COM3C(COMC);                              \
  34.       TCCR1B = WGM3H(TimerMode(3,MODE)) | CS3(PRESCALE);               \
  35.    }while(0)





  36. #ifdef   OCR0
  37. #define  Timer0Period(STEPS)                                           \
  38.    do{                                                                 \
  39.       OCR0 = _OCR0(STEPS);                                             \
  40.       TCCR0 = WGM0(TimerMode(0,CTC) | COM0(0) | _CS0(STEPS);           \
  41.    }while(0)
  42. #endif


  43. #define  Timer1Period(STEPS)                                           \
  44.    do{                                                                 \
  45.       OCR1A = _OCR1(STEPS);                                            \
  46.       TCCR1B = WGM1H(TimerMode(1,CTC)) | _CS1(STEPS);                  \
  47.    }while(0)


  48. #define  Timer2Period(STEPS)                                           \
  49.    do{                                                                 \
  50.       OCR2 = _OCR2(STEPS);                                             \
  51.       TCCR2 = WGM2(TimerMode(2,CTC)) | _CS2(STEPS);                    \
  52.    }while(0)

  53. #define  Timer3Period(STEPS)                                           \
  54.    do{                                                                 \
  55.       OCR2 = _OCR3(STEPS);                                             \
  56.       TCCR3A = WGM3H(TimerMode(3,CTC)) | _CS3(STEPS);                  \
  57.    }while(0)




  58. #define  TimerPeriod(X,STEPS)      _TimerPeriod(X,STEPS)
  59. #define  _TimerPeriod(X,STEPS)     Timer##X##Period(STEPS)



  60. #ifndef  CPUCLK
  61. #define  CPUCLK                8.0
  62. #endif

  63. #define  TimerPerioduS(X,t)    TimerPeriod(X,(t)*1.0*CPUCLK)
  64. #define  TimerPeriodmS(X,t)    TimerPeriod(X,(t)*1000.0*CPUCLK)





  65. #endif
复制代码



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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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