串口通信实验指导书

合集下载

#RS232通信编程实验指导书

#RS232通信编程实验指导书

目录0 序言 21 理论背景 3串口通讯的见解及接口电路 3传输速率与传输距离 5波特率 5发送/接收时钟 6波特率因子 7传输距离 7奇偶校验 8网络通讯的数据包 <帧) 91.4.1 HDLC 的帧构造 10点对点协议PPP的帧构造111.5 调制解调器 <MODEM)和流控制 11调制解调器<MODEM)11流控制132 技术背景162.1 RS-23216电气特点17连结器的机械特点192.1.3 RS-232的接口信号202.2 远距离通讯 25采用Modem(DCE>和电话网通讯时的信号连结25采用专用电话线通讯262.3 近距离通讯 27零Modem的最简单连线<3线制)27零Modem标准连结283 设计过程303.1 串行通讯资料 30串行通讯端口30串口通讯线303.2 整体设计见解与功能描绘32整体设计见解32字节传输33文本文件传输344 设计成就与运行过程354.1 实时信息交互功能354.2 文本和文件的传输440序言在各样单片机应用系统设计中,如智能仪器仪表、各样手持设备、 GPS 接收器等,都会碰到怎样与PC 机进行通讯的问题。

在数据量不大、传输速率要求不高的情况下,一般都采用串行通讯方式,即经过与PC 机配置的RS-232标准串行接口COM1 、 COM2 等相连结来实现应用系统与PC 机之间的数据互换。

比方南天加密键盘,它是南天自主开发的新产品,采用扫描式16 键金属键盘,用单片机与DES 芯片实现管理和控制,经过RS232 通讯口与PC 机相连。

它是针对南天自助产品而研制的,可对键盘敲入的键码加密,以密文形式送到PC 机,保证通讯过程中的数据加密,有效地保护键盘交易信息的安全。

本课题以计算机科学与技术专业的理论知识为基础,以计算机通讯技术为支撑,在全面掌握计算机通讯基本理论和基本技术的基础上,利用RS— 232 接口接口规范,设计与实现一个计算机通讯系统。

数据通信实验指导书(p)

数据通信实验指导书(p)

实验1 计算机串口实验一、实验目的1.了解计算机串口通信协议;2.了解RS232/TTL电平转换的专用芯片MAX232的资料。

二、实验仪器1.实验平台2.20M双踪示波器1台3.信号连接线1根4.计算机串口线1根三、实验原理串口协议是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。

大多数计算机包含两个基于RS232的串口。

串口协议同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。

同时,串口通信协议也可以应用于远程采集设备。

串口通信的概念非常简单,串口按位(bit)发送和接收字节。

尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。

它很简单并且能够实现远距离通信。

比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。

典型地,串口用于ASCII码字符的传输。

通信使用3根线完成:(5)地线,(3)发送,(2)接收。

由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。

其他线用于握手,但是不是必须的。

串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。

对于两个进行通行的端口,这些参数必须匹配:(1)波特率:这是一个衡量通信速度的参数。

它表示每秒钟传送的bit的个数。

例如300波特表示每秒钟发送300个bit。

当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。

这意味着串口通信在数据线上的采样率为4800Hz。

通常电话线的波特率为14400,28800和36600。

波特率可以远远大于这些值,但是波特率和距离成反比。

高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。

(2)数据位:这是衡量通信中实际数据位的参数。

串口实验指导书

串口实验指导书

串口实验指导书 中国计量学院机电工程学院-陈锡爱VC简介VC++是微软公司开发的C++语言开发环境,VC的特点是微软公司做了一个自己独有的类库MFC,里面封装了绝大多数的API函数,使得WINDOWS程序的开发变的很高效和易于理解,如果用API直接开发WINDOWS程序的话,将会是一件非常烦琐的工作,WINDOWS对资源的管理是非常严格的这与DOS可直接用中断处理程序和I/O指令操作硬件端口是截然相反的;所以这个MFC就是VC和其他公司出产的编译器的最大区别了,当然了别的公司也有自己封装API的类库比如DELPHI(这个不是C++的是pascol的)等等,不过由于微软公司掌握着WINDOWS内核的全部秘密,所以他们的编译器与其他公司的相比有其独到的优势。

