日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀] AVR單片機的IO端口操作是撐握AVR技術的基礎,因此需要清晰的理解。下面的例子列出了操作IO端口的方法,資料來源于OURAVR。舉例一:將PB0定義為輸出,且輸出為高電平DDRB=BIT(0);//定義PB0為輸出PORTB|=

 

AVR單片機IO端口操作是撐握AVR技術的基礎,因此需要清晰的理解。下面的例子列出了操作IO端口的方法,資料來源于OURAVR。

舉例一:將PB0定義為輸出,且輸出為高電平

DDRB=BIT(0);//定義PB0為輸出

PORTB|=BIT(0);// PB0輸出高電平

舉例二:將PB0、PB1定義為輸出,PB0、PB1均為高電平

DDRB|=BIT(0)|BIT(1);//定義PB0、PB1為輸出

PORTB|=BIT(0)|BIT(1);// PB0、PB1輸出高電平

舉例三:將PB0數(shù)據(jù)寄存器的數(shù)值翻轉,即如果是1時變成0,如果是0時變成1

PORTB^=BIT(0);//翻轉PB0口

舉例四:將PB0、PB1數(shù)據(jù)寄存器的數(shù)值翻轉,即如果是1時變成0,如果是0時變成1

PORTB^=BIT(0)|BIT(1);//翻轉PB0、PB1口

舉例五:將PB2、PB3定義為輸入,不帶上拉電阻

DDRB&=~(BIT(2)|BIT(3));//定義PB2、PB3為輸入

PORTB&=~(BIT(2)|BIT(3));//將PORT置0,沒有上拉電阻

舉例六:將PB2、PB3定義為輸入,帶上拉電阻。即沒有引用這些引腳時,缺省值為高電平

SFIOR&=~BIT(PUD);// SFIOR寄存器的上拉電阻控制位PUD置0,在整個代碼中,這句話可以不出現(xiàn),或僅出現(xiàn)一次即可。因為它是一個控制全部上拉電阻的控制位。

DDRB&=~(BIT(2)|BIT(3));//定義PB2、PB3為輸入

PORTB|=BIT(2)|BIT(3);//將PORT置1,滿足上拉電阻的另一個條件

舉例七:DDRB=BIT(0)|BIT(1)與DDRB|=BIT(0)|BIT(1)的區(qū)別

假定在執(zhí)行上面兩句指令前,DDRB的狀態(tài)為:1000 0000

如果執(zhí)行DDRB="BIT"(0)|BIT(1),DDRB的狀態(tài)變?yōu)椋?000 0011
如果執(zhí)行DDRD|=BIT(0)|BIT(1),,DDRB的狀態(tài)變?yōu)椋?000 0011

那前一句會先清空以前的所有狀態(tài),后一句保留前面的狀態(tài)。

在實際應用中,后一句更常用。

舉例八:將第三位置1,除了用BIT(3),還有其它的表達方法嗎?

DDRB|=BIT(3);

DDRB|=1<<3;

DDRB|=0x08;

DDRB|=0b00001000;

 

 

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關閉