新聞中心

PIC16C5X的I/O口

作者: 時(shí)間:2016-12-02 來(lái)源:網(wǎng)絡(luò) 收藏
PIC16C5X系列單片機(jī)所有I/O口都可被獨(dú)立定義為輸入或輸出口。參見圖1。作輸入口時(shí),這些端口不鎖存,外部輸入信號(hào)必須保持到讀指令讀入為止。輸出信號(hào)被鎖存并保持不變,直到被改變?yōu)橹?。要定義一個(gè)口為輸出,可直接設(shè)定對(duì)應(yīng)控制位為“0”,某位端口用于輸入,則相應(yīng)TRIS位須為“1”。

當(dāng)“TRIS f”送入“1”時(shí),Q1、Q2都截止,I/O腳成高阻狀態(tài),此時(shí)為輸入態(tài)。當(dāng)執(zhí)行指令如MOVF 6,W,把當(dāng)前I/O口的狀態(tài)讀入數(shù)據(jù)總線。當(dāng)“TRIS f”送出“0”時(shí),Q1、Q2的導(dǎo)通情況取決于數(shù)據(jù)鎖存器Q(非)的狀態(tài)。當(dāng)寫入數(shù)據(jù)為“1”時(shí),Q(非)輸出“0”,Q1導(dǎo)通,Q2,截止,I/O口輸出高電平。當(dāng)數(shù)據(jù)為“0”時(shí),Q(非)輸出“1”,Q2導(dǎo)通,Q1截止,I/O口輸出低電平。無(wú)論I/O腳置成輸入或輸出,執(zhí)行指令(如MOVF 6,W)都是將I/O端口的狀態(tài)讀入數(shù)據(jù)總線。

一些指令先讀后寫,如BCF、BSF指令整個(gè)端口狀態(tài)讀入CPU,執(zhí)行位操作后再將結(jié)果寫回去覆蓋原來(lái)的內(nèi)容,即輸出結(jié)果放在I/O口的數(shù)據(jù)鎖存器上,這點(diǎn)程序員需加以注意。特別當(dāng)一個(gè)端口中一條或幾條引腳一會(huì)兒作輸入,一會(huì)兒又作輸出而又執(zhí)行BCF、BSF指令時(shí)。舉例說(shuō)明:BSF 6,5指令的目的是要把B口的第5位置為高電平“1”,執(zhí)行這條指令時(shí),先把整個(gè)B口當(dāng)前的狀態(tài)讀入CPU,把第5位置成“1”后再把結(jié)果(8個(gè)位)重新輸出到B口的數(shù)據(jù)鎖存鎖存器。如果B口的某位用作雙向I/O口,且它在這時(shí)被定義為輸入態(tài),則在這條I/O腳上出現(xiàn)的輸入信號(hào)被再寫入這個(gè)I/O腳數(shù)據(jù)鎖存器,從而覆蓋原來(lái)的內(nèi)容。如果這個(gè)I/O腳保留為輸入方式,不會(huì)出現(xiàn)問(wèn)題。但如果稍后這個(gè)I/O腳改為輸出態(tài),則數(shù)據(jù)鎖存器bit1端內(nèi)容可能和先前的不同了。

I/O輸出電路為CMOS互補(bǔ)推挽電路,有很強(qiáng)的帶負(fù)載能力,高電平輸出時(shí)具有20mA的拉電流,低電平輸出時(shí)允許25mA的灌電流。這種特性可直接用于驅(qū)動(dòng)LED顯示器,為了改變某各引腳上的電平,這個(gè)引腳有效地輸出“0”或“1”時(shí),不應(yīng)該同時(shí)又受到外部設(shè)備的驅(qū)動(dòng),因?yàn)橛纱艘鸬母咻敵鲭娏骺赡軗p壞芯片。

I/O操作指令周期的最后寫I/O口,如果為讀,數(shù)據(jù)須在指令周期開始前準(zhǔn)備好。對(duì)于同一個(gè)口執(zhí)行先寫后讀,必須小心。指令序列應(yīng)滿足要求:在下一條讀I/O數(shù)據(jù)的指令執(zhí)行之前,應(yīng)使引腳的電平穩(wěn)定,否則引腳的先前狀態(tài)會(huì)被讀入CPU,而不是新狀態(tài)。建議最好用NOP指令或其他非I/O操作指令把讀寫指令隔開。

電磁干擾環(huán)境惡劣的情況下,如鍵盤處于靜電放電ESD(Electronic Static Discharge)的環(huán)境中,由于電磁噪聲干擾,寄存器的內(nèi)容將受影響。若I/O控制寄存器的內(nèi)容發(fā)生改變,即使一只引腳從輸入變成輸出狀態(tài),程序依然繼續(xù)運(yùn)行。此時(shí)程序從這一引腳讀取數(shù)據(jù),結(jié)果可能是錯(cuò)誤的。面對(duì)這種情況,我們建議在一定時(shí)間間隔內(nèi)需重新定義I/O口的輸入和輸出狀態(tài)。如果程序安排上允許,最好是每次讀寫數(shù)據(jù)時(shí)設(shè)置I/O控制寄存器,雖然對(duì)于大多數(shù)時(shí)候不需要這樣做,只是提醒程序員注意電磁噪聲干擾問(wèn)題。



關(guān)鍵詞: PIC16C5XIO

評(píng)論


技術(shù)專區(qū)

關(guān)閉