首页 PC机之间串口通信的实现

PC机之间串口通信的实现

举报
开通vip

PC机之间串口通信的实现 PC机之间串口通信的实现 一、实验目的 1.熟悉微机接口实验装置的结构和使用方法。 2.掌握通信接口芯片8251和8250的功能和使用方法。 3.学会串行通信程序的编制方法。 二、实验内容与要求 1.基本要求 主机接收开关量输入的数据(二进制或十六进制),从键盘上按“传输”键(可自行定义),就将该数据通过8251A传输出去。终端接收后在显示器上显示数据。具体操作说明如下: (1)出现提示信息“start with R in the board!”,通过调整乒乓开关的状态,设置8位数据; (2...

PC机之间串口通信的实现
PC机之间串口通信的实现 一、实验目的 1.熟悉微机接口实验装置的结构和使用方法。 2.掌握通信接口芯片8251和8250的功能和使用方法。 3.学会串行通信程序的编制方法。 二、实验内容与要求 1.基本要求 主机接收开关量输入的数据(二进制或十六进制),从键盘上按“传输”键(可自行定义),就将该数据通过8251A传输出去。终端接收后在显示器上显示数据。具体操作说明如下: (1)出现提示信息“start with R in the board!”,通过调整乒乓开关的状态,设置8位数据; (2)在小键盘上按“R”键,系统将此时乒乓开关的状态读入计算机I中,并显示出来,同时显示经串行通讯后,计算机II接收到的数据; (3)完成后,系统提示“do you want to send another data? Y/N”,根据用户需要,在键盘按下“Y”键,则重复步骤(1),进行另一数据的通讯;在键盘按除“Y”键外的任意键,将退出本程序。 2.提高要求 能够进行出错处理,例如采用奇偶校验,出错重传或者采用接收方回传和发送方确认来保证发送和接收正确。 三、 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 要求 1.设计目的和内容 2.总体设计 3.硬件设计:原理图(接线图)及简要说明 4.软件设计框图及程序清单 5.设计结果和 体会 针灸治疗溃疡性结肠炎昆山之路icu常用仪器的管理名人广告失败案例两会精神体会 (包括遇到的问题及解决的方法) 四、8251A通用串行输入/输出接口芯片 由于CPU与接口之间按并行方式传输,接口与外设之间按串行方式传输,因此,在串行接口中,必须要有“接收移位寄存器”(串→并)和“发送移位寄存器”(并→串)。能够完成上述“串←→并”转换功能的电路,通常称为“通用异步收发器”(UART:Universal Asynchronous Receiver and Transmitter),典型的芯片有:Intel 8250/8251。 8251A异步工作方式: 如果8251A编程为异步方式,在需要发送字符时,必须首先设置TXEN和CTS#为有效状态,TXEN(Transmitter Enable)是允许发送信号,是命令寄存器中的一位;CTS#(Clear To Send)是由外设发来的对CPU请求发送信号的响应信号。然后就开始发送过程。在发送时,每当CPU送往发送缓冲器一个字符,发送器自动为这个字符加上1个起始位,并且按照编程要求加上奇/偶校验位以及1个、1.5个或者2个停止位。串行数据以起始位开始,接着是最低有效数据位,最高有效位的后面是奇/偶校验位,然后是停止位。按位发送的数据是以发送时钟TXC的下降沿同步的,也就是说这些数据总是在发送时钟TXC的下降沿从8251A发出。数据传输的波特率取决于编程时指定的波特率因子,为发送器时钟频率的1、1/16或1/64。当波特率指定为16时,数据传输的波特率就是发送器时钟频率的1/16。CPU通过数据总线将数据送到8251A的数据输出缓冲寄存器以后,再传输到发送缓冲器,经移位寄存器移位,将并行数据变为串行数据,从TxD端送往外部设备。 在8251A接收字符时,命令寄存器的接收允许位RxE(Receiver Enable)必须为1。8251A通过检测RxD引脚上的低电平来准备接收字符,在没有字符传送时RxD端为高电平。8251A不断地检测RxD引脚,从RxD端上检测到低电平以后,便认为是串行数据的起始位,并且启动接收控制电路中的一个计数器来进行计数,计数器的频率等于接收器时钟频率。计数器是作为接收器采样定时,当计数到相当于半个数位的传输时间时再次对RxD端进行采样,如果仍为低电平,则确认该数位是一个有效的起始位。若传输一个字符需要16个时钟,那么就是要在计数8个时钟后采样到低电平。之后,8251A每隔一个数位的传输时间对RxD端采样一次,依次确定串行数据位的值。串行数据位顺序进入接收移位寄存器,通过校验并除去停止位,变成并行数据以后通过内部数据总线送入接收缓冲器,此时发出有效状态的RxRDY信号 通知 关于发布提成方案的通知关于xx通知关于成立公司筹建组的通知关于红头文件的使用公开通知关于计发全勤奖的通知 CPU,通知CPU8251A已经收到一个有效的数据。一个字符对应的数据可以是5~8位。如果一个字符对应的数据不到8位,8251A会在移位转换成并行数据的时候,自动把他们的高位补成0。 五、系统总体设计方案 根据系统设计的要求,对系统设计的总体方案进行论证分析如下: 1.获取8位开关量可使用实验台上的8255A可编程并行接口芯片,因为只要获取8位数据量,只需使用基本输入和8位数据线,所以将8255A工作在方式0,PA0-PA7接实验台上的8位开关量。 2.当使用串口进行数据传送时,虽然同步通信速度远远高于异步通信,可达500kbit/s,但由于其需要有一个时钟来实现发送端和接收端之间的同步,硬件电路复杂,通常计算机之间的通信只采用异步通信。 3.由于8251A本身没有时钟,需要外部提供,所以本设计中使用实验台上的8253芯片的计数器2来实现。 4:显示和键盘输入均使用DOS功能调用来实现。 设计思路框图,如下图所示: 六、硬件设计 硬件电路主要分为8位开关量数据获取电路,串行通信数据发送电路,串行通信数据接收电路三个部分。 1.8位开关量数据获取电路 该电路主要是利用8255并行接口读取8位乒乓开关的数据。此次设计在获取8位开关数据量时采用8255令其工作在方式0,A口输入8位数据,CS#接实验台上CS1口,对应端口为280H-283H,PA0-PA7接8个开关。 2.串行通信电路 串行通信电路 本设计中8253主要为8251充当频率发生器,接线如下图所示。 如图,8251A的TxCLK和RxCLK均接8253的OUT0,8253的GATE0接地,CLK0接实验台上Q0,CS#接实验台上CS4(即290H-293H),8253采用0号计数器,工作在方式3下,输出方波信号给8251A作为时钟信号。 七、系统软件设计 软件设计主要由主程序、串口通信发送端子程序、串口通信接收端子程序及8253波特率设置子程序等组成,下面将对所涉及到的程序进行逐一介绍。 1. 主程序 主程序主要包含以下部分: 1) 系统初始化:主程序首先对系统环境进行初始化,设置8251所需时钟频率,由8253提供,8253工作在方式3。 2) 键盘扫描:扫描键盘上是否有指定键输入,比如开始时扫描启动键R又比如程序最后查询是否继续: 3)获取数据:采用8255,工作在方式0,A口输入8位开关数据量 4)传送数据:采用8251A芯片,使用异步传送方式,8位数据无校验,2位停止位,波特率因子为64。当未接接收端机器时,可使用示波器观测输出数据波形。本设计中,串行传输的数据格式规定如下: 一位逻辑‘0’的起始位,8位数据位(由低位开始传输),2位逻辑‘1’停止位。传输波特率9600baut。数据信号的串行输出送示波器,可观察数据波形。 5)接收并检测数据:接收数据后检测数据是否出错,若出错则在屏幕上显示出错信息。 主程序的框图如下: 2. 串口数据发送的实现 本设计采用异步传送方式,8位数据无校验位,2位停止位,波特率因子为64。 8251A的初始化与其他芯片有个很重要的不同之处,在8251A的方式字和命令字写入之前需要先进行一次复位,一般采用先送3个00H,再送40H的方法,这是8251A的编程约定。 当复位完之后,由于8251A芯片只提供2个分别用于命令寄存器和数据寄存器的可访问地址,所以按照约定第一次写入奇地址的是方式选择字。如果编程8251A的工作方式为同步方式,紧接着送入奇地址的是同步字。方式选择字还规定了同步字的个数,必须根据方式字的设定,向奇地址写入1个或按顺序写入2个同步字。 之后,写入奇地址的数据一概被认为是命令字。命令字中如果包含复位命令,8251A被复位。其后送入奇地址的字节又被认为是方式字。命令字中如果不包含复位命令,初始化完毕,便可以开始使用偶地址传送数据。 串行接口和CPU的数据交互方式定义为状态查询方式,也就是说CPU是采用查询方式来和串行接口通信的,通过不断对串行接口的状态采样来确定串行接口的状态,从而决定应该采取什么样的动作。只有当状态字的D2位发送缓冲器空为1、D0位发送就绪为1时才进行下一数据发送,同样当状态字的D1位接收就绪为1时才进行下一数据的接收。 8251A串口数据发送程序流程图如下图所示: 3. 串口通信数据接收的实现 8251A串口数据接收程序流程图如下: 各 模 块 初 始 化 8位数据量采集显示 数 据 经 串 口 发 送 另 一 PC 接 收 数 据 显 示 显示出错信息 正确 退出 是 传送数据 获取数据 是� 否� 开始 系统初始化 显示欢迎信息 R是否按下 接收并检测 是否继续 错误 否 是 是 设置8251A数据口地址 取出数据 传送数据 继续传送吗? 返 回 否 读取8251A状态字 设置8251A工作方式 设置8251A操作命令 取数据段偏移地址 开 始 复位8251A 发送器空吗? 否 否 否 是 显示出错信息 是 设置8251A数据口地址 接收数据 显示数据并保存 数据出错? 返 回 读取8251A状态字 设置8251A工作方式 设置8251A操作命令 取数据接收区首地址 开 始 复位8251A RxRDY为1?
本文档为【PC机之间串口通信的实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_345695
暂无简介~
格式:doc
大小:85KB
软件:Word
页数:7
分类:互联网
上传时间:2013-01-15
浏览量:20