欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2296|回復: 0
收起左側

8251A 通過標準串行接口 RS-232C 實現兩臺 微機之間的串行通信

[復制鏈接]
ID:233859 發表于 2017-9-18 14:55 | 顯示全部樓層 |閱讀模式
通過 8251A 實現相距較遠的兩臺微型計算機相互通信的系統連接簡化框圖如下。

利用兩片 8251A 通過標準串行接口 RS-232C 實現兩臺 微機之間的串行通信,可采用異步工作方式。

程序:
D8251   EQU     460H   ;2號機改為464H
Z8251   EQU     462H   ;2號機改為466H
DATA    SEGMENT
MESS    DB  '按下!后返回DOS.',0DH,0AH,'$'
DATA    ENDS
STACK   SEGMENT
STA     DW 32DUP(?)
TOP     DW ?
STACK   ENDS
CODE    SEGMENT
MAIN    PROC FAR
ASSUME CS:CODE,DS:DATA,SS:STACK
START:  MOV     AX,DATA
         MOV     DS,AX
         MOV     ES,AX
         NOP               ;INIT 8251 START
         LEA     DX,MESS
         MOV     AH,09H
         INT     21H
         MOV     CX,100
         LOOP    $
         
        MOV     DX,Z8251          ;送00
         MOV     AL,00H
         OUT     DX,AL
         MOV     CX,100
         LOOP    $
         MOV     DX,Z8251          ;送00
         MOV     AL,00H
         OUT     DX,AL
         MOV     CX,100
         LOOP    $
         MOV     DX,Z8251          ;送00
         MOV     AL,00H
         OUT     DX,AL
         MOV     CX,100
         LOOP    $
         MOV     DX,Z8251          ;初始化8251
         MOV     AL,40H
         OUT     DX,AL
         MOV     CX,100
         LOOP    $
         MOV     AL,0CEH        ;設置為8個數據位,兩個停止位波特率因子為16
         OUT     DX,AL          ;無奇偶校驗位
         MOV     CX,100
         LOOP    $
         MOV     AL,25H         ;設為請求發送,允許發送,允許接收狀態
         OUT     DX,AL
         MOV     CX,100
         LOOP    $
NOP                      ;INIT 8251 END
REC:    MOV     DX,Z8251
         MOV     AH,02H
WAIT9:  IN      AL,DX             ;有數據送到嗎?
         AND     AL,AH
         JZ      SEND               ;沒有數據送到則跳轉至發送
         MOV     DX,D8251          ;有數據送到則從數據緩沖區讀入
         IN      AL,DX
         MOV     DL,AL
         MOV     AH,02H            ;顯示在屏幕上
         INT     21H
         CMP     AL,'!'
         JE      ED                ;接收到結束符則返回DOS
         JMP     REC               ;不是結束符則繼續接收
ED:     MOV     AX,4C00H
         INT     21H
SEND:   MOV     CX,10
         LOOP    $
         MOV     DX,Z8251
         MOV     AH,01H
WAIT8:  IN      AL,DX
         AND     AL,AH
         JZ      WAIT8             ;發送緩沖器不空則等待
         MOV     DL,0FFH
         MOV     AH,06H
         INT     21H
         JZ      REC               ;無鍵按下則跳回"接收"處
         MOV     DX,D8251          ;有鍵按下則發送相應字符
         OUT     DX,AL
         CMP     AL,'!'            ;是結束字符則返回DOS
         JE      ED1
         JMP     REC               ;不是結束字符則跳回"接收"處
ED1:    MOV     AX,4C00H
         INT     21H
MAIN    ENDP
CODE    ENDS
END    START


回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表