c8051f 的IO配置方法及原則
C8051F---I/0口
問:C8051F020/022的p4-p7口和p0-p3口有什么不同?
答:P0-P3口復(fù)位時(shí)為通用口,可通過Crossbar(數(shù)據(jù)交叉開關(guān))寄存器按優(yōu)先級(jí)設(shè)置成第二功能。而P4-P7口是通用口,另外P4-P7寄存器不能位尋址。
問:如果通過Crossbar寄存器使能并分配為P0.0和P0.1引腳,那么,我還可以用這兩個(gè)引腳為通用I/O嗎?
答:①如果你通過Crossbar使能一個(gè)外設(shè),如UART,那么這個(gè)外設(shè)將控制這些引腳的輸出狀態(tài)(邏輯高/邏輯低)。
②你可以在任何時(shí)刻讀引腳的狀態(tài),與Crossbar控制與否無(wú)關(guān)。
③當(dāng)被禁止時(shí),大部分外設(shè)的輸出引腳被置為高阻態(tài)(UART口是一個(gè)很好的例子)。因?yàn)閁ART收發(fā)器無(wú)明確的禁止態(tài),你可將相應(yīng)的引腳置成開漏輸出模式,也可以達(dá)到相同的結(jié)果,因?yàn)閁ART收發(fā)器在空閑時(shí)引腳為邏輯1。
總的來說,Crossbar置配后在末使用時(shí)的外設(shè)引腳可以用于數(shù)據(jù)輸入,但不能作為數(shù)據(jù)輸出。其它器件,如F3xx系列,口引腳可通過Crossbar“重新聲明”且用于GPIO引腳對(duì)器件管腳無(wú)影響,因?yàn)檫@些器件具有“引腳跳過”(PIN SKIP)特性。
問:IO口的開漏和推挽輸出如何使用?
答:將端口引腳置成推挽輸出方式,這將使能端口引腳驅(qū)動(dòng)器??傮w上來講,數(shù)據(jù)輸入端口引腳置成開漏方式、數(shù)據(jù)輸出端口引腳置成推挽方式。當(dāng)引腳用于輸出連接上拉電阻(也就是說當(dāng)與5V系統(tǒng)接口時(shí))時(shí)配置成開漏輸出。
問:引腳P1.4~P1.7中斷如何使用?
答:如果外部中斷(EX4-EX7)使能且相應(yīng)的引腳P1.4~P1.7變低(可以是外部輸入信號(hào)、寫輸出端口鎖存或是Crossbar定義的外設(shè)啟動(dòng)的事件)。那么中斷標(biāo)志(PRT1IF.n)將置位,如果全局中斷使能,將產(chǎn)生一個(gè)中斷。中斷邏輯檢測(cè)本身的邏輯狀態(tài),與產(chǎn)生邏輯狀態(tài)變化的原因無(wú)關(guān)。
問:是不是所有的C8051F系列單片機(jī)的I/O口都是5V兼容?
答:不是,例如C8051F060只有P0口是5V兼容,具體的要參照相關(guān)型號(hào)的數(shù)據(jù)手冊(cè)。
問:P4口的某些引腳已用為外部存儲(chǔ)器的控制信號(hào),剩下的口線能否作為普通I/O使用?
答:可以,但不能直接給此端口送數(shù),應(yīng)通過“與”或者“或”的方式來對(duì)此端口進(jìn)行操作。
問:為什么端口的數(shù)據(jù)寄存器置為0時(shí),其引腳上的電平還是為高電平?
答:交叉開關(guān)使能位沒有置位。
問:端口在停機(jī)(STOP)模式下是什么狀態(tài)?
答:端口在停機(jī)模式下將保持進(jìn)入停機(jī)模式前的狀態(tài)。