久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
PORT.H頭文件下載-AVR定時器通用IO端口定義
[打印本頁]
作者:
daming
時間:
2014-12-30 12:31
標題:
PORT.H頭文件下載-AVR定時器通用IO端口定義
本帖最后由 daming 于 2014-12-30 12:41 編輯
在代碼下方點復制代碼,然后另存到電腦磁盤即可下載.
/*****************************************************************************
單 位:廣西民族大學物理與電子工程學院07物本班
文件名稱:PORT.H
文件標識:_PORT_H_
摘 要:AVR定時器通用IO端口定義
當前版本:V2.0
作 者 【白 羽】
完成日期:2010年11月16日
*****************************************************************************/
#ifndef _PORT_H_
#define _PORT_H_
#define P(X,Y) (BYPORT(X)*256+BYBIT(Y)) //合并引腳信息
#define BYPORT(X) BYPORT_##X //端口
#define BYPORT_A 0 //A口
#define BYPORT_B 1 //B口
#define BYPORT_C 2 //C口
#define BYPORT_D 3 //D口
#define BYPORT_E 4 //E口
#define BYPORT_F 5 //F口
#define BYPORT_G 6 //G口
#define BYBIT(X) BYBIT_##X //口線
#define BYBIT_0 (1 << 0) //位0
#define BYBIT_1 (1 << 1) //位1
#define BYBIT_2 (1 << 2) //位2
#define BYBIT_3 (1 << 3) //位3
#define BYBIT_4 (1 << 4) //位4
#define BYBIT_5 (1 << 5) //位5
#define BYBIT_6 (1 << 6) //位6
#define BYBIT_7 (1 << 7) //位7
#define BYBIT_H 0XF0 //高四位
#define BYBIT_L 0X0F //低四位
#define BYBIT_W 0XFF //全八位
#define BIT(X) (1 << (X)) //位X
#define SetBit(var,X) (var) |= 1<<(X) //置位
#define ClrBit(var,X) (var) &= ~(1<<(X)) //清零
#define TogBit(var,X) (var) ^= 1<<(X) //取反
#define TestBit(var,X) ((var) & (1<<(X))) //測試
#define SET(X) PORT(X) |= (X)%256 //置數據位
#define CLR(X) PORT(X) &= ~((X)%256) //清數據位
#define PTOG(X) PORT(X) ^= (X)%256 //取反數據位
#define OUT(X) DDR(X) |= (X)%256 //數據方向:輸出
#define IN(X) DDR(X) &= ~((X)%256) //數據方向:輸入
#define DTOG(X) DDR(X) ^= (X)%256 //數據方向:轉換
#define READ(X) (PIN(X) & ((X)%256)) //讀取數據引腳電平
#ifndef PORTA
#define PORTA (*(volatile unsigned char *)0x00)
#define DDRA (*(volatile unsigned char *)0x00)
#define PINA (*(volatile unsigned char *)0x00)
#endif
#ifndef PORTB
#define PORTB (*(volatile unsigned char *)0x00)
#define DDRB (*(volatile unsigned char *)0x00)
#define PINB (*(volatile unsigned char *)0x00)
#endif
#ifndef PORTC
#define PORTC (*(volatile unsigned char *)0x00)
#define DDRC (*(volatile unsigned char *)0x00)
#define PINC (*(volatile unsigned char *)0x00)
#endif
#ifndef PORTD
#define PORTD (*(volatile unsigned char *)0x00)
#define DDRD (*(volatile unsigned char *)0x00)
#define PIND (*(volatile unsigned char *)0x00)
#endif
#ifndef PORTE
#define PORTE (*(volatile unsigned char *)0x00)
#define DDRE (*(volatile unsigned char *)0x00)
#define PINE (*(volatile unsigned char *)0x00)
#endif
#ifndef PORTF
#define PORTF (*(volatile unsigned char *)0x00)
#define DDRF (*(volatile unsigned char *)0x00)
#define PINF (*(volatile unsigned char *)0x00)
#endif
#ifndef PORTG
#define PORTG (*(volatile unsigned char *)0x00)
#define DDRG (*(volatile unsigned char *)0x00)
#define PING (*(volatile unsigned char *)0x00)
#endif
#define ADDRESS0 (*(volatile unsigned char *)0x00)
#define PORT(X) \
(*( \
(X)/256 == 0 ? &PORTA : \
(X)/256 == 1 ? &PORTB : \
(X)/256 == 2 ? &PORTC : \
(X)/256 == 3 ? &PORTD : \
(X)/256 == 4 ? &PORTE : \
(X)/256 == 5 ? &PORTF : \
(X)/256 == 6 ? &PORTG : &ADDRESS0 \
))
#define DDR(X) \
(*( \
(X)/256 == 0 ? &DDRA : \
(X)/256 == 1 ? &DDRB : \
(X)/256 == 2 ? &DDRC : \
(X)/256 == 3 ? &DDRD : \
(X)/256 == 4 ? &DDRE : \
(X)/256 == 5 ? &DDRF : \
(X)/256 == 6 ? &DDRG : &ADDRESS0 \
))
#define PIN(X) \
(*( \
(X)/256 == 0 ? &PINA : \
(X)/256 == 1 ? &PINB : \
(X)/256 == 2 ? &PINC : \
(X)/256 == 3 ? &PIND : \
(X)/256 == 4 ? &PINE : \
(X)/256 == 5 ? &PINF : \
(X)/256 == 6 ? &PING : &ADDRESS0 \
))
#endif
復制代碼
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产欧美在线一区二区
|
国产一区二区不卡
|
国产亚洲一区二区在线观看
|
久久久久99
|
伊人最新网址
|
www精品美女久久久tv
|
国产一区欧美
|
狠狠躁18三区二区一区
|
一区二区三区四区在线视频
|
一级黄色片在线免费观看
|
色婷婷狠狠
|
日韩一区二区三区视频在线播放
|
日韩伦理一区二区三区
|
风间由美一区二区三区在线观看
|
我我色综合
|
国产一区免费
|
51ⅴ精品国产91久久久久久
|
可以在线观看av的网站
|
国产在线一区二区三区
|
精品欧美一区二区三区久久久
|
拍真实国产伦偷精品
|
人人澡视频
|
欧美三级成人理伦
|
国产一区二区三区视频
|
99久久99
|
av性色全交蜜桃成熟时
|
日本黄色一级片视频
|
亚洲人va欧美va人人爽
|
一区二区三区四区免费视频
|
日韩小视频在线
|
国产一级淫片免费视频
|
久久婷婷国产麻豆91
|
亚洲每日更新
|
国产一区二区在线播放
|
美女国内精品自产拍在线播放
|
欧美一区二区三区在线观看
|
国产一级片一区二区三区
|
欧美 日韩 国产 成人 在线
|
99re热精品视频国产免费
|
日韩在线观看一区
|
色综合久
|