串行通信程序设计
PLC与计算机的串行通信程序设计

a w y @ ( o e g l r n g d e r t n la s ps de cko eeg s )
—
i !s_ )/ 异步复位 f( rtn /
bgn e i
s l p s d e = ’ 0 c oe g< lb 1
_
s l n g d e = ’ 0 c ee g< 1b 1
_
ed n
es le
b gn e i
i ( !c c e k & e c e k r ) f s l hc &s l h c
_
—
_
/ SL 降沿 脉冲 /C 下
e eg <lb ; s l n g d e = ’ l c
—
e1 e s
口 曰 曰 团
田
/ SA寄存器操作过程 /D
Ke wo d : L S il ls ; s m u ia o r g a y r sP C; e a a h Bu ; r F Co n c t np o m i r
’
PC( L 可编程控制器 )是一种数字运算操作的电子系统, 在特 定的程序下可以为计算机进行 串行通信功能的设计。可编程控制 器及其有关外围设备,都按易于工业系统联成一个整体,按易于 扩充其功能的原则设计,所以在计算机行业,可 以说 ,P C的用 L 途十分广泛 。 P C与计算机的串行通信的结构分析 L 本设计采用西门子 S - 20L , T 0 P C 此种 PC大部分的行业中被 L 运用广泛,他的优点在于他拥有很高的串行模块结果,模块区扩 展,紧凑设计 C U P 集成输入/ 输出,实时处理能力,具有高速计数 器,报警输入和终端,易学好用的工程软件 ,多种通信选项。 PC与计算机的串行通信的网络拓扑结可以如下图 i L 所示:
单片机单片机课程设计-双机串行通信

单片机单片机课程设计-双机串行通信单片机课程设计双机串行通信在当今的电子信息领域,单片机的应用无处不在。
而双机串行通信作为单片机系统中的一个重要环节,为实现设备之间的数据交换和协同工作提供了关键的技术支持。
一、双机串行通信的基本原理双机串行通信是指两个单片机之间通过串行接口进行数据传输的过程。
串行通信相较于并行通信,具有线路简单、成本低、抗干扰能力强等优点。
在串行通信中,数据是一位一位地按顺序传输的。
常见的串行通信协议有 UART(通用异步收发器)、SPI(串行外设接口)和 I2C(内部集成电路)等。
在本次课程设计中,我们主要采用 UART 协议来实现双机串行通信。
UART 协议包括起始位、数据位、奇偶校验位和停止位。
起始位用于标识数据传输的开始,通常为逻辑 0;数据位可以是 5 位、6 位、7 位或 8 位,具体取决于通信双方的约定;奇偶校验位用于检验数据传输的正确性,可选择奇校验、偶校验或无校验;停止位用于标识数据传输的结束,通常为逻辑 1。
二、硬件设计为了实现双机串行通信,我们需要搭建相应的硬件电路。
首先,每个单片机都需要有一个串行通信接口,通常可以使用单片机自带的UART 模块。
在硬件连接方面,我们将两个单片机的发送端(TXD)和接收端(RXD)交叉连接。
即单片机 A 的 TXD 连接到单片机 B 的 RXD,单片机 B 的 TXD 连接到单片机 A 的 RXD。
同时,还需要共地以保证信号的参考电平一致。
此外,为了提高通信的稳定性和可靠性,我们可以在通信线路上添加一些滤波电容和上拉电阻。
三、软件设计软件设计是实现双机串行通信的核心部分。
在本次课程设计中,我们使用 C 语言来编写单片机的程序。
对于发送方单片机,首先需要对 UART 模块进行初始化,设置波特率、数据位、奇偶校验位和停止位等参数。
然后,将要发送的数据放入发送缓冲区,并通过 UART 发送函数将数据一位一位地发送出去。
对于接收方单片机,同样需要对 UART 模块进行初始化。
单片机串行通信实验报告(实验要求、原理、仿真图及例程)

《嵌入式系统原理与实验》实验指导实验三调度器设计基础一、实验目的和要求1.熟练使用Keil C51 IDE集成开发环境,熟练使用Proteus软件。
2.掌握Keil与Proteus的联调技巧。
3.掌握串行通信在单片机系统中的使用。
4.掌握调度器设计的基础知识:函数指针。
二、实验设备1.PC机一套2.Keil C51开发系统一套3.Proteus 仿真系统一套三、实验容1.甲机通过串口控制乙机LED闪烁(1)要求a.甲单片机的K1按键可通过串口分别控制乙单片机的LED1闪烁,LED2闪烁,LED1和LED2同时闪烁,关闭所有的LED。
b.两片8051的串口都工作在模式1,甲机对乙机完成以下4项控制。
i.甲机发送“A”,控制乙机LED1闪烁。
ii.甲机发送“B”,控制乙机LED2闪烁。
iii.甲机发送“C”,控制乙机LED1,LED2闪烁。
iv.甲机发送“C”,控制乙机LED1,LED2停止闪烁。
c.甲机负责发送和停止控制命令,乙机负责接收控制命令并完成控制LED的动作。
两机的程序要分别编写。
d.两个单片机都工作在串口模式1下,程序要先进行初始化,具体步骤如下:i.设置串口模式(SCON)ii.设置定时器1的工作模式(TMOD)iii.计算定时器1的初值iv.启动定时器v.如果串口工作在中断方式,还必须设置IE和ES,并编写中断服务程序。
(2)电路原理图Figure 1 甲机通过串口控制乙机LED闪烁的原理图(3)程序设计提示a.模式1下波特率由定时器控制,波特率计算公式参考:b.可以不用使用中断方式,使用查询方式实现发送与接收,通过查询TI和RI标志位完成。
2.单片机与PC串口通讯及函数指针的使用(1)要求:a.编写用单片机求取整数平方的函数。
b.单片机把计算结果向PC机发送字符串。
c.PC机接收计算结果并显示出来。
d.可以调用Keil C51 stdio.h 中的printf来实现字符串的发送。
基于Win32的多线程串行通信程序设计

:
pp r n oue ei f u ihed l adWi o s P ( p la o 珈 It f e u c o h her b a e t d cdad s no m l- r i n w IA pi t nho ir g tt a J n g d A ci n r c )f t n w i a e ea ni c l
FL A R IU E N R L IE FA O E L P E / 异 步 IE R TB T O MA l L L G V R A P D,/ F
方 式
N L); UL
1 串行 通 信Βιβλιοθήκη Wi 2系 统 为 串 行 通 信 提 供 了 全 新 的 文 件 I0 函 n 3 / 数, 负责 串 行 口 的 打 开 和 关 闭 、 始 化 以 及 读 写 操 作 : 初
的 。该 函数 的 声 明 为 :
H AN D E r ae i L C  ̄ tFl e
数 、 偶 校 验 和 停 止 位 等 信 息 。 首 先 应 调 用 Gto m 奇 e m . C S t 数 获 得 串 口 的 配 置 ; 后 修 改 D B结 构 ; 用 te函 a 然 C 再 S t0 mS t 数设 置 。其 用 法 如 下 : eC m t e函 a
端 口时 , 该 以独 占方式 打 开 。用 法 如 下 应
HAN DL C m Eb o
间 经 常需 要 进 行 数 据 交 换 , 行 通 信 是 主 要 的 通 信 手 串 段 . 高效 、 便 、 单 , 遵 循 统 一 的 国 际 标 准 R 一3 它 方 简 并 S22 协 议 :基于 上 述 原 因 , 文 从 多 线 程 技 术 的角 度 来 研 究 本 如 何 实 现 串行 通 信 。
51单片机双机串行通信设计

