①浮空輸入_IN_FLOATING//串口輸入
②帶上拉輸入_IPU
③帶下拉輸入_IPD
④模擬輸入_AIN
⑤開漏輸出_OUT_OD
⑥推挽輸出_OUT_PP//置位
⑦復(fù)用功能的推挽輸出_AF_PP//串口輸出
⑧復(fù)用功能的開漏輸出_AF_OD
推挽輸出與開漏輸出的區(qū)別
推挽輸出:可以輸出高,低電平,連接數(shù)字器件;
開漏輸出:輸出端相當(dāng)于三極管的集電極.要得到高電平狀態(tài)需要上拉電阻才行.適合于做電流型的驅(qū)動,其吸收電流的能力相對強(qiáng)(一般20ma以內(nèi)).
推挽結(jié)構(gòu)一般是指兩個三極管分別受兩互補(bǔ)信號的控制,總是在一個三極管導(dǎo)通的時候另一個截止.
要 實現(xiàn)線與需要用OC(opencollector)門電路.是兩個參數(shù)相同的三極管或MOSFET,以推挽方式存在于電路中,各負(fù)責(zé)正負(fù)半周的波形 放大任務(wù),電路工作時,兩只對稱的功率開關(guān)管每次只有一個導(dǎo)通,所以導(dǎo)通損耗小,效率高。輸出既可以向負(fù)載灌電流,也可以從負(fù)載抽取電流。
Push- Pull輸出就是一般所說的推挽輸出,在CMOS電路里面應(yīng)該較CMOS輸出更合適,應(yīng)為在CMOS里面的push-pull輸出能力不可能做得雙極那么 大。輸出能力看IC內(nèi)部輸出極N管P管的面積。和開漏輸出相比,push-pull的高低電平由IC的電源低定,不能簡單的做邏輯操作等。 push-pull是現(xiàn)在CMOS電路里面用得最多的輸出級設(shè)計方式。
at91rm9200GPIO模擬I2C接口時注意!!
漏級開路即高阻狀態(tài),適用于輸入/輸出,其可獨立輸入/輸出低電平和高阻狀態(tài),若需要產(chǎn)生高電平,則需使用外部上拉電阻或使用如LCX245等電平轉(zhuǎn)換芯 片。有些朋友,尤其是未學(xué)過此方面知識的朋友,在實際工作中將I/O口設(shè)置為漏開,并想輸出高電平,但向口線上寫1后對方并未認(rèn)出高電平,但用萬用表測量 引腳確有電壓,這種認(rèn)為是不對的,對于高阻狀態(tài)來說,測量電壓是無意義的,正確的方法應(yīng)是外加上拉電阻,上拉電阻的阻值=上拉電壓/芯片引腳最大灌(拉) 電流。
推挽方式可完全獨立產(chǎn)生高低電平,推挽方式為低阻,這樣,才能保證口線上不分走電壓或分走極小的電壓(可忽略),保證輸出與電源相同的高電平,推挽適用于輸出而不適用于輸入,因為若對推挽(低阻)加高電平后,I=U/R,I會很大,將造成口的燒毀。
對于C8051F的很多型號片子,將I/O口設(shè)置為推挽方式的做法為:PnMDOUT=0xff,Pn=0x00,這樣設(shè)置I/O口為推挽,并輸出低電平 (可降低功耗)將I/O口設(shè)置為漏開方式的做法為:PnMDOUT=0x00,Pn=0x11,這樣設(shè)置I/O口為漏開。
如果學(xué)過三極管放大電路一定知道,前置單管放大器和功放末級放大電路的區(qū)別。單片機(jī)內(nèi)部的邏輯經(jīng)過內(nèi)部的邏輯運算后需要輸出到外面,外面的器件可能需要較大的電流才能推動,因此在單片機(jī)的輸出端口必須有一個驅(qū)動電路。