久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: TimerConvert.h頭文件下載-AVR定時器參數(shù)轉(zhuǎn)換通用頭文件 [打印本頁]

作者: daming    時間: 2014-12-30 12:34
標(biāo)題: TimerConvert.h頭文件下載-AVR定時器參數(shù)轉(zhuǎn)換通用頭文件
本帖最后由 daming 于 2014-12-30 12:37 編輯

在代碼下方點復(fù)制代碼,然后另存到電腦磁盤即可下載.


  1. /*****************************************************************************

  2.       單    位:廣西民族大學(xué)物理與電子工程學(xué)院07物本班
  3.       文件名稱:TimerConvert.h
  4.       文件標(biāo)識:_TIMERCONVERT_H_
  5.       摘    要:AVR定時器參數(shù)轉(zhuǎn)換通用頭文件
  6.       當(dāng)前版本:V1.0
  7.       作    者 【白 羽】
  8.       完成日期:2010年11月16日

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


  12. #define  WGM0(WGM)   (((WGM & 0X01) << 6) | ((WGM & 0X02) << 3))
  13. #define  WGM1L(WGM)  (WGM & 0X03)
  14. #define  WGM1H(WGM)  (((WGM) & 0X0C) << 1)
  15. #define  WGM2(WGM)   (((WGM & 0X01) << 6) | ((WGM & 0X02) << 3))
  16. #define  WGM3L(WGM)  (WGM & 0X03)
  17. #define  WGM3H(WGM)  (((WGM) & 0X0C) << 1)


  18. #define  COM0(COM)   ((COM) << 4)

  19. #define  COM1A(COM)  ((COM) << 6)
  20. #define  COM1B(COM)  ((COM) << 4)
  21. #define  COM1C(COM)  ((COM) << 2)

  22. #define  COM2(COM)   ((COM) << 4)

  23. #define  COM3A(COM)  ((COM) << 6)
  24. #define  COM3B(COM)  ((COM) << 4)
  25. #define  COM3C(COM)  ((COM) << 2)


  26. /*****************************************************************************
  27. PRESCALE --> CSX[2:0]
  28. 說明:CS2(PRESCALE)使用了條件編譯,這個條件編譯是基于如下假設(shè):對于具有定時/計
  29. 數(shù)器3的AVR單片機(jī),定時/計數(shù)器2不存在外部輸入引腳; 對于沒有定時/計數(shù)器3的AVR單
  30. 單片機(jī),定時/計數(shù)器2必存在外部輸入引腳。這是一個尚未證明的假設(shè)。   ^_^
  31. 另外,如果輸入的分頻系數(shù)不對,則強(qiáng)制CSX[2:0]=0,定時/計數(shù)器拒絕運行。
  32. *****************************************************************************/
  33. #define  CS0(PRESCALE)                                        \
  34.    (                                                          \
  35.       (PRESCALE) == 0   ? 0 :                                 \
  36.       (PRESCALE) == 1   ? 1 :                                 \
  37.       (PRESCALE) == 8   ? 2 :                                 \
  38.       (PRESCALE) == 64  ? 3 :                                 \
  39.       (PRESCALE) == 256 ? 4 :                                 \
  40.       (PRESCALE) == 1024? 5 : 0                               \
  41.    )

  42. #define  CS1(PRESCALE)                                        \
  43.    (                                                          \
  44.       (PRESCALE) == 0   ? 0 :                                 \
  45.       (PRESCALE) == 1   ? 1 :                                 \
  46.       (PRESCALE) == 8   ? 2 :                                 \
  47.       (PRESCALE) == 64  ? 3 :                                 \
  48.       (PRESCALE) == 256 ? 4 :                                 \
  49.       (PRESCALE) == 1024? 5 : 0                               \
  50.    )

  51. #ifndef  TCNT3
  52. #define  CS2(PRESCALE)                                        \
  53.    (                                                          \
  54.       (PRESCALE) == 0   ? 0 :                                 \
  55.       (PRESCALE) == 1   ? 1 :                                 \
  56.       (PRESCALE) == 8   ? 2 :                                 \
  57.       (PRESCALE) == 64  ? 3 :                                 \
  58.       (PRESCALE) == 256 ? 4 :                                 \
  59.       (PRESCALE) == 1024? 5 : 0                               \
  60.    )
  61. #else
  62. #define  CS2(PRESCALE)                                        \
  63.    (                                                          \
  64.       (PRESCALE) == 0   ? 0 :                                 \
  65.       (PRESCALE) == 1   ? 1 :                                 \
  66.       (PRESCALE) == 8   ? 2 :                                 \
  67.       (PRESCALE) == 32  ? 3 :                                 \
  68.       (PRESCALE) == 64  ? 4 :                                 \
  69.       (PRESCALE) == 128 ? 5 :                                 \
  70.       (PRESCALE) == 256 ? 6 :                                 \
  71.       (PRESCALE) == 1024? 7 : 0                               \
  72.    )
  73. #endif

  74. #define  CS3(PRESCALE)                                        \
  75.    (                                                          \
  76.       (PRESCALE) == 0   ? 0 :                                 \
  77.       (PRESCALE) == 1   ? 1 :                                 \
  78.       (PRESCALE) == 8   ? 2 :                                 \
  79.       (PRESCALE) == 64  ? 3 :                                 \
  80.       (PRESCALE) == 256 ? 4 :                                 \
  81.       (PRESCALE) == 1024? 5 : 0                               \
  82.    )


  83. /*****************************************************************************
  84. STEPS --> OCRX
  85. 說明:CS2(PRESCALE)使用了條件編譯,這個條件編譯是基于如下假設(shè):對于具有定時/計
  86. 數(shù)器3的AVR單片機(jī),定時/計數(shù)器2不存在外部輸入引腳; 對于沒有定時/計數(shù)器3的AVR單
  87. 單片機(jī),定時/計數(shù)器2必存在外部輸入引腳。這是一個尚未證明的假設(shè)。   ^_^
  88. *****************************************************************************/
  89. #define  _OCR0(STEPS)                                         \
  90.    (                                                          \
  91.       (STEPS) <= 256 ? ((STEPS) - 1) :                        \
  92.       (STEPS) <= 256*8 ? ((STEPS)/8 - 1) :                    \
  93.       (STEPS) <= 256*64 ? ((STEPS)/64 - 1) :                  \
  94.       (STEPS) <= 256*256 ? ((STEPS)/256 - 1) :                \
  95.       (STEPS) <= 256*1024 ? ((STEPS)/1024 - 1) : 255          \
  96.    )

  97. #define  _OCR1(STEPS)                                         \
  98.    (                                                          \
  99.       (STEPS) <= 65536 ? ((STEPS) - 1) :                      \
  100.       (STEPS) <= 65536*8 ? ((STEPS)/8 - 1) :                  \
  101.       (STEPS) <= 65536*64 ? ((STEPS)/64 - 1) :                \
  102.       (STEPS) <= 65536*256 ? ((STEPS)/256 - 1) :              \
  103.       (STEPS) <= 65536*1024 ? ((STEPS)/1024 - 1) : 65535      \
  104.    )

  105. #ifndef  TCNT3
  106. #define  _OCR2(STEPS)                                         \
  107.    (                                                          \
  108.       (STEPS) <= 256 ? ((STEPS) - 1) :                        \
  109.       (STEPS) <= 256*8 ? ((STEPS)/8 - 1) :                    \
  110.       (STEPS) <= 256*64 ? ((STEPS)/64 - 1) :                  \
  111.       (STEPS) <= 256*256 ? ((STEPS)/256 - 1) :                \
  112.       (STEPS) <= 256*1024 ? ((STEPS)/1024 - 1) : 255          \
  113.    )
  114. #else
  115. #define  _OCR2(STEPS)                                         \
  116.    (                                                          \
  117.       (STEPS) <= 256 ? ((STEPS) - 1) :                        \
  118.       (STEPS) <= 256*8 ? ((STEPS)/8 - 1) :                    \
  119.       (STEPS) <= 256*32 ? ((STEPS)/32 - 1) :                  \
  120.       (STEPS) <= 256*64 ? ((STEPS)/64 - 1) :                  \
  121.       (STEPS) <= 256*128 ? ((STEPS)/128 - 1) :                \
  122.       (STEPS) <= 256*256 ? ((STEPS)/256 - 1) :                \
  123.       (STEPS) <= 256*1024 ? ((STEPS)/1024 - 1) : 255          \
  124.    )
  125. #endif

  126. #define  _OCR3(STEPS)                                         \
  127.    (                                                          \
  128.       (STEPS) <= 65536 ? ((STEPS) - 1) :                      \
  129.       (STEPS) <= 65536*8 ? ((STEPS)/8 - 1) :                  \
  130.       (STEPS) <= 65536*64 ? ((STEPS)/64 - 1) :                \
  131.       (STEPS) <= 65536*256 ? ((STEPS)/256 - 1) :              \
  132.       (STEPS) <= 65536*1024 ? ((STEPS)/1024 - 1) : 65535      \
  133.    )


  134. /*****************************************************************************
  135. //STEPS --> CSX[2:0]
  136. 說明:CS2(PRESCALE)使用了條件編譯,這個條件編譯是基于如下假設(shè):對于具有定時/計
  137. 數(shù)器3的AVR單片機(jī),定時/計數(shù)器2不存在外部輸入引腳; 對于沒有定時/計數(shù)器3的AVR單
  138. 單片機(jī),定時/計數(shù)器2必存在外部輸入引腳。這是一個尚未證明的假設(shè)。   ^_^
  139. *****************************************************************************/
  140. #define  _CS0(STEPS)                                          \
  141.    (                                                          \
  142.       (STEPS) == 0 ? 0 :                                      \
  143.       (STEPS) <= 256 ? 1 :                                    \
  144.       (STEPS) <= 256*8 ? 2 :                                  \
  145.       (STEPS) <= 256*64 ? 3 :                                 \
  146.       (STEPS) <= 256*256 ? 4 : 5                              \
  147.    )

  148. #define  _CS1(STEPS)                                          \
  149.    (                                                          \
  150.       (STEPS) == 0 ? 0 :                                      \
  151.       (STEPS) <= 65536 ? 1 :                                  \
  152.       (STEPS) <= 65536*8 ? 2 :                                \
  153.       (STEPS) <= 65536*64 ? 3 :                               \
  154.       (STEPS) <= 65536*256 ? 4 : 5                            \
  155.    )


  156. #ifndef  TCNT3
  157. #define  _CS2(STEPS)                                          \
  158.    (                                                          \
  159.       (STEPS) == 0 ? 0 :                                      \
  160.       (STEPS) <= 256 ? 1 :                                    \
  161.       (STEPS) <= 256*8 ? 2 :                                  \
  162.       (STEPS) <= 256*32 ? 3 :                                 \
  163.       (STEPS) <= 256*64 ? 4 :                                 \
  164.       (STEPS) <= 256*128 ? 5 :                                \
  165.       (STEPS) <= 256*256 ? 6 : 7                              \
  166.    )
  167. #else
  168. #define  _CS2(STEPS)                                          \
  169.    (                                                          \
  170.       (STEPS) == 0 ? 0 :                                      \
  171.       (STEPS) <= 256 ? 1 :                                    \
  172.       (STEPS) <= 256*8 ? 2 :                                  \
  173.       (STEPS) <= 256*64 ? 3 :                                 \
  174.       (STEPS) <= 256*256 ? 4 : 5                              \
  175.    )
  176. #endif


  177. #define  _CS3(STEPS)                                          \
  178.    (                                                          \
  179.       (STEPS) == 0 ? 0 :                                      \
  180.       (STEPS) <= 65536 ? 1 :                                  \
  181.       (STEPS) <= 65536*8 ? 2 :                                \
  182.       (STEPS) <= 65536*64 ? 3 :                               \
  183.       (STEPS) <= 65536*256 ? 4 : 5                            \
  184.    )



  185. #endif
