PIC單片機之16C84單片機介紹(二)
RB5
RB6
RB7
RB0
RB1
RB2
BR3
Rf
圖4-7利用端口B的鍵盤接口圖。
5-3 I/O編程的考慮
任何對端口的寫操作,在內(nèi)部都是讀-修改-寫。例如BCF,BSF 指令,先將寄存器讀入CPU,執(zhí)行位操作,將結果寫回寄存器。例如對 PORTB執(zhí)行BSF操作,首先將PORTB的8位讀入CPU,在Bit5上進行BSF操 作,將這一位置1,將PORTB寫回輸出鎖存器,如果這個時候PORTB的bit0用作輸入引腳,則先將PORTB讀入CPU,然后進行有關操作,結果寫回PORTB的鎖存器,并復蓋了先前的內(nèi)容,如果bit0一直保持在輸入方式,這一操作是沒有問題,但如果bit0在銷后又改變成輸出方式,數(shù)據(jù)鎖存器的內(nèi)容是未知的。
實際寫I/O端口發(fā)生在一個指令周期的結束,而讀一個I/O端口,其有效的數(shù)據(jù)必須在指令周期的開始就出現(xiàn)。因此,對一個I/O通道相斷執(zhí)行讀,寫操作,要考慮數(shù)據(jù)的可靠性。為此,應在這兩條指令之間加入一條NOP指令就可以保證數(shù)據(jù)的可靠性。
六、計時器。
(TMRO)模式 TMRO計時/計數(shù)器模式具有如下特點:
·8位計時計數(shù)器
·可讀,可寫
·8位軟件可編程的預分配器
·從FFH到00H產(chǎn)生溢出中斷
·具有外部時鐘的邊沿選擇
TMRO模式的簡單框圖與PIC16C6X系列相同。它可以經(jīng)過清0 TOCs 位(即TION5>)來選擇計時器方式。在計時器方式,TMRO模式對每個指令周期加1(沒有預分頻器),如果對TMRO寫操作,則計時器為加 (操作后兩個周期被禁止。)
評論