1. SBUF的詳細介紹是怎樣的
SBUF---即串口數據緩沖寄存器
MCS-51串列口有兩個在物理上獨立的串列數據緩沖寄存器SBUF, 這兩個緩沖寄存器共用一個地址99H,(它們都是位元組定址的寄存器,位元組地址均為99H。)這個重疊的地址靠讀/寫指令加以區別.
區分:串列發送時,CPU向SBUF寫入數據,此時99H表示發送SBUF;串列接收時,CPU從SBUF讀出數據,此時99H表示接收SBUF。
其中:發送緩沖寄存器SBUF只能寫,不能讀; 接收緩沖寄存器SBUF只能讀,不能寫.
即:若要通過串口發送數據,只需要往sbuf里寫數據,發送完畢後會引起串口中斷。
發送指令: MOV SBUF,A ;CPU把累加器A中的內容寫入發送的SBUF(99H),再由TXD引腳一位一位地向外發送,
即:若接收數據,只需要在串口中斷標志位置位後(通過中斷方式或查詢方式),就可讀取sbuf中的內容了。
接收指令: MOV A, SBUF ;接收端RXD一位一位地接收數據,直到收到一個完整的字元數據後,則通知CPU,再通過這條指令CPU從SBUF(99H)中讀出數據,並送到累加器中.