復(fù)制代碼








歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久久午夜影院 | 中文天堂在线观看 | 免费视频二区 | 中文字幕电影在线观看 | 一区二区三区精品视频 | 伦理片97| 久久久国产一区二区三区四区小说 | 在线国产一区二区三区 | 国产精品国产精品 | 亚洲精品久久久久久下一站 | 精品视频一区二区 | 在线一区二区三区 | 亚洲 中文 欧美 日韩 在线观看 | 久久人爽 | 五月婷婷导航 | 精品国产不卡一区二区三区 | 色综合网站 | 午夜电影一区二区 | 中文字幕一区二区三区四区五区 | 99久久99久久精品国产片果冰 | 欧美啪啪网站 | 国产在线视频一区 | 国产精品久久久久久久免费大片 | 精品99在线 | 国产一区二区在线免费 | 男人的天堂avav | 韩日在线观看视频 | 国产国产精品 | 国产一区久久久 | 色婷婷综合在线观看 | wwwww在线观看 | 免费黄色在线观看 | 亚洲协和影视 | 国产久视频 | 欧美一级欧美三级在线观看 | 91看片官网| 日韩欧美国产精品综合嫩v 一区中文字幕 | 亚洲国产成人精品久久久国产成人一区 | 久久99这里只有精品 | 日韩综合网 | 99久久婷婷国产综合精品电影 |