第一,快速高效:C语言从诞生起最大的优点就是速度快,用C编写的代码可以达到汇编语言编写的代码执行速度的70%——80%。

VC完全继承了这一特点,并且由于代码优化工作做的比较好,其代码的结构紧凑、效率极高。

第二,语言简练:VC还延续了传统C语言的简练风格,如pascal语言中的begin end在VC中可以用简单的{}表示。

第三,贴近硬件:C语言被很多专业人士称为“介于高级语言和汇编语言之间的一种语言”由于C语言贴近硬件便于对硬件直接操作因此又有“系统程序设计语言”的美称。

这一特点使得C语言特别擅长编写系统程序,如windows就是用C语言编写的。

VC具有同样的优良品质。

第四,灵活多变:VC像C语言一样提供给编程者一个很自由的编程环境,丰富的表达方式可以表现程序的匠心独运,用VC编程可以让你体会到什么叫“天高任鸟飞”。

你可以彻底地控制整个开发环境。

其它语言则更多地趋向于庇护程序员,当要做一些基本的东西时,它们会做得很好。

第五,便于移植:C语言在unix系统上取得巨大成功的一个主要因素是C语言的移植度好,不依赖于特定的硬件环境,可以方便地跨平台移植。

串口通信实验指导书

串口通信实验指导书

串口通信实验1实验目的掌握ARM的串行口工作原理。

学习并编程实现ARM的UART通信。

掌握S3C2410X寄存器配置方法。

2实验内容实现查询方式串口的收发功能。

接受来自串口(通过超级终端)的字符,并将接收到的字符发送到超级终端。

基础知识串行通信接口电路一般由可编程的串行接口芯片、波特率发生器、EIA与TTL电平转换器及地址译码电路组成。

采用的通信协议有两类:异步协议和同步协议。

随着大规模继承电路技术的发展,通用的同步USRT和异步UART接口芯片种类越来越多,他们的基本功能是类似的。

采用这些芯片作为串行通信接口电路的核心芯片,会使电路结构比较简单。

S3C2410X串行口控制器S3C2410X自带3个异步串行口控制器,每个控制器有16字节的FIFO,最大波特率为115200kbps。

每个UART有7种状态:溢出错误、校验错误、帧错误、暂停错误、接受缓冲区准备好、发送缓冲区空、发送移位寄存器空。

这些状态可由形影的UTRSTATn或UERSTATn 寄存器表示,并且与发送、接受缓冲区相对应的有错误缓冲区。

通过设置UCONn寄存器选择UART时钟是由cpu内部的系统时钟(PCLK)产生还是由外部UART设备的时钟(UCLK)产生。

波特率的大小可以通过设置波特率寄存器(UBRDIVn)控制,使用PCLK时的计算公式如下:UBRDIVn =(int)[PCLK / (波特率*16)] -1使用UCLK时的计算公式如下:UBRDIVn =(int)[UCLK / (波特率*16)] -1例如:在使用PCLK,在40MHZ的情况下,当波特率取115 200 bps时:UBRDIVn =(int)[40 000 000 / (115 200*16)] -1 =20 与UART有关的寄存器主要有一下几个,关于寄存器的详细说明请参考S3C2410X的数据手册。

线路控制寄存器ULCONn。

该寄存器的第6位决定是否使用红外模式,位5~3决定校验方式,位2决定停止位长度,位1和位0决定每帧的数据位。

实验7_串口通信实验

实验7_串口通信实验

