串口通信测试方法_第1页
串口通信测试方法_第2页
串口通信测试方法_第3页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、串口通信测试方法1关于串口通信的一些知识:RS-232C是目前最常用的串行接口标准,用来实现计算机和计算机之间、计算 机和外设之间的数据通信。在PC机系统中都装有异步通信适配器,利用它可以实现异步串行通信。而且 MCS-51单片机本身具有一个全双工的串行接口,因此只要配以电平转换的驱动 电路、隔离电路就可以组成一个简单可行的通信接口。由于MCS-51单片机的输入和输出电平为 TTL电平,而PC机配置的是RS-232C 标准串行接口,二者电气规不一致,因此要完成 PC机与单片机的数据通信,必 须进展电平转换。注明:3RS-232C±传送的数字量采用负逻辑,且与地对称逻辑1: -3-15

2、V逻辑0: +3+15V所以与单片机连接时常常需要参加电平转换芯片:2实现串口通信的三个步骤:1硬件连接51单片机有一个全双工的串行通讯口, 所以单片机和计算机之间可以 方便地进展串口通讯。进展串行通讯时要满足一定的条件, 比方计算机的串口是 RS232电平的,而单片机的串口是 TTL电平的,两者之间必须有一个电平转换电 路,我们采用了专用芯片MAX232进展转换。我们采用了三线制连接串口,也就 是说和计算机的9针串口只连接其中的3根线:第5脚的GND第2脚的RXD 第3脚的TXB电路如下列图所示,MAX232的第10脚和单片机的11脚连接, 第9脚和单片机的10脚连接,第15脚和单片机的20

3、脚连接。vccCAP-牟鼻p *CJLP 2*匚丄PCJLP 2-CAP ! jRT-OUTl TimKTOUTS TIW2II101*1X339U60IV CC1 T卜 tOjFvcc使用MAX232串口通信电路图9孔串口接头2串行通信程序设计 通信协议的使用通信协议是通信设备在通信前的约定。单片机、计算机有了协议这种约定,通信双方才能明白对方的意图,以进展下一步动作。假定我们需要在PC机与单片机之间进展通信,在设计过程中,有如下约定:0x31: PC机发送0x31,单片机回送0x01,表示选择本单片机;Ox* : PC机发送0x*,单片机回送0x*,表示选择单片机后发送数据通信正常;在系统

4、工作过程中,单片机接收到 PC机数据信息后,便查找协议,完 成相应的操作。 串行通信程序设计主要有微机发送接收程序和单片机发送接收程序,微机上的发送和接收程序主要采用计算机高级语言编写,如C语言,因为了能够在计算机 端看到单片机发出的数据,我们必须借助一个 WINDOWS软件进展观察,这里利 用如下列图标的一个免费计算机串口调试软件, 故而这一块计算机通信的程序可 不写!在单片机上主要用汇编或 C编写,在使用串口之前,必须先对串口进展初始化,主要是设置产生波特率的定时器1、串口控制和中断控制。具体步骤如下:(1) 确定定时器1的工作方式一一编程TMOD存放器设置波特率(2)确定串口的控制编程

5、SCON(3) 串口的中断方式,必须开 CPU和源中断一一编写IE存放器;(4)计算定时器1的初值一一装载TH1, TL1;5) 启动定时器1编程TCON中的TR1位。为何串行口的工作方式选择方式1,这是针对于我们平常最常用的,单纯一块板 对应于我们的私人电脑,所以就无须考虑是哪一块板发来的信息,即无须分清是 数据帧还是地址帧。因为此时属于直通方式,所以无须考虑的。方式1为波特率可变的10位异步通讯接口方式,发送或接收一帧信息,包括1个起始位0,8个数据位和一个停顿位1,其中的起始位和停顿位在发送时自动 插入的。输出:当单片机执行一条指令将数据写入发送缓冲SBUF且TI=0时,就启动发送。串行

6、数据从TXD引脚输出,发送完一帧数据后,就有硬件置位 TI。输入:在REN =1时,串行口采样RXD引脚,当采样到1到0的跳变时,确 认是串行发送来的一帧数据的开场位 0,从而开场接收一帧数据。在接收到附加 的第9位数据后,当满足1Rl=02SM2=0或接收到的第9位数据为1时, 第9位数据停顿位才进入 RB8, 8位数据才能进入接收存放器,并由硬件置 位中断标志RI否那么信息丧失。所以在方式1接收时,应先用软件清零RI和SM2 标志。通常串行接口以方式1工作时,SM2置为0.而我们现实中需要的是一个机器中多块板进展显示和读取数据,所以这里不得不采取SM2=1的多机通信,而且我们一般采取的方式

