在TSR發送移位寄存器為空時,被寫入發送數據寄存器TDR的數據,立即被裝入TSR曲於ASCI的發送器是雙緩衝的,當TSR正在將前一次裝入的數據移出時,新的數據又能被-寫入TDR。
可以向ASCI的發送數據寄存器TDR寫入數據,或者從TDR讀出數據。
假若從ASCI的發送數據寄存器TDR讀出數據,這個讀數據的操作,並不影響ASCI發送數據的操作。
▲ASCI的接收移位寄存器0,1——RSR0,1(ReceiveShiftRegister0,1)
RSR接收移位寄存器從RXA引腳上接收傳送進來的數據。當接收移位寄存器RSR為滿時,如果ASCI的接收數據寄存器RDR是空,則數據自動從RSR傳送到RDR。當RSR不是空,而此時下一個數據字節又移進來了,就產生超限錯誤。RSR不能被程序訪問。
▲ASCI的接收數據寄存器0,1RDR0,1(ReceiveDataRegister0,)(I/O地址=08H,09H)
當RSR接收到完整的字節數據後,如果此時RDR寄存器是空的,RSR中的數據自動傳送入RDR。由於ASCI接收器是雙緩衝的,在RDR裝有前次接收來的數據字節情況下,可以將現在送來的數據移入RSR寄存器。
ASCI接收數據寄存器RDR是可讀寄存器。
如果ASCI狀態寄存器STAT的RDRF=0,可以將數據寫入ASCI的RDR寄存器,也可以將這個數據讀出。
▲ASCI狀態寄存器0,1STAT0,1(StatusRegister0,1)
每一個ASCI通道的狀態寄存器,可以用來作為通訊、出錯和調製解調器控製信號等的狀態標誌,也用來允許或禁止ASCI的中斷請求。
RDRF——接收數據寄存器滿(第7位)
當接收進來的字節數據裝入接收數據寄存器RDR時,就使RDRF位置為1,注意,女隊果在接收數據過程中發生幀錯誤或奇偶校驗錯誤,RDRF位仍然被置為1,接收進來的數據(發生錯誤的數據)仍然裝入RDR。在以下情況,均使RDRF潔0:由於讀RDR寄存器;當DCD02輸入信號為高電平;處於I0ST0P方式運行或RESET期間。
0VRN—超限出錯(第6位)
當RDR寄存器為滿,同時RSR寄存器也變成滿時,0VRN位置為1。在以下情況,均使0VRN位清0當CNTLA控製寄存器的EFR(出錯標誌複位)位寫入0DCD0信號為高電平,運行在I0ST0P方式或RESET期間。
PE——奇偶出錯(第5位)
當ASCI允許有奇偶校驗(CNTLA控製寄存器的M0Di位被置為1),在接收進來的字節數據發現奇偁出錯肘,將PE位置為1。在以下情況,均使PE位清0:當CNTLA控製寄存器的EFR(出錯標誌複位)位被寫入0;DCD0輸入信號是高電平;運行在I0ST0P方式或RESET期間。
FE——幀出錯(第4位)
如果接收的數據字節幀是以無效的停止位隔開(也就是0,但停止位應該是1),則將FE位置1。在以下情況,均將FE位清0:當CNTLA控製寄存器的EFR(出錯標誌M位)位被寫入0;DCD0輸入信號是高電平;運行在I0ST0P方式或RESET期間。
RIE——接收中斷允許(第3位)
RIE位置為1,允許ASCI發出接收中斷請求。當RIE位置為1後,如果RDRF、0VRN,PE或FE中任何一個標誌位變為1時,都會產生中斷請求。對於通道0來說,由於外部的DCD0信號從低電平到高電平的跳變,也會產生中斷請求。RESET期間,把RIE位清0。器的DCD0位置為1。在下述兩種情況下,都使DCD0位清0,首先進行一次讀STAT0寄存器操作,接著從DCD0引腳輸入一個從高電平變為低電平的跳變信號;在RESET期間。當DCD0位為1時,接收器單元是複位,並抑製接收器的操作。
CTS1E—通道1CTS充許(STAT1的第2位)
通道1有一根外部CTS1輸入信號引腳[52]。CTS1和CSI/O口(同步串行I/O口Cl0ckedSerial1/Op0rt)的RXS(接收數據引腳)合用一根引腳[52]。當STAT1寄存器的CTS1E位置1時,選定引腳[52]作為CTS1信號輸入用;當CTS1E位清0時,選定31腳[52]起RXS作用。
TDRE—發送數據寄存器空(第1位)
TDRE位=1,表示TDR發送寄存器是空的,下一個。要發送的字節數據可以寫入TDR發送寄存器。當這個字節數據被寫入TDR寄存器後,TDRE位被清0,一直到ASCI將這字節數據從TDR送ATSR發送移位寄存器時,TDRE位再次被置為1。運行在I0ST0P方式或者在RESET期間,TDRE位被置1;而當外部的CTS輸入信號是高電平時,TDRE位被清0。
TIE—發送中斷允許(第0位)
TIE位被置為1,允許產生ASCI發送中斷請求。當TDRE=1時,如果TIE位為1,將產生中斷請求。RESET期間,TIE位被清0。
▲ASCI控製寄存器A0,1CNTLA0,1
ASCI兩個通道的控製寄存器A,都是用來選擇操作方式的。例如,選擇允許或禁止接收、允許或禁止發送、數據格式以及多處理器通訊方式。
MPE—多處理方式允許位(第7位)
ASCI有一種多處理器通訊方式。這種方式是當幾個處理器共享一條公共的串行總線財,是利用一位附加數據位來選擇通訊對象,當CNTLB控製寄存器的MP位置1時,就是選定多處理器的數據格式如果不選擇多處理器通訊方式,那麼CNTLB控製寄存器中的MP位為0,MPE位就無效(無意義)。如果選擇了多處理器通訊方式,則由MPE允許或而引出如下功能:如果MPE=1,隻有在將MPB位(多處理器位)置1的被接收的字節數能夠影響RDRF和出錯標誌。事實上,其他字節(由於MPB=0)是不會被ASCI,所有字節都不考慮MPB數據位的狀態、RDRF和出錯標誌的影。
RESET期間,MPE位被清0。