UART TRANSMIT HOLDING(BUFFER) REGISTER & FIFO REGISTER
UART RECEIVE HOLDING (BUFFER) REGISTER & FIFO REGISTER
UART BAUD RATE DIVISION REGISTER
波特率的产生
3. 使用EmbestIDE通过Embest仿真器连接实验板,打开实 验例程目录下uart_test子目录下的Uart_Test.ews例程, 下载并运行它。
实验操作步骤
4. 在PC上观察超级终端程序主窗口,可以看到如下界面:
Embest S3CEV40 >
5. 通过PC机键盘输入字符,可以看到相应的字符显示在 超级终端主窗口,输入回车,所有字符一次性回显出 来。
实验原理
3. UART操作简介
发送数据帧和接受数据帧都是是可编程的。一 个数据帧包含一个起始位,5到8个数据位,一 个可选的奇偶校验位和1到2位停止位,停止位 通过行控制寄存器ULCONn配置。 接收器还可以检测过速错,奇偶校验错,帧错 误和传输中断,每一个错误均可以设置一个错 误标志。
实验原理
4. 与UART有关的寄存器
UART行控制寄存器ULCONn UART控制寄存器UCONn 发送寄存器UTXH和接收寄存器URXH 波特率分频寄存器UBRDIV
UART Block Diagram (with FIFO)
UART LINE CONTROL REGISTER
UART CONTROL REGISTER
实验4 串口通信实验
1实验目的 2实验设备 3实验内容 4实验原理 5实验操作步骤
1实验目的
通过实验了解S3C44B0x处理器串行口 (UART)的结构,串行通讯的原理。 掌握ARM处理器串行通信的编程方法。

微机实验6(串口通信实验)

微机实验6(串口通信实验)
.
开课实验室:电子信息楼 503 学院 年级、专 业、班
微机
实验报告
年 月 日
姓名
学号
指导教 课程 实验项目 串口通信 微机 成绩 师签名 名称 名称 实验 一、实验目的 1、掌握单片机串行口工作方式的程序设计,及简易三线式通讯的方法。 2、了解实现串行通讯的硬环境、数据格式的协议、数据交换的协议。 3、学习串口通讯的中断方式的程序编写方法。 二、实验内容 利用单片机串行口,实现两个实验台之间的串行通讯。其中一个实验台作为发 送方,另一侧为接收方。发送方读入按键值,并发送给接收方,接收方收到数据后 在 LED 上显示。
三、实验原理 1、8051RXD、TXD 接线柱在 POD51/96 仿真板上。 2、通讯双方的 RXD、TXD 信号本应经过电平转换后再行交叉连接,本实验中为 减少连线可将电平转换电路略去,而将双方的 RXD、TXD 直接交叉连接。也可以将本 机的 TXD 接到 RXD 上,这样按下的键,就会在本机 LED 上显示出来。 3、若想与标准的 RS232 设备通信,就要做电平转换,输出时要将 TTL 电平换成 RS232 电平,输入时要将 RS232 电平换成 TTL 电平。可以将仿真板上的 RXD、TXD 信 号接到实验板上的“用户串口接线”的相应 RXD 和 TXD 端,经过电平转换,通过“用 户串口”接到外部的 RS232 设备。可以用实验仪上的逻辑分析仪采样串口通信的波 形。
movx a, @r0 cpl a anl a, #0fh jnz Goon1 djnz r2, KLoop
; 该列有键入
mov r2, #0ffh sjmp Exit Goon1: mov r1, a
; 没有键按下, 返回பைடு நூலகம்0ffh

9 串口通信指导书

9 串口通信指导书

淘宝店铺:/目录串口通信原理 (3)1、串行通讯基本概念 (3)2、MCS-51单片机的串行接口 (4)3.串行工作方式2 (7)4、RS232硬件电路介绍 (10)5、RS485硬件电路介绍 (11)EX9.1、RS232通信 (13)EX9.2、RS485双向通信 (16)串口通信原理1、串行通讯基本概念计算机与外界的信息交换称为通信。

常用通信方式有两种:并行通信与串行通信,简称并行传送和串行传送。