7、为方式 3,TB8发送数据位, 在模式2和3是要发送的第9位。该位可以用软件根据需要置位或去除, 通常这 位在通信协议中做奇偶位,在多处理机通信中这一位那么用于表示是地址帧还是 数据帧。这里就可以根据地址判断出我们需要选取的板是不是方位监测板。注明:如果用C语言来写的话,无论你是先发地址帧,然后数据帧,还是只发数 据帧,最后显示的都是一样的容,而汇编语言是不行的。SM2:多机通信控制位,仅用于方式 2和方式3.接收状态时,当串行口工作于方式2或3时,以及SM2=1时,只有当接收 到的第九位数据为1时,才把接收到的前8位数据送入SBUF且置位RI发出中 断申请,否那么会将接收到的数据丢弃。而当

8、SM2=0时,就不管接收到的第九 位数据为多少,直接送入并申请中断,因为这个时候是直通方式。注明:这里如果在SM2=1的时候,发来的是数据而不是地址,那么不会发 出中断请求,不会进入中断效劳程序。就像我一直以为要判断数据是第一次发 来的还是SM2=0后发来的,其实不需要如不需要 MOV A,SCON;判断是不是第二次中断后发来的数据CJNE A,#90H,WAIT发来的如果是数据,能够进入中断效劳程序的一定是SM2清零后的数据。方式2为固定波特率的11位UART方式,它比方式1增加了一位可程控为1或0 的第9位数据。输出:发送的串行数据由TXD端输出一帧信息为11位,附加的第9位来自SCON

9、存放器的TB8位,用软件置位或复位。它可作为多机通信中地址、数据信息的标 志位;也可以作为数据的奇偶校验位。当单片机执行一条数据写入SUBF的指令且TI=0时,就启动发送器发送。发送一帧信息后,置位中断标志 TI,发送完一 个之后,如果TI不清零的话,那么会一直发送在发送缓冲器里的数据JNB TI,$CLR TJ输入:在REN =1时,串行口采样RXD引脚,当采样到1到0的跳变时,确 认是串行发送来的一帧数据的开场位 0,从而开场接收一帧数据。在接收到附加 的第9位数据后,当满足1Rl=02SM2=0或接收到的第9位数据为1时, 第9位数据地址位或者数据位才进入 RB8, 8位数据才能进入接收

10、存放器, 并由硬件置位中断标志RI,此时申请中断,进入中断效劳程序RB8=1标志此时是一个地址帧,SM2=1时,将地址转入SBUF置位RI,发出 中断请求,假设相符,那么将从机的SM2清零,变成直通方式,准备承受其后 传送来的数据。RB8=0数据帧,对SM2=1, RB8=0的从机接收到直接丢弃,而对SM2=0的从机, 直通方式,不管RB8是0还是1,都将承受并将置位,发出中断请求。注明:多机处理通信方式,首先保证每一台从机在系统中的编号是唯的。系统初始化时,将所有从机中的 SM2均置1,并处于允许串行口中断接 收状态。主机欲与某从机通信时,先向所有从机发出从机的地址,然后才接着发命令或者 数

11、据。在主机发地址时,置第 9位数据TB8为1,表示主机发送的是地址帧, 然后才将第9位数据TB8清0,发送命令或数据。3观察结果:下面列举一个使用的串口通信测试软件, 其功能为,将PC机键盘的输入发送 给单片机,单片机收到PC机发来的数据后,回送同一数据给 PC机,并在屏幕 上显示出来,只要两者一样,那么说明两者之间的通信正常。在PC上翻开软件串口调试器.exe设置端口号1,波特率4800,数据位8,停顿位1,翻开串口,并勾选发送区的“十六进制与接收区的“十六进制。发送 数据时根据通信协议将一帧通信数据划分为地址码和功能数据码。要完成一帧通信数据的发送,要在串口调试器.exe分先后两次发送实现

12、。首先发送地址,如图2所示操作:图2接下来,发送功能数据码操作如图3所示:图3注:在切换发送地址码和功能数据码时,都要先关闭串口,再设置校验位,要发送时再翻开串口。还有就是不同版本的串口调试器, 可能在发送数据功能码 时是否加空格分开有一定的区别。4通信故障分析过程如果串口通信不行的话,按以下步骤进展检查: 将MAX232芯片翘起来,将MAX232的7脚和8脚用镊子短路,那么在串口 调试器上自动发送一个数值,那么应回显同样的一个数值,如果可回显,那么表 示电脑的串口是可以正常通信了, 如果不行,那么代表电脑的串口不行,重新更 换电脑; 如果电脑的串口可以的话,那么查看 MAX232是否正常,那么拿镊子将单片 机的第10脚和第11脚短路,那么串口同样可以自动收发数据,如果不行的话, 那么为MAX232芯片有问题:先更换芯片;如果芯片正常,那么查看外围的极性电容是否正常焊接,一般不正常焊接极 性电容也会出现以上问题; 如果以上检查都正常,出现串

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论