51单片机双机串行通信设计51单片机是一款广泛应用于嵌入式系统中的微控制器,具有高性能和低功耗的特点。
在一些场景中,需要使用51单片机之间进行双机串行通信,以实现数据传输和协同工作。
本文将介绍51单片机双机串行通信的设计,包括硬件连接和软件编程。
一、硬件连接1.串行通信口选择:51单片机具有多个串行通信口,如UART、SPI 和I2C等。
在双机串行通信中,可以选择其中一个串行通信口作为数据传输的接口。
一般来说,UART是最常用的串行通信口之一,因为它的硬件接口简单且易于使用。
2.引脚连接:选定UART口作为串行通信口后,需要将两个单片机之间的TX(发送)和RX(接收)引脚相连。
具体的引脚连接方式取决于所使用的单片机和外设,但一般原则上是将两个单片机的TX和RX引脚交叉连接。
二、软件编程1.串行通信初始化:首先需要通过软件编程来初始化串行通信口。
在51单片机中,可以通过设置相应的寄存器来配置波特率和其他参数。
具体的初始化代码可以使用C语言编写,并根据所使用的开发工具进行相应的配置。
2.发送数据:发送数据时,可以通过写入相应的寄存器来传输数据。
在51单片机中,通过将数据写入UART的发送寄存器,即可将数据发送出去。
发送数据的代码通常包括以下几个步骤:(1)设置发送寄存器;(2)等待数据发送完成;(3)清除数据发送完成标志位。
3.接收数据:接收数据时,需要通过读取相应的寄存器来获取接收到的数据。
在51单片机中,可以通过读取UART的接收寄存器,即可获取到接收到的数据。
接收数据的代码通常包括以下几个步骤:(1)等待数据接收完成;(2)读取接收寄存器中的数据;(3)清除数据接收完成标志位。
4.数据处理:接收到数据后,可以进行相应的数据处理。
根据具体的应用场景,可以对接收到的数据进行解析、计算或其他操作。
数据处理的代码可以根据具体的需求进行编写。
5.中断服务程序:在双机串行通信中,使用中断可以提高通信的效率。
串行通信系统课程设计