并行传送具有传送速度快,效率高等优点,但传送多少数据位就需要多少根数据线,传送成本高;串行传送是按位顺序进行数据传送,最少仅需要一根传输线即可完成,传送距离远,但传送速度慢。

串行通信又分同步和异步两种方式。

这两种通信方式的区别在于发送设备时钟与接收设备时钟是否严格一致。

同步通信中,在数据传送开始时先用同步字符来指示(常约定1-2个),并由同时传送的时钟信号来实现发送端和接收端同步,即检测到规定的同步字符后,接着就连续按顺序传送数据。

这种传送方式对硬件结构要求较高。

异步通信中,接收器和发送器有各自的时钟,它们的工作是非同步的,异步通信用一帧来表示一个字符,其内容如下:一个起始位,仅接着是若干个数据位,下图中传输45H的数据格式。

另外一个字符应包括以下信息:1. 起始位:对应逻辑0(space)状态。

发送器通过发送起始位开始一帧字符的传送。

2. 数据位:起始位之后传送数据位。

数据位中低位在前,高位在后。

数据位可以是5、6、7、8位。

3. 奇偶校验位:奇偶校验位实际上是传送的附加位,若该位用于奇偶校验,可校检串行传送的正确性。

奇偶校验位的设置与否及校验方式(奇校验还是偶校验)由用户需要确定。

4. 停止位:用逻辑1(mark)表示。

停止位标志一个字符传送的结束。

停止位可以是1、1.5或2位。

串行通信中用每秒传送二进制数据位的数量表示传送速率,称为波特率。

1波特=1bps(位/秒)例如数据传送速率是240帧/秒,每帧由一位起始位、八位数据位和一位停止位组成,则传送速率为:10×240=2400位/ 秒=2400波特在串行通信中,数据是在两个站之间传送的。

RS485实验指导书

RS485实验指导书

实验一实验板点对点通信【实验目的】1. 建立双机通信的概念2. 掌握单片机串行口通信的编程和调试方法。

3. 掌握异步串行通信的数据格式及数据协议设定。

【实验环境】PC机一台,keil开发环境一套,RS232通信线【实验重点及难点】串行口通信的程序的设计,以及硬件的连接数据通信的协议等。

【实验原理介绍】1.1 程序下载方式介绍1.1.1 RS232与上位机通信下载程序由于要从上位机中下载程序到单片机中,所以需要建立他们之间的通信线路。

本实验采用MAX232芯片,max232是一种把电脑的串行口rs232信号电平(-10 ,+10v)转换为单片机所用到的TTL信号点平(0 ,+5)的芯片,下面介绍一下max232引脚图,看下面的图。

图3.1 max232引脚图本实验中采用11、12、13、14号管脚作输入输出,其中13、14与DB9连接,11、12与单片机连接。

1.1.2 485通信485通信的过程如下:从DB9接收数据,经过max485芯片实现电平转换,然后max485芯片经过高速光耦与单片机通信,将数据送入单片机中进行处理;处理完成后将数据返回至max485,再经DB9输出。

如此就可实现两单片机之间的通信或单片机与上位机间的通信。

下面介绍一下max485芯片接线方法,如下图示:图2 max485接线图其中1、4为输入输出管脚,经光耦与单片机连接,2、3为使能端,6、7为与外部通信接口。

1.2 MCU功能介绍本实验中选择stc12c5a60s2系列单片机,其管脚图如下:图3 tc12c5a60s2单片机管脚图stc12c5a60s2系列单片机是单时钟的单片机,增强型8051内核,速度比普通8051快8~12倍,宽电压:5.5~3.5V,2.2~3.8V,低功耗设计:空闲模式,掉电模式,工作频率:0~35MHz.时钟:外部晶体或内部RC振荡器可选,在ISP下载编程用户程序时设置。

全双工异步串行口,兼容8051的串口。

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

