串行通信:串行通信口的中断功能



计算机通信功能是现代计算机网络最基本功能如果计算机没有通信功能计算机网络环境也就无从谈起台计算机和其它计算机(或设备)的间通信除了必要物理连接的外它们的间通信接口功能就是另个极其重要功能模块
从计算机通信本质来看通信就是发送或接受具有定格式 2进制位这些 2进制位通过些应用——如浏览器——解释显示成具有区别表达形式文字或图象
为了方便实现计算机通信功能在系统低层或操作系统中都有区别程度支持如:DOS、BIOS和NETBIOS等系统中都相应通信功能或中断服务下面仅仅介绍在汇编语言中如何使用通信功能有关通信功能详细内容在计算机通信和接口技术课程会有更深入论述
1、DOS中通信功能
INT 21H提供了对通信口COM1操作功能其具体描述如下:
03H——从辅助设备读入该辅助设备缺省值为COM1
04H——向辅助设备输出该辅助设备缺省值为COM1
有关中断功能详细描述和参数在此从略需要查阅者可参阅附录3的功能
2、BIOS中通信功能
BIOS系统提供了中断14H来实现对通信端口控制能这些具体功能如下:
00H——化通信口
01H——向通信口输出02H——从通信口读入
03H——读取通信口状态

有关中断功能详细描述和参数在此从略需要查阅者可参阅附录3的串行口服务
3、通信功能应用举例
例8.9 把串\"Hello, World\"从COM1端口传输出去在传输过程中要求传输速率为9600波特字长为8位1位停止位无齐偶校验
解:
.MODEL SMALL
.DATA
  MSG DB \"Hello, World\"
  MLen EQU $-MSG
.CODE
.STARTUP
MOVAL, 0E3H;0E3—9600、无齐偶校验、字长8位1位停止位
MOVDX, 0
MOVAH, 0
INT14H;化通信口COM1
MOVBX, OFFSET MSG
MOVCX, MLen
MOVDX, 0
again:
MOVAL, [BX]
MOVAH, 1
INT14H
TESTAH, 80H;如果发送失败继续发同这里可能
JNZagain;构成死循环在实际工作过程中还有其它考虑
INCBX
LOOPagain
.EXIT0
END

例8.10 把从COM1端口读入显示在屏幕上如果通信端口数据未准备好处于等待状态;若传输出错则用红色显示\"?\"
解:
……
again:
MOVDX, 0
MOVAH, 3
INT14H
TESTAH, 1H;检测状态字节AH最后看数据是否准备好
JZagain
MOVDX, 0
MOVAH, 2
INT14H;从COM1端口读
TESTAH, 80H;检测读是否成功
.IF  ZERO?;读成功
  AND AL, 7FH;屏蔽掉最高位使的为
  MOV BL, 15;正常颜色:白色
.ELSE
  MOV AL, ’?’;显示\"?\"
  MOV BL, 12;颜色:红字
.ENDIF
MOVBH, 0
MOVAH, 0EH
INT10H
JMPagain
……
Tags:  串行通信协议 单片机串行通信 异步串行通信 串行通信

延伸阅读

最新评论

发表评论