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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5043|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

PORT.H頭文件下載-AVR定時器通用IO端口定義

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:71259 發(fā)表于 2014-12-30 12:31 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 daming 于 2014-12-30 12:41 編輯

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

  2.       單    位:廣西民族大學(xué)物理與電子工程學(xué)院07物本班
  3.       文件名稱:PORT.H
  4.       文件標(biāo)識:_PORT_H_
  5.       摘    要:AVR定時器通用IO端口定義
  6.       當(dāng)前版本:V2.0
  7.       作    者 【白 羽】
  8.       完成日期:2010年11月16日

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


  12. #define   P(X,Y)            (BYPORT(X)*256+BYBIT(Y))   //合并引腳信息


  13. #define   BYPORT(X)         BYPORT_##X                 //端口
  14. #define   BYPORT_A          0                          //A口
  15. #define   BYPORT_B          1                          //B口
  16. #define   BYPORT_C          2                          //C口
  17. #define   BYPORT_D          3                          //D口
  18. #define   BYPORT_E          4                          //E口
  19. #define   BYPORT_F          5                          //F口
  20. #define   BYPORT_G          6                          //G口


  21. #define   BYBIT(X)          BYBIT_##X                  //口線
  22. #define   BYBIT_0           (1 << 0)                   //位0
  23. #define   BYBIT_1           (1 << 1)                   //位1
  24. #define   BYBIT_2           (1 << 2)                   //位2
  25. #define   BYBIT_3           (1 << 3)                   //位3
  26. #define   BYBIT_4           (1 << 4)                   //位4
  27. #define   BYBIT_5           (1 << 5)                   //位5
  28. #define   BYBIT_6           (1 << 6)                   //位6
  29. #define   BYBIT_7           (1 << 7)                   //位7
  30. #define   BYBIT_H           0XF0                       //高四位
  31. #define   BYBIT_L           0X0F                       //低四位
  32. #define   BYBIT_W           0XFF                       //全八位


  33. #define   BIT(X)            (1 << (X))                 //位X
  34. #define   SetBit(var,X)     (var) |= 1<<(X)            //置位
  35. #define   ClrBit(var,X)     (var) &= ~(1<<(X))         //清零
  36. #define   TogBit(var,X)     (var) ^= 1<<(X)            //取反
  37. #define   TestBit(var,X)    ((var) & (1<<(X)))         //測試


  38. #define   SET(X)            PORT(X) |=  (X)%256        //置數(shù)據(jù)位
  39. #define   CLR(X)            PORT(X) &= ~((X)%256)      //清數(shù)據(jù)位
  40. #define   PTOG(X)           PORT(X) ^=  (X)%256        //取反數(shù)據(jù)位
  41. #define   OUT(X)            DDR(X)  |=  (X)%256        //數(shù)據(jù)方向:輸出
  42. #define   IN(X)             DDR(X)  &= ~((X)%256)      //數(shù)據(jù)方向:輸入
  43. #define   DTOG(X)           DDR(X)  ^=  (X)%256        //數(shù)據(jù)方向:轉(zhuǎn)換
  44. #define   READ(X)           (PIN(X) & ((X)%256))       //讀取數(shù)據(jù)引腳電平


  45. #ifndef  PORTA
  46. #define  PORTA              (*(volatile unsigned char *)0x00)
  47. #define  DDRA               (*(volatile unsigned char *)0x00)
  48. #define  PINA               (*(volatile unsigned char *)0x00)
  49. #endif

  50. #ifndef  PORTB
  51. #define  PORTB              (*(volatile unsigned char *)0x00)
  52. #define  DDRB               (*(volatile unsigned char *)0x00)
  53. #define  PINB               (*(volatile unsigned char *)0x00)
  54. #endif

  55. #ifndef  PORTC
  56. #define  PORTC              (*(volatile unsigned char *)0x00)
  57. #define  DDRC               (*(volatile unsigned char *)0x00)
  58. #define  PINC               (*(volatile unsigned char *)0x00)
  59. #endif

  60. #ifndef  PORTD
  61. #define  PORTD              (*(volatile unsigned char *)0x00)
  62. #define  DDRD               (*(volatile unsigned char *)0x00)
  63. #define  PIND               (*(volatile unsigned char *)0x00)
  64. #endif

  65. #ifndef  PORTE
  66. #define  PORTE              (*(volatile unsigned char *)0x00)
  67. #define  DDRE               (*(volatile unsigned char *)0x00)
  68. #define  PINE               (*(volatile unsigned char *)0x00)
  69. #endif

  70. #ifndef  PORTF
  71. #define  PORTF              (*(volatile unsigned char *)0x00)
  72. #define  DDRF               (*(volatile unsigned char *)0x00)
  73. #define  PINF               (*(volatile unsigned char *)0x00)
  74. #endif

  75. #ifndef  PORTG
  76. #define  PORTG              (*(volatile unsigned char *)0x00)
  77. #define  DDRG               (*(volatile unsigned char *)0x00)
  78. #define  PING               (*(volatile unsigned char *)0x00)
  79. #endif


  80. #define  ADDRESS0           (*(volatile unsigned char *)0x00)



  81. #define  PORT(X)                                       \
  82.    (*(                                                 \
  83.       (X)/256 == 0 ? &PORTA :                          \
  84.       (X)/256 == 1 ? &PORTB :                          \
  85.       (X)/256 == 2 ? &PORTC :                          \
  86.       (X)/256 == 3 ? &PORTD :                          \
  87.       (X)/256 == 4 ? &PORTE :                          \
  88.       (X)/256 == 5 ? &PORTF :                          \
  89.       (X)/256 == 6 ? &PORTG : &ADDRESS0                \
  90.    ))


  91. #define  DDR(X)                                        \
  92.    (*(                                                 \
  93.       (X)/256 == 0 ? &DDRA :                           \
  94.       (X)/256 == 1 ? &DDRB :                           \
  95.       (X)/256 == 2 ? &DDRC :                           \
  96.       (X)/256 == 3 ? &DDRD :                           \
  97.       (X)/256 == 4 ? &DDRE :                           \
  98.       (X)/256 == 5 ? &DDRF :                           \
  99.       (X)/256 == 6 ? &DDRG : &ADDRESS0                 \
  100.    ))



  101. #define  PIN(X)                                        \
  102.    (*(                                                 \
  103.       (X)/256 == 0 ? &PINA :                           \
  104.       (X)/256 == 1 ? &PINB :                           \
  105.       (X)/256 == 2 ? &PINC :                           \
  106.       (X)/256 == 3 ? &PIND :                           \
  107.       (X)/256 == 4 ? &PINE :                           \
  108.       (X)/256 == 5 ? &PINF :                           \
  109.       (X)/256 == 6 ? &PING : &ADDRESS0                 \
  110.    ))




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


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 狠狠操狠狠干 | 毛片一级片 | 国产精品美女久久久久久免费 | 在线观看av网站 | 黄免费在线 | 国产精品色 | 久久久久久久99 | 国内精品伊人久久久久网站 | 婷婷五月色综合 | av网址在线播放 | 天天色图 | 爱爱免费视频网站 | 成人在线黄色 | japanhd成人 | 99久久久久国产精品免费 | 一本大道久久a久久精二百 欧洲一区二区三区 | 成人午夜看片 | 精品国产精品一区二区夜夜嗨 | 久久久精品久久久 | 精品粉嫩aⅴ一区二区三区四区 | 久久久影院 | 欧美日韩一区在线播放 | 欧美性网 | 亚洲成人一区 | 精品视频一区二区 | 日韩精品久久 | 青青草原精品99久久精品66 | 亚洲精品99 | 精品国产18久久久久久二百 | 久久免费资源 | www.99热.com| 亚洲午夜av | 成人黄色av网址 | 噜噜噜色网 | 中文字幕一区二区三区日韩精品 | 在线国产小视频 | 国产一区中文 | 国产成视频在线观看 | 精品1区2区| 免费观看成人av | 日本不卡一二三 |