串行通信系统课程设计一、课程目标知识目标:1. 让学生理解串行通信系统的基本原理,掌握其与并行通信的区别;2. 学会使用相关编程语言实现串行通信,了解串行通信接口和协议;3. 掌握串行通信系统的数据传输速率、误码率等性能指标的计算方法。
技能目标:1. 培养学生运用所学知识解决实际问题的能力,能够独立设计简单的串行通信系统;2. 提高学生的编程实践能力,熟练使用相关开发工具进行串行通信程序设计;3. 培养学生的团队协作和沟通能力,能够就串行通信系统设计方案进行讨论和改进。
情感态度价值观目标:1. 培养学生对通信技术发展的关注,激发学习兴趣,提高学习积极性;2. 培养学生的创新意识,鼓励学生尝试不同的设计方案,勇于克服困难;3. 增强学生的环保意识,认识到通信技术在环境保护中的重要作用。
课程性质:本课程为电子信息类学科的专业课程,旨在让学生掌握串行通信系统的基本原理和实际应用。
学生特点:学生已具备一定的电子技术和编程基础,对通信技术有一定的了解,但实践经验不足。
教学要求:结合学生特点和课程性质,采用理论教学与实践教学相结合的方式,注重培养学生的实际操作能力和团队协作能力。
通过本课程的学习,使学生能够达到上述课程目标,为后续相关课程和实际工作打下坚实基础。
二、教学内容1. 串行通信系统基本原理:介绍串行通信与并行通信的区别,分析串行通信的优缺点,探讨串行通信在现实生活中的应用。
- 教材章节:第一章 串行通信概述- 内容:串行通信原理、串行通信接口、串行通信协议。
2. 串行通信编程实践:讲解使用C语言、Python等编程语言实现串行通信的方法,分析串行通信接口的编程接口和函数库。
- 教材章节:第二章 串行通信编程- 内容:编程环境搭建、串行通信接口编程、数据发送与接收、常见问题及解决方法。
3. 串行通信系统性能分析:介绍串行通信系统的数据传输速率、误码率等性能指标,分析影响性能的因素。
- 教材章节:第三章 串行通信性能分析- 内容:数据传输速率、误码率、性能优化方法。
VC++中串行通信程序设计

O 引言
在很多情况下 , 远程监控和 自动化领域系统常见的通信
控件 的 C mmE et o vn 属性 以检查执行结果或者检查某 一事件 是否发 生。如果应用 程序较 小 , 并且 是 自成 一体 , 这种 方法
可 能是 更 可取 的 。
编程多为 串口通信 编程 。计算 机 串口编程在通信 软件 中有
C mmP r o ot
设 置 / 取控 件 对 应 的 串 行 口 获
S ti s et g n Pr e ot n Op Ipt nu
Oup t tu
设置/ 取波特率、 获 校验方式 、 数据位 、 停止位 打开/ 关闭通信 口 读取 数 据
发 送种 是利 用 Mioot 司提供 c sf 公 r 的 AcvX控 件 Mi ootC mmu i t n o t l te i c sf o r nc i sC nr 。本 文将 ao o 主要介绍第二种方法 。
话框的 MF C应用程序项 目, 命名为 my O 记住在设置 项 C m,
目选 项 时 必 须 选 上 Aci X C nrl 其 他 的 按 照 缺 省 设 置 。 t e ot s v o,
它的核心 内容是组 件对象 模型 C OM( m o e tO j t o C p nn be c Moa 。A t e d ) ci X控件包 括一 系列 的属性 、 法和事件 , 用 1 v 方 使
问串口, 一种是 利 用 Mioot 司提供 的 A t e c sf公 r ci X控件 Mi oot o v c sf C mmu i tn nrl r nc i s a o C t 编写 串行通 信程序 的方 o o
法, 并给 出了例 程 , 具有一定 的实用意义 。
单片机与PC机串行通信系统硬件及上位机程序设计【精选】