串口通信实验
一、实验目的
1、掌握8051单片机串行口工作原理;
2、掌握串口编程与调试方法;
3、掌握串口通信中标志位的查询法与中断法
二、实验任务
1、设置仿真器模块和Keil软件
2、接收PC机发送的控制命令,并返回字符;
3、根据控制命令,控制LED的亮灭;
三、实验设备
1、ID101 89S5x单片机模块
2、ID216 流水灯与交通灯模块
3、ID204 RS232模块(或者ID205 USB转串口模块)
4、STC单片机仿真模块(IAP15W4K58S4)
5、ID205 USB转串口模块
6、USB线(方口/打印机数据线)
7、RS232线(235连线,23交叉,选用)
8、便携电源箱(220V电源线、4芯端子直流电源线)
四、实验内容和步骤
(一)串口通信介绍
串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节。

尽管比按字节(byte)的并行通信慢,但是串最基本的串口通信只需要使用3根线即可完成全双工通信,分别是地线、发送、接收。

串口通信也可以有其他辅助通信线用于握手,但不是必须的。

串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。

对于两个进行通信的端口,这些参数必须匹配。

波特率:这是一个衡量符号传输速率的参数。

指的是信号被调制以后在单位时间内的变化,即单位时间内载波参数变化的次数,如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位,1个停止位,8个数据位),这时的波特率为240Bd,比特率为10位*240个/秒=2400bps。

起始位:起始位必须是持续一个比特时间的逻辑0电平,标志传输一个字符的开始,
接收方可用起始位使自己的接收时钟与发送方的数据同步。

数据位:这是衡量通信中实际数据位的参数,是通信中的真正有效信息。

数据位的位数可以由通信双方共同约定,一般可以是5位、7位或8位,标准的ASCII码是0~127(7位),扩展的ASCII码是0~255(8位)。

传输数据时先传送字符的低位,后传送字符的高位。

停止位:停止位可以是是1位、1.5位或2位,可以由软件设定。

它一定是逻辑1电平,标志着传输一个字符的结束。

奇偶校验位:奇偶校验位仅占一位,用于进行奇校验或偶校验,奇偶检验位不是必须有的。

如果是奇校验,需要保证传输的数据总共有奇数个逻辑高位;如果是偶校验,需要保证传输的数据总共有偶数个逻辑高位。

举例来说,假设传输的数据位为01001100,如果是奇校验,则奇校验位为0(要确保总共有奇数个1),如果是偶校验,则偶校验位为1(要确保总共有偶数个1)。

由此可见,奇偶校验位仅是对数据进行简单的置逻辑高位或逻辑低位,不会对数据进行实质的判断,这样做的好处是接收设备能够知道一个位的状态,有可能判断是否有噪声干扰了通信以及传输的数据是否同步。

计算机上的串口是具有RS-232 标准的串行接口,而RS-232 的标准中定义了其电气特性:高电平“1”信号电压的范围为-15V~-3V,低电平“0”信号电压的范围为+3V~+15V,高低电平用相反的电压表示,至少有6V 的压差,非常好的提高了数据传输的可靠性。

由于单片机的管脚电平为TTL,单片机与RS-232 标准的串行口进行通信时,首先要解决的便是电平转换的问题。

一般来说,可以选择一些专业的集成电路芯片,如图中的MAX3232。

MAX3232 芯片内部集成了电压倍增电路,单电源供电即可完成电平转换,而且工作电压宽,3V~5.5V 间均能正常工作。

但是,随着计算机的发展,占有较大体积的9针串口接口被逐步淘汰,取而代之是标准的USB接口,但是这种串行通信方式一直备用硬件设备使用,所以就出现了计算机端的USB转串口模块。

在我们实验中,只是短距离的通信,USB转串口模块的串口信号电平为TTL电平,可以与单片机串口直接连接。

常用的国内USB转串口芯片,是CH340,使用时需要安装驱动。

