微机原理第六章1分析.ppt
文本预览下载声明
* DATA SEGMENT DISBUF DB 47H,4FH,4FH,44H,0DH,0AH ;GOOD字符的ASCⅡ码 COUNT DB $-DISBUF DATA ENDS ┋ MOV AL, 40H OUT 52H, AL ;对8251A进行复位 MOV AL ; 写入模式字 OUT 52H,AL MOV AL ; 写控制字 OUT 52H,AL MOV BX,OFFSET DISBUF ; 显示缓冲区首址 MOV CX,COUNT WAIT: IN AL,41H AND AL,01H ;判断TxRDY是否为1,不为1,等待 JZ WAIT MOV AL,ES:[BX] ;为1,则输出数据 OUT 50H,AL INC BX DEC CX JNZ WAIT HLT (2)软件设计 初次对8251A初始化,先送3个00H ,再送1个40H 第6章 串并行通信和接口技术 * 【例】通过8251A实现两台微机相互通信的硬件连接图如图所示。利用两片8251A通过标准串行接口RS-232C实现两台8086微机之间的异步串行通信。设两台微机中8251A的命令端口地址均为3F9H,数据端口地址均为3F8H。 第6章 串并行通信和接口技术 * 分析:设系统采用查询方式控制串行通信的过程。 初始化程序由两部分组成: ①将一方定义为发送方,发送方CPU查询到TxRDY有效时,则CPU向8251A并行输出一个待发送的字节数据; ②将对方定义为接收方,接收方CPU查询到RxRDY有效时,则从8251A输入一个已接收到的字节数据,直到全部数据传送完毕为止。 第6章 串并行通信和接口技术 * L1: MOV DX,3F9H IN AL,DX AND AL,01H ;查询TxRDY是否有效 JZ L1 ;无效则等待 MOV DX,3F8H MOV AL,[DI] ;向8251A输出一个字节数据 OUT DX,AL INC DI ;修改地址指针 LOOP L1 ;未传送完,则继续下一个 HLT 第6章 串并行通信和接口技术 START:MOV DX,3F9H MOV AL,7FH ;异步方式,8位数据, ;一位停止位,偶校验 OUT DX,AL ;波特率因子为64,允许发送 MOV AL,11H ;操作命令字 OUT DX,AL MOV DI,1000H ;设置地址指针 MOV CX,40H ;设置计数器初值 发送程序如下: * TEST AL,38H ;查询接收器是否有错。 JNZ ERR ;有错则转错误处理
显示全部