狀態(tài)字
發(fā)布時間:2016/7/19 21:16:43 訪問次數(shù):929
狀態(tài)寄存器的8位中,最高位AD7888ARZ為空位任意值,單片機通過讀取狀態(tài)寄存器的相關數(shù)據(jù)來了解I/O口和定時器的工作狀態(tài)設定情況。狀態(tài)字的格式如下:
INTRA、INTRB:分別為A、B口的中斷申請標志位,高電平表示對應端口有中斷請求,低電平則表示端口沒有中斷申請。
A口無中斷請求;
A口有中斷請求
o:A口緩沖器空;
A口緩沖器滿
o:B口無中斷請求;1:B口有中斷請求
o:B口緩沖器空;1:B口緩沖器滿
止B口中斷;1:允許B口中浙
在讀狀態(tài)字或硬件復位后定時器中斷;
有定時器涇出中斷發(fā)生時定時器中斷
圖9.14 81C55的狀態(tài)字格式
BFA、BFB:對應端口的緩沖器狀態(tài)標志位,高電平表示緩沖器裝滿數(shù)據(jù),外設或者單片機可以取走數(shù)據(jù);低電平則表示緩沖器是空的,可以接收外設或者單片機發(fā)送來的數(shù)據(jù)。
INTEA、INTEB:端口中斷允許控制位,高電平表示允許對應口申斷,低電平表示禁止端口中斷。
狀態(tài)寄存器中以上這6位是只有A口和B口作為選通口工作時才有的狀態(tài)。例如,當81C55的A口或B口緩沖器接收到設備輸入的數(shù)據(jù)或者從緩沖器中取走數(shù)據(jù)時,當緩沖器數(shù)據(jù)裝滿了則相應BF狀態(tài)為“1”,當中斷允許位為高電平,則中斷請求線INTR升高為高電平,向CPU 申請中斷,CPU對81C55相應的端口進行一次讀或寫的操作后,中斷請求線自動變?yōu)榈碗娖健?/span>
TIMER:定時/計數(shù)器中斷請求標志位,定時/計數(shù)器計數(shù)滿時該位為“1”,當CPU讀取狀態(tài)之后,該位置“0”。
狀態(tài)寄存器的8位中,最高位AD7888ARZ為空位任意值,單片機通過讀取狀態(tài)寄存器的相關數(shù)據(jù)來了解I/O口和定時器的工作狀態(tài)設定情況。狀態(tài)字的格式如下:
INTRA、INTRB:分別為A、B口的中斷申請標志位,高電平表示對應端口有中斷請求,低電平則表示端口沒有中斷申請。
A口無中斷請求;
A口有中斷請求
o:A口緩沖器空;
A口緩沖器滿
o:B口無中斷請求;1:B口有中斷請求
o:B口緩沖器空;1:B口緩沖器滿
止B口中斷;1:允許B口中浙
在讀狀態(tài)字或硬件復位后定時器中斷;
有定時器涇出中斷發(fā)生時定時器中斷
圖9.14 81C55的狀態(tài)字格式
BFA、BFB:對應端口的緩沖器狀態(tài)標志位,高電平表示緩沖器裝滿數(shù)據(jù),外設或者單片機可以取走數(shù)據(jù);低電平則表示緩沖器是空的,可以接收外設或者單片機發(fā)送來的數(shù)據(jù)。
INTEA、INTEB:端口中斷允許控制位,高電平表示允許對應口申斷,低電平表示禁止端口中斷。
狀態(tài)寄存器中以上這6位是只有A口和B口作為選通口工作時才有的狀態(tài)。例如,當81C55的A口或B口緩沖器接收到設備輸入的數(shù)據(jù)或者從緩沖器中取走數(shù)據(jù)時,當緩沖器數(shù)據(jù)裝滿了則相應BF狀態(tài)為“1”,當中斷允許位為高電平,則中斷請求線INTR升高為高電平,向CPU 申請中斷,CPU對81C55相應的端口進行一次讀或寫的操作后,中斷請求線自動變?yōu)榈碗娖健?/span>
TIMER:定時/計數(shù)器中斷請求標志位,定時/計數(shù)器計數(shù)滿時該位為“1”,當CPU讀取狀態(tài)之后,該位置“0”。