1、8bit MCU 通用I/O 結(jié)構(gòu)圖
端口模塊如下圖(79系列圖):
2、相關(guān)設(shè)置寄存器及注意事項(xiàng):
端口控制寄存器
PxCR寄存器控制I/O輸入輸出狀態(tài)設(shè)置。
當(dāng)寄存器設(shè)置成輸入模式時(shí),Px寄存器讀取的是端口電平狀態(tài)。
當(dāng)寄存器設(shè)置成輸出模式時(shí),Px寄存器讀取的是數(shù)據(jù)寄存器的值。
如有未使用到的I/O,需要設(shè)置輸出固定電平以免I/O浮動(dòng)電平帶來的漏電流。
端口上拉電阻控制寄存器
端口數(shù)據(jù)寄存器
79系列單片機(jī) Px 寄存器都在位尋址區(qū)(例如:80H,88H等),都可以進(jìn)行位尋址操作。
在初始化設(shè)施PxCR(輸出狀態(tài))前,請(qǐng)優(yōu)先設(shè)置Px寄存器,避免WDT,,OVL等復(fù)位帶來的端口電平變化。
當(dāng)PxCR寄存器設(shè)置成輸入狀態(tài)時(shí),操作讀取對(duì)應(yīng)Px,是讀取對(duì)應(yīng)引腳電平狀態(tài)。
當(dāng)PxCR寄存器設(shè)置成輸出狀態(tài)時(shí),根據(jù)指令來分別對(duì)應(yīng) 讀取的是寄存器還是引腳電平。
端口寄存器讀-改-寫指令舉例:
ANL P0, #立即數(shù) ; P0->立即數(shù) (與)P0->P0
ORL P0, A ; P0->A|(或)P0->P0
INC P0 ; P0->P0+1->P0
CPL P0.0 ; P0.0->P0.0~(取反)->P0.0
引腳電平讀取指令舉例:
MOV A,P0 ; P0->A
MOV R0, P0 ; P0->R0
不管端口是否共享為其它功能,對(duì)端口寫操作都是針對(duì)端口數(shù)據(jù)寄存器。
當(dāng)?shù)诙δ苡袥_突時(shí),按照端口共享表格中的優(yōu)先級(jí)來決定輸出功能。
通常I/O的優(yōu)先級(jí)是低于其他功能的。
以下圖為例,當(dāng)P0.6引腳上BUZ功能和LED功能同時(shí)選中時(shí),引腳輸出LED波形。
當(dāng)允許端口復(fù)用為其它功能時(shí),用戶可以修改PxCR﹑PxPCR,但在復(fù)用的其它功能被禁止前,這些操作不會(huì)影響端口狀態(tài)。
當(dāng)允許端口復(fù)用為其它功能時(shí),任何對(duì)端口的讀寫操作只會(huì)影響到數(shù)據(jù)寄存器的值,端口引腳值保持不變,直到復(fù)用的其它功能關(guān)閉。
3、 I/O開漏模式介紹:
在I/O章節(jié)有選擇N溝道開漏功能的寄存器時(shí),可以實(shí)現(xiàn)I/O的N溝道開漏功能(注意上圖紅線處,IO管腳的電壓不得超過VDD+0.3V電壓)
如果I/O章節(jié)沒有該選項(xiàng)的寄存器,但是又有TWI通訊功能,那么在TWI功能開啟時(shí),引腳自動(dòng)切換成N溝道開溝。關(guān)閉TWI功能,自動(dòng)切換回普通I/O。
芯片的電源輸入端建議加去耦電路,防止VDD端出現(xiàn)瞬間的高壓引入導(dǎo)致的電路損壞。
4、施密特及TTL功能介紹:
施密特功能介紹:
施密特輸入特性是輸入高電平閾值為0.8VDD,輸入低電平閾值為0.2VDD。
VDD=5V舉例,輸入高電平>=4V,端口讀取的電平為高,輸入低電平<=1V,端口讀取的電平為低。相對(duì)應(yīng)的引腳是否具有施密特功能,請(qǐng)查詢電氣特性章節(jié)(輸入高電壓2和輸入低電壓2中注明有施密特功能的引腳,例如INT0-4,T3-T5等)。普通I/O不具有施密特功能。
TTL功能介紹:
TTL電平輸入特性是
1) 輸入高電平閾值為0.25VDD+0.8,輸入低電平閾值為0.15VDD(VDD=2.7V~4.5V)
以VDD=3.3V舉例,輸入高電平>=1.625V,端口讀取的電平為高,輸入低電平<=0.495V,端口讀取的電平為低。
2)輸入高電平閾值為2.0V,輸入低電平閾值為0.8V(VDD=4.5V~5.5V)
以VDD=5 V舉例,輸入高電平>=2V,端口讀取的電平為高,輸入低電平<=0.8V,端口讀取的電平為低。
選擇TTL電平功能可與VDD電壓為3.3V的WIFI模塊直接通過以Uart或者TWI的方式通訊,又或者直接接收外部中斷信號(hào)(INT0-4),不需要外加電平轉(zhuǎn)換電路。(芯片是否有TTL功能請(qǐng)查詢I/O章節(jié)及電氣特性章節(jié))
端口輸入模式選擇寄存器如下(TTL和CMOS選擇)
*:CPU在任何情況下,讀取端口數(shù)據(jù)寄存器(P0,P1……),其輸入高電平閾值為0.7VDD,輸入低電平閾值為0.3VDD(CMOS邏輯,無施密特);該控制位控制的是其他功能輸入的邏輯電平狀態(tài),例如:INT0 - 4,RXD,SDA等數(shù)字電平輸入。
注意:TTL電平特性,詳情請(qǐng)見規(guī)格書電氣特性章節(jié)。
來源:中穎電子
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請(qǐng)聯(lián)系小編進(jìn)行處理
審核編輯 黃宇
-
單片機(jī)
+關(guān)注
關(guān)注
6026文章
44452瀏覽量
630827
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論