目录1 引言 (1)1.1 单片机与PC机串行通信研究背景 (1)1.2 单片机与PC机串行通信研究目的和意义 (1)2 串口通信基础 (1)2.1 两种常用接口方式 (2)2.1.1 并行接口 (2)2.1.2 串行接口 (2)2.2 RS-232串行接口标准 (2)3 系统总体设计 (3)3.1 系统指标设计 (3)3.1.1 通信协议设定 (3)3.1.2 系统实现描述 (3)3.2 总体方案设计 (3)4 硬件接口电路设计 (4)4.1 主要芯片 (4)4.1.1 AT89C51 (4)4.1.2 单电源转换芯片MAX232 (6)4.1.3 74LS245LED驱动芯片 (7)4.2 LED显示器 (7)4.2.1 LED显示器工作原理 (8)4.2.2 LED显示器接口 (8)4.3 系统设计 (8)5 PC机程序设计 (9)5.1 MSComm控件 (9)5.1.1 MSComm控件处理通信的方式 (9)5.1.2 MSComm控件的主要属性 (10)5.2 应用界面设计流程 (10)5.2.1 创建项目文件 (10)5.2.2 加入串口通信控件 (11)5.2.3 设计窗体界面 (12)5.3 代码实现 (12)6 仿真调试及结果分析 (15)7 结语 (17)参考文献 (18)致谢 (19)2.1 两种常用接口方式2.1.1 并行接口并行接口是指8位数据同时通过并行线进行传送,这样数据的传输率能得到极大的提高。
但在并行传输中,干扰会随线路长度的增加而增加,产生传输错误。
因此,并行传输主要应用在近距离数据传输中,如连接打印机端口。
并行接口主要使用36针接头和25针D形接头,目前以25针D形接头为主[4]。
2.1.2 串行接口串行口也是计算机的一种标准接口,PC机一般至少有两个串行口Com1和Com2。
串行口不同于并行口,它的数据和控制信息是一位接一位在一根传输线上传送的,这样串行口较并行口能够进行远距离传送信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 : 150bpsD7D6D5=010 : 300bps D7D6D5=011 : 600bpsD7D6D5=100 : 1200bps D7D6D5=101 : 2400bpsD7D6D5=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 界面显示显示标题、提示、设置等信息时只需先将光标定位,再输出字符串,用顺序结构程序。
显示两不同颜色的发送、接收区域时,由于在DOS下运行程序输入字符到最右侧时会自动换行,因此只要字符重复次数选择合理,实现两带状区域的显示很容易。
而要显示两个并排的矩形区域时,则需要以一定宽度的行为单位,对区域逐行进行填充,这就要用到循环或分支结构程序。
显示发送数据区域时,先置光标到开始位置,填充CX个空格,行号和循环次数加1,判断循环次数,若未完则在下一行继续填充,直到填充完为止。
由于区域列数(CX)在38-40之间,而设定数据缓冲区最多接收255个字符,故循环次数设为8就足以显示发送数据。
显示发送数据区的流程图如图2-1所示,显示接收数据区域流程图与其类似,在此省略不画。
图2-1 显示发送数据区的流程图2.2 参数设置参数设置主要利用CMP语句判断键盘输入数据,再对串口初始化参数字进行相应的修改,从而达到设置目的。
例如,要设置数据字长,先判断键盘输入的是7还是8,再用跳转语句跳到相应修改处。
串口初始化入口参数用AL表示参数字,但在读取键盘输入时AL用以返回输入字符的ASCⅡ码,因此要先将AL备份。
修改参数字时,先将其高6位保存低2位清零,再对其低2位赋值,如8位字长则赋11。
采用顺序和分支结构进行程序设计,定义串口初始化为子程序,参数设置后对其进行调用,设置奇偶校验流程图如图2-2所示,设置数据长度流程图与其类似,在此省略不画。
图2-2 设置奇偶校验流程图其中,CL为默认初始化参数字,即为AL备份值,设置修改后再将其值赋给AL,进行串口初始化。
2.3 发送数据发送数据前要先读取键盘输入,为方便起见,可直接从键盘读取字符串,调用INT 21H 的10号功能即可实现,字符串以回车结束,并显示在屏幕的发送区。
每读完一串字符,光标自动下移一行,继续读下一串字符。
数据发送时,先检测读通信口状态,当检测到“发送保存寄存器空”位即AH.5位有效时,可以写入一个数据到通信口。
因此,数据的发送过程是先调用14H的3号功能取通信口状态,再调用14H的1号功能将字符一个个地发送到通信口。
为与接收程序相对应,每发送完一串字符,在其后加上回车换行符,并加’$’表示字符串结束。
发送完一串字符后,再读取键盘输入,发送下一串字符。
采用顺序结构和分支结构设计接收数据主程序,流程图如图2-3所示。
左侧为主流程图,右侧为发送数据子程序流程图。
图2-3 发送数据流程图2.4 接收数据此过程包括接收和显示两部分,从通信口接收数据与发送类似,先调用14H的3号功能取通信口状态,“数据准备好”位即AH.1位有效则表明通信口收到一个数据。
再调用14H 的2号功能读通信口数据,将字符读入AL中。
为了方便,显示过程也以字符为单位一个个显示。
上文已提到发送完一串字符后发回车换行以及’$’符,此时可判断字符是否为’$’,若是则跳到文件保存设置区,否则表示该串字符未接收完,继续接收。
每接收完一串字符,则询问用户是否保存文件。
显示数据时可直接在接收后将字符一个个显示在接收区,因每串字符后都有回车换行符,字符串将一行行显示在接收区。
但由于此时数据显示利用了其自动换行功能,接收区应放在屏幕左侧而发送区应放在屏幕右侧,否则接收的数据换行后将在发送区显示。
采用顺序结构和分支结构设计接收数据程序,流程图如图2-4所示。
图2-4 接收数据流程图2.5 保存文件首先设置是否保存接收到的字符串,若选择保存则保存,否则继续接收。
保存过程直接采用顺序结构,按照建立文件、打开文件、写文件和关闭文件的顺序进行程序设计,最后显示提示信息告诉用户所保存文件的路径。
2.6 总体设计按照图2-5串行通信程序流程图来编写程序,首先显示界面,接着设置字符长度和通信校验方式。
然后读键盘输入,若输入的是“Tab”键,则跳到接收数据区,否则跳到数据发送区。
每接收到一串字符(约定每串字符都以'$'符结束)都判断是否保存,若选择保存则建立一文件将该字符串保存,若不选择保存则继续接收数据。
此程序能实现两台计算机间的单工通信,在屏幕上用不同颜色区域显示发送数据区和接收数据区,能设置数据长度和通信校验方式,显示接收到数据并将其作为文件保存。
图2-5 串行通信程序流程图3 程序调试使用编译器对源程序进行编译,生成扩展名为“.obj”的目标文件,再连接目标码,最后运行生成扩展名为“.exe”的可执行文件。
若无法生成目标文件,则说明程序存在错误,双击窗口提示信息,可找到相应的错误语句,根据提示信息修改程序后再进行编译,直至成功生成目标文件,并连接运行生成可执行文件为止。
3.1 调试结果运行程序,输入'7','n'及空格键,则进入数据发送过程,输入若干字符串,同时接收机输入'7','n'及'Tab'键,进入接收数据过程。
参数设置相同时的发送、接收界面分别如图3-1和3-2所示。
图3-1 参数设置相同时的发送界面图3-2 参数设置相同时的接收界面图3-3 参数设置不同时的发送界面图3-4 参数设置不同时的接收界面图3-5 选择文件保存的接收界面再次运行程序,输入'8','e'及回车键,则进入数据发送过程,输入若干字符串,同时接收机输入'7','n'及'Tab'键,进入接收数据过程。