新聞中心

        什么是SBUF

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

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

        本文引用地址:http://www.104case.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)中讀出數據,并送到累加器中.



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 屏山县| 大兴区| 黄浦区| 昌吉市| 五寨县| 中宁县| 上栗县| 肃北| 惠州市| 阳江市| 藁城市| 淄博市| 会理县| 满洲里市| 兖州市| 林周县| 武威市| 亚东县| 景宁| 类乌齐县| 无锡市| 搜索| 阿巴嘎旗| 长阳| 巴南区| 浠水县| 灯塔市| 宝山区| 隆林| 遂平县| 花莲县| 兴文县| 长子县| 邢台市| 石渠县| 金秀| 尚志市| 桃源县| 白沙| 彰化县| 宜阳县|