串行通信程序设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计任务书

学生姓名: xxx 专业班级: xxx

指导教师: xxx 工作单位: xxx

题目: 串行通信程序设计

初始条件:

用汇编语言编写程序,实现两台计算机之间的通信。

要求完成的主要任务:

①制作RS-232C通信线,并用它连接两台计算机;

②在计算机上用不同的颜色设置接收、发送区域;

③能设置发送、接收的数据长度,并能显示接收的数据;

④能选择通信校验方式(奇校验、偶校验或无校验);

⑤可以将接收的数据作为文件保存起来;

⑥撰写设计说明书及调试心得。

时间安排:

第一阶段: 查阅相关资料

第二阶段: 课程设计

第三阶段: 撰写课程设计报告

第四阶段: 课程设计答辩

指导教师签名:年月日系主任(或责任教师)签名:年月日

串行通信程序设计

1方案论证

首先,要能进行串行通信,串口是基础。使用RS-232 DB-9串口,实现基本通信时,只需将其5号线(地线)相连,2、3号线(接收、发送数据线)分别交叉相连即可。

根据要求,此程序可分为界面显示、参数设置、发送数据、接收数据和保存文件五部分。以下将从这五个方面进行方案论证。

1.1 界面显示

一般情况下显示器的屏幕为25行、82列,不妨把整个屏幕看成25*80个存储单元。屏幕坐上角存储单元的坐标为(0,0),即行号为0,列号为0。因此可通过设置不同的行号和列号定位屏幕上的存储单元。

用不同颜色设置发送和接收区域,即用不同颜色的空格填充发送和接收区域。这就需要调用BIOS系统中断,先置光标位置,再写当前字符和属性。这两项功能都可调用BIOS显示输出10H号中断服务程序实现,详见表1-1 10H号中断服务程序部分功能。

表1-1 10H号中断服务程序部分功能

IBM PC的标准显示器适配器,有单色和彩色之分,其中后者能以文本和图形两种工作方式,既可以显示黑白图形又可以显示有16种颜色的彩色图形。彩色文本方式下,设置不同的属性字节即可实现不同前景和不同背景的组合。例如,0111表示灰白,1110表示黄,设置灰白底黄字的属性为01111110,十六进制表示为7EH。

显示发送和接收两个区域的方案大体分两种,一是两个带状区域,一是两个并排的矩形。从美观的角度来讲,后者更胜一筹。显示标题、提示、设置等信息时,只需先将光标定到合

适位置,再调用21H中断服务输出字符串即可。

1.2 参数设置

此处的参数设置主要指设置数据长度和设置奇偶校验,通过修改串口初始化参数字达到设置目的,串口初始化参数字功能如下:

D1D0=10 : 7位字长 D1D0=11 : 8位字长

D2=0 : 1位中止位 D2=1 : 2位中止位

D4D3=01 : 奇校验 D4D3=11 : 偶校验

D4D3=00/10 : 无校验

D7D6D5=000 : 110bps D7D6D5=001 : 150bps

D7D6D5=010 : 300bps D7D6D5=011 : 600bps

D7D6D5=100 : 1200bps D7D6D5=101 : 2400bps

D7D6D5=110 : 4800bps D7D6D5=111 : 9600bps

初始化串行通信口格式如下:

调用参数: AL=初始化参数

DX=通信口号,0:COM1,1:COM2

返回参数: AH=通信口状态

AL=调制解调器状态

通过读取键盘输入的数据对串口初始化参数字做出相应的修改,实现参数设置。

1.3 发送数据

该过程包括从键盘读取输入并发送数据,读取键盘数据可以以单字符为单位一个一个读取也可以读取字符串,发送数据则是将字符一个个发送到串口数据缓冲区。

读取键盘数据时,可使用常用DOS输入输出功能调用21H中断来实现。INT 21H是功能齐全、使用方便的一个中断服务程序,主要包括设备管理、目录管理和文件管理三个方面的功能。表1-2给出了21H号中断服务程序的部分功能。所有“INT 21H”中断调用的格式都一样,一般按如下四步进行:

①在AH寄存器中设置子功能号

②在指定的寄存器中设置入口参数

③用INT 21H指令执行功能调用

④根据出口参数分析功能调用的执行情况

表1-2 21H号中断服务程序的部分功能

与串行通信口相关操作可通过调用串口中断14H实现,14H号中断服务程序的部分功能见表1-3,能实现初始化通信口、读写通信口状态等功能。

表1-3 14H号中断服务程序的部分功能

1.4 接收数据

接收部分需要完成接收和显示两个功能,数据接收与发送类似,也是一个字符一个字符从串口读取。读取的字符将存入定义好的数据段中,再在屏幕上显示。显示也有两种方案,可以循环显示字符也可以直接显示字符串,都可以调用21H号中断实现。

1.5 保存文件

DOS提供的磁盘文件管理包括文件的建立、打开、读、写、关闭、删除等操作以及子目录的建立和删除等目录管理,这些都可以用“INT 21H”指令调用DOS中的功能子程序实现。此处的保存文件,需要用到文件的建立、打开、写和关闭功能,表1-4给出了DOS提供的部分磁盘文件管理功能。

表1-4 DOS提供的部分磁盘文件管理功能

要注意的是,当标明文件名或路径名时要使用ASCⅡZ字符串,这种字符串是用DB伪指令语句定义的ASCⅡ编码的字符串,最后以一个值为0的字节结尾。字符串中的字符组成一个文件的标识符:盘符、路径、文件名和扩展名。

2 程序设计

2.1 界面显示

显示标题、提示、设置等信息时只需先将光标定位,再输出字符串,用顺序结构程序。

相关文档
最新文档