文档详情

串行口补充部分.doc

发布:2019-03-29约8.49千字共10页下载文档
文本预览下载声明
串行口补充部分 80x86兼容机可连接4个串行口,其编号分别为COM1~COM4(相应的BIOS编号为COM0~COM3) 若微机系统设置了COM端口,则设置的每个端口的地址就写到BIOS数据区的0040:000~07H中。其中每个COM端口占2个字节。 COM0:0040:0000~ 0001 COM1:0040:0002~0003 COM2:0040:0004~0005 COM3:0400:0006~0007 可用DEBUG 查看端口地址 CDEBUG _D 0040:0000 L08 0040:0000 F8 03 F8 02 00 00 00 00 即端口COM0的地址为:3F8H,COM1的地址为2F8H BIOS 串行通信功能 INT 14H 调用ROM BIOS 串行通信例行程序,该通信例行程序包括:串行口的初始化(波特率、帧格式等),检查控制器的状态等,读和写(接收和发送)等功能。 表 一 串行口通信BIOS功能(INT 14H) AH 功能 入口参数 出口参数 0 初始化串行通信口 (AL)=初始化参数 (AH)=通信口状态 (DX)=通信段口号 (AL)=调制解调器的状态 COM1=0 COM2=1,etc 1 向串行口写字符 (AL)=所写字符 写字符成功: (DX)=通信口号 (AH)=0,(AL)=字符 COM1=0 写字符失败 COM2=1 (AH)7=1,(AH)0-6=口状态 2 从串行口读字符 (DX)=通信口号 读成功: COM`1=0 (AH)7=0,(AH)0-6=口状态 COM2=1 读失败: (AH)7=1,(AH)0-6=口状态 3 取通信口状态 (DX)=通行口号 (AH)=通信口状态 COM1=0 (AL)=调制解调器状态 COM2=1.etc 串行口初始化参数 7 6 5 4 3 2 1 0 000=110波特 校验 01=奇校验 终止位 字长 10=7 位 001=150波特 11=偶校验 0=1位 11=8位 010=300波特 X0=无校验 1=2位 011=600 111=9600波特 串行通信端口状态字 7 6 5 4 3 2 1 0 超时 发送位移器空 发送空 间断 帧格式错 奇偶错 超越错 数据准备好 奇偶错:通信线上的噪声引起数据位的改变会产生奇偶错,检测到奇偶措时,发送放应在发送一次。 超越错:在上一个字符还没被取走,又有字符传送过来,则会引起超越错。 帧格式错:当接收器没收到一个字符的停止位,会引起帧格式错。引起的原因可能是噪声引起停止位的丢失,或由于收发双方初始化参数不匹配所致。 间断:在某些通信环境中设置的“空格”状态,它占一个字符的传输时间,当器超过一个字符的传输时间时,间断位为1。 利用BIOS INT 14H,可通过COM端口与另一台微机通信,通信程序的编写过程如下: 用INT 14,AH=0,(DX)=通信端口号,(AL)=初始化参数;设置通行双方的初始化参数。 用
显示全部
相似文档