串口通信连接图如下:
2.仿真器引脚与传统标准80C51单片机引脚对比
传统51单片机都有一个全双工串行接口,P3.0为RXD接收端口,P3.1为TXD发送端口,如下图中右图。

而后来出来的51单片机,如STC单片机都有一个或多个串口,如下图中左图,仿真器单片机中,拥有2个串口(P3.0为RXD1接收端口,P3.1为TXD1发送端口;P1.0为RXD2接收端口,P1.1为TXD2发送端口)。

本实验中,由于采用了STC单片机型仿真器,占用了传统的P3.0/P3.1串口,串口实验只能使用串口2(P1.0/P1.1)。

使用串口2,参考STC15系列单片机手册,配置P_SW2(外设功能切换寄存器2)、S2CON(串口2 控制寄存器)、定时器2(T2H/T2L,波特率)、IE2(中断控制寄存器2)。

仿真时,单片机型号选择STC15F2K60S2.
图STC仿真器模块与传统89C51单片机引脚定义
(二)查询方式
(1)初始化
//初始化串口2 P1.0->RXD2 P1.1->TXD2
void InitUART2 (void)
{
P_SW2 &= ~S2_S0; //S2_S0=0 (P1.0/RxD2, P1.1/TxD2)
S2CON = 0x50; // SCON: 模式 1, 8-bit UART, 使能接收 P1.0->RXD2 P1.1->TXD2
T2L = (65536 - (FOSC/4/BAUD)); //设置波特率重装值
T2H = (65536 - (FOSC/4/BAUD))>>8;
AUXR = 0x14; //T2为1T模式, 并启动定时器2
IE2 = 0x00; //去使能串口2中断
EA = 0; //关闭总中断
}
(2)查询接收中断请求标志
while(!(S2CON & S2RI)); //查询单字节是否接收结束,未置位则等待
S2CON &= ~S2RI; //清除S2RI位
Uart2_rev = S2BUF; //取出接收到的数据字节
(3)查询发送中断请求标志
S2BUF = data8; //发送data8字节
while(!(S2CON & S2TI)); //查询单字节是否发送结束,未置位则等待
S2CON &= ~S2TI; //清除S2TI位
(二)中断方式
(1)初始化
//初始化串口2 P1.0->RXD2 P1.1->TXD2
void InitUART2 (void)
{
P_SW2 &= ~S2_S0; //S2_S0=0 (P1.0/RxD2, P1.1/TxD2)
S2CON = 0x50; // SCON: 模式 1, 8-bit UART, 使能接收 P1.0->RXD2 P1.1->TXD2
T2L = (65536 - (FOSC/4/BAUD)); //设置波特率重装值
T2H = (65536 - (FOSC/4/BAUD))>>8;
AUXR = 0x14; //T2为1T模式, 并启动定时器2
IE2 = 0x01; //使能串口2中断
EA = 1; //打开总中断
}
(2)中断处理程序
void Uart2() interrupt 8 using 1
{
if (S2CON & S2RI)
{
S2CON &= ~S2RI; //清除S2RI位
Uart2_rev = S2BUF; //Uart2_rev为定义的全局变量,存储接收的串口字节。

}
else if (S2CON & S2TI)
{
S2CON &= ~S2TI; //清除S2TI位
p_Uart2_tx++;
if(*p_Uart2_tx!='\0')//发送未结束,继续;*p_Uart2_tx为发送字符串的收地址指针
{
S2BUF = *p_Uart2_tx;
}
}
}
(四)实验步骤
1、熟悉待完成的功能,准备好需要的实验模块、线缆和Keil软件;
2、按功能需求连接好硬件,检查硬件;一般情况下,电源指示灯全亮表示硬件正常;注意直流电源线缆检查,在插入单片机之前,用万用表检查绿色端子的输出电压是否正确。

3、设置Keil软件,选择单片机型号,主时钟,仿真器设置等。

4、按功能需求编写代码,仿真,调试;
(五)上位机串口调试软件界面。

相关文档
最新文档