久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

什么是SBUF

作者: 時間:2016-11-17 來源:網絡 收藏
SBUF---即串口數據緩沖寄存器

MCS-51串行口有兩個在物理上獨立的串行數據緩沖寄存器SBUF, 這兩個緩沖寄存器共用一個地址99H,(它們都是字節尋址的寄存器,字節地址均為99H。)這個重疊的地址靠讀/寫指令加以區別.

本文引用地址:http://cqxgywz.com/article/201611/315565.htm

區分:串行發送時,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)中讀出數據,并送到累加器中.



評論


技術專區

關閉