串口通信实验指导书
#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)
实验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_串口通信实验
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(串口通信实验)
开课实验室:电子信息楼 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 串口通信指导书
淘宝店铺:/目录串口通信原理 (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实验指导书
实验一实验板点对点通信【实验目的】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的串口。
实验6 串口通讯实验
ARM7串口通讯实验一、实验目的1、掌握ARM 的串行口工作原理。
2、掌握ARM 的串行口工作原理。
3、学习编程实现ARM 的UART 通讯。
4、掌握CPU 利用串口通讯的方法。
二、实验内容1、学习串行通讯原理,了解串行通讯控制器,阅读ARM 芯片文档,掌握ARM 的UART相关寄存器的功能,熟悉ARM 系统硬件的UART 相关接口。
2、编程实现ARM 和计算机实现串行通讯功能,具体如下:ARM 监视串行口,将接收到的字符再发送给串口(计算机与开发板是通过超级终端通讯的),即按PC 键盘通过超级终端发送数据,开发板将接收到的数据再返送给PC,在超级终端上显示。
三、实验设备1、硬件S3C44B0教学实验箱PC机JTAG仿真器串口线2、软件PC机操作系统ARM Developer Suite v1.2Multi-ICE V2.2.5DNW(或者超级终端)四、预备知识1、了解ADT集成开发环境的基本功能。
2、学习串口通讯的基本知识。
3、熟悉S3C44B0串口有关的寄存器。
五、基础知识1、串行通信接口电路组成:可编程的串行接口芯片、波特率发生器、EIA与TTL电平转换器、地址译码电路。
2、异步串行I/O通信协议:异步协议、同步协议。
3、异步串行通信3.1、异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。
3.2、数据的各不同位可以分时使用同一传输通道,因此串行I/O 可以减少信号连线,最少用一对线即可进行。
3.3、接收方对于同一根线上一连串的数字信号,首先要分割成位,再按位组成字符。
为了恢复发送的信息,双方必须协调工作。
3.4、在微型计算机中大量使用异步串行I/O 方式,双方使用各自的时钟信号,而且允许时钟频率有一定误差,因此实现较容易。
但是由于每个字符都要独立确定起始和结束(即每个字符都要重新同步),字符和字符间还可能有长度不定的空闲时间,因此效率较低。
1.异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。
RS-232通信编程实验指导书
目录0 引言 (2)1 理论背景 (3)1.1串口通讯的概念及接口电路 (3)1.2传输速率与传输距离 (5)1.2.1 波特率 (5)1.2.2 发送/接收时钟 (6)1.2.3 波特率因子 (7)1.2.4 传输距离 (7)1.3奇偶校验 (8)1.4网络通信的数据包(帧) (9)1.4.1 HDLC的帧结构 (10)1.4.2 点对点协议PPP的帧结构 (11)1.5调制解调器(MODEM)和流控制 (12)1.5.1 调制解调器(MODEM) (12)1.5.2 流控制 (14)2 技术背景 (17)2.1RS-232 (17)2.1.1 电气特性 (18)2.1.2 连接器的机械特性 (20)2.1.3 RS-232的接口信号 (22)2.2远距离通信 (26)2.2.1 采用Modem(DCE)和电话网通信时的信号连接 (26)2.2.2 采用专用电话线通信 (28)2.3近距离通信 (28)2.3.1 零Modem 的最简单连线(3线制) (29)2.3.2 零Modem标准连接 (30)3 设计过程 (32)3.1串行通信材料 (32)3.1.1 串行通信端口 (32)3.1.2 串口通信线 (32)3.2总体设计概念与功能描述 (34)3.2.1 总体设计概念 (34)3.2.2 字节传输 (35)3.2.3 文本文件传输 (36)4 设计成果与运行过程 (38)4.1实时信息交互功能 (38)4.2文本和文件的传输 (47)5 总结 (82)0 引言在各种单片机应用系统设计中,如智能仪器仪表、各类手持设备、GPS接收器等,都会遇到怎样与PC机进行通讯的问题。
在数据量不大、传输速率要求不高的情况下,一般都采用串行通讯方式,即通过与PC机配置的RS-232标准串行接口COM1、COM2等相连接来实现应用系统与PC机之间的数据交换。
例如南天加密键盘,它是南天自主开发的新产品,采用扫描式16键金属键盘,用单片机与DES芯片实现管理和控制,通过RS232通讯口与PC机相连。
串口通信实验报告
串口通信实验报告摘要本实验旨在通过串口通信实现两个设备之间的数据传输。
通过使用串口通信协议,我们能够在不同设备之间进行双向数据传输,实现设备之间的数据交互。
本文将介绍串口通信的基本原理、实验设备和步骤、实验结果以及讨论与总结。
一、引言串口通信是一种常用的通信方式,它被广泛应用于计算机、嵌入式系统、智能设备等领域。
串口通信通过连接计算机或其他设备的串口接口,实现设备之间的数据交换。
串口通信具有传输速度快、稳定可靠、易于实现等优点,因此在实际应用中得到了广泛的应用。
二、实验设备和步骤1. 实验设备本实验使用以下设备进行串口通信实验:- 一台计算机- 一块开发板或者单片机- 两根串口线- 软件串口调试助手2. 实验步骤(1)连接串口线首先,将一根串口线的一个端口连接到计算机的串口接口,另一个端口连接到开发板或者单片机的串口接口。
然后,将另一根串口线的一个端口连接到计算机的另一个串口接口,另一个端口连接到开发板或者单片机的另一个串口接口。
(2)设置串口参数打开软件串口调试助手,在设置界面中选择正确的串口号和波特率,并设置其他参数,如数据位、停止位、奇偶校验等。
(3)发送和接收数据在软件串口调试助手的发送界面中输入要发送的数据,并点击发送按钮。
然后,在接收界面中即可看到接收到的数据。
三、实验结果本实验通过串口通信成功地实现了数据的发送和接收。
在软件串口调试助手的发送界面中,我们输入了一段文本,并成功发送到开发板或者单片机。
在接收界面中,我们成功接收到了从开发板或者单片机发送过来的数据,并正确显示在接收界面上。
四、讨论与总结通过本次实验,我们深入了解了串口通信的基本原理和实验步骤。
串口通信具有不同的参数设置,需要根据实际情况进行调整。
同时,在实际应用中,应注意串口接口的连接问题,确保连接正确、稳定。
另外,在数据传输过程中,也需要注意数据的格式和校验问题,以保证数据的准确性。
在今后的学习和实践中,我们可以进一步探索串口通信的应用领域。
实验1 串口通信实验
实验1 串口通信实验【实验目的】(1)了解串口的通信方式。
(2)掌握串口通信的原理,了解串口通信的编程的初步概念和相应函数,掌握一个具体开发平台下的串口编程。
【实验要求】本实验将介绍串行通信的基本原理,以及在Windows 2000、Windows 98环境下用MFC 实现串口(COM)通信的方法,并用串口通信实现简单的通讯协议。
思考题:(1)串口通信与网络上的通信有什么不同?(2)程序中SENDDATA这个union,起到什么样的作用?可不可以用其他类型来代替?【实验原理】一、什么是串口在Windows应用程序的开发中,常常需要面临计算机(或单片机)与外围数据源设备进行通信的问题。
设计一个相应的串口通信程序,完成数据通信任务,是一个不错的想法!串行端口的本质功能是作为CPU和串行设备问的编码转换器。
当数据从CPU经过串行端口发送出去时,字节数据转换为串行的位。
而在接收数据时,串行的位又被转换为字节数据。
二、串口通信的过程常用的DOS系统主要是工作在响应中断方式下。
PC机串行通信程序大多利用其BIOS块的INT 14H中断,以查询串口的方式完成异步串行通信。
与DOS响应中断的工作方式不同,在Windows环境(Windows NT、Windows 98、Windows2000)下,串口是系统资源的一部分。
应用程序要使用串口进行通信。
如果想要使用串口进行通信,则必须在使用之前向操作系统提出资源申请要求(打开串口),通信完成后必须释放资源(关闭串口)。
Windows系统函数已经包含了通信支持中断功能。
Windows系统为每个通信设备开辟了用户定义的输入输出缓冲区(即读/写缓冲区),数据进出通信口均由系统后台来完成,应用程序只需完成对输入输出区操作即可。
详细过程:每接收一个字符,系统产生一个低级硬件中断,Windows系统中的串行驱动程序就取得了控制权,并将接受到的字符放入输入数据缓冲区,然后将控制权返回正在运行的应用程序。
实验四-串口通信实验
.实验报告课程名称:微机原理与接口技术 指导老师:张军明 成绩:__________________ 实验名称:实验四 串口通信实验 实验类型:________________同组学生姓名:吴越 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理六、实验结果与分析(必填)七、讨论、心得一、实验目的1、掌握80C51串行口工作方式选择、理解串行口四种通讯模式的区别、波特率发生器的作用及通讯过程中的时序关系。
2、掌握串口初始化的设置方法和串行通信编程的能力。
3、了解PC 机通讯的基本要求,掌握上位机和下位机的通讯方法。
4、编写简单的通信协议(如串行口工作方式、波特率、校验方式、出错处理等)。
二、实验器材1、Micetek 仿真器一台。
2、实验板一块。
3、PC 机电脑一台。
4、九针串口线一条。
三、实验原理串口通讯对单片机而言意义重大,不但可以实现将单片机(下位机)的数据传输到PC 端(上位机),专业:电子信息工程 姓名:彭嘉乔 学号:3130104084 日期:2015.05 地点:东3-409而且也能实现PC对单片机的控制,51单片机有一个全双工的串行通讯口,所以单片机和PC之间可以方便地进行串口通讯。
进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,本实验采用专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。
3.1 RS232九针串口基本功能简介九针串口即RS-232接口,是个人计算机上的通讯接口之一,由电子工业协会(Electronic Industries Association,EIA) 所制定的异步传输标准接口。
通常RS-232 接口以9个引脚(DB-9) 或是25个引脚(DB-25) 的型态出现,一般个人计算机上会有两组RS-232接口,分别称为COM1和COM2。
9 串口通信指导书
void interrupt usart()
{ if(RCIF==1)
//接收到数据产生中断
{ TXREG=RCREG;
//将接收到的数据发送出去
}
}
//*********************************************************************************** //主函数
串行通信又分同步和异步两种方式。这两种通信方式的区别在于发送设备时钟与接收设备时钟 是否严格一致。同步通信中,在数据传送开始时先用同步字符来指示(常约定 1-2 个),并由同时 传送的时钟信号来实现发送端和接收端同步,即检测到规定的同步字符后,接着就连续按顺序传送 数据。这种传送方式对硬件结构要求较高。异步通信中,接收器和发送器有各自的时钟,它们的工 作是非同步的,异步通信用一帧来表示一个字符,其内容如下:一个起始位,仅接着是若干个数据 位,下图中传输 45H 的数据格式。
3
北方蓝芯科技开发有限公司
NBCPIC-V2.0 使用手册
速率为:
10×240=2400 位/ 秒=2400 波特
在串行通信中,数据是在两个站之间传送的。按照数据传送方向,串行通信可分为单工方式、 半双工和全双工三种方式。
单工方式:数据仅按一个固定方向传送。因而这种传输方式的用途有限,常用于串行口的打印 数据传输与简单系统间的数据采集。
半双工方式:数据可实现双向传送,但不能同时进行,实际的应用采用某种协议实现收/发开 关转换。
全双工方式:允许双方同时进行数据双向传送,但一般全双工传输方式的线路和设备较复杂。 多工方式:以上三种传输方式都是用同一线路传输一种频率信号,为了充分地利用线路资源, 可通过使用多路复用器或多路集线器,采用频分、时分或码分复用技术,即可实现在同一线路上资 源共享功能,我们盛之为多工传输方式。 通常,许多串行通讯接口电路均具有全双工通讯能力,但是在实际使用中,大多数情况只工作 与半双工方式,即两个工作站通常并不同时收发。 2、PIC 单片机的串行接口 USART 异步传送模式下相关的寄存器
实验二 UART串口通信实验
实验二UART串口通信实验一、实验目的:1、了解S3C2410X处理器UART相关控制寄存器的使用;2、熟悉ARM处理器系统硬件电路中UART接口的设计方法;3、掌握ARM处理器串行通信的软件编程方法。
二、实验原理S3C2410X UART 单元提供三个独立的异步串行通信接口,皆可工作于中断和DMA模式。
使用系统时钟最高波特率达230.4Kbps,如果使用外部设备提供的时钟,可以达到更高的速率。
每一个UART单元包含一个16字节的FIFO,用于数据的接收和发送。
S3C2410X UART支持可编程波特率,红外发送/接收,一个或两个停止位,8bit数据宽度和1bit奇偶校验。
三、实验仪器设备1、EDUKIT-IV实验平台2、Mini2410 核心子板3、5V/2A电源适配器4、Emlink-w仿真器套件5、交叉串口线四、实验步骤(4)打开H-JTAG软件设置LPT线连接(5)探测芯片内核(ARM920T)(6)打开工程文件UART_TEST.UV2,选择Bulild Target或编译链接工程,如果显示0 Errors表示编译成功。
(7)选择开始->程序->附件->通讯->超级终端,设置COM1通讯,115200波特率,8位数据位,1位奇偶校验位。
(8)选择Debug->Start Debug Session或者调试工程并下载至SDRAM中。
(9)选择Debug->Run运行程序或者全速运行程序,并在超级终端中观察实验结果。
5、实验结果分析超级终端显示:UART0 Communication Test ExamplePlease input words, then press Enter:/> abcThe words that you input are: abc满足实验要求。
实验9指导书:串口通信实验
实验指导书:串口通信实验实验目的:通过程序,理解并验证串口通信的编程方法和机制。
本次实验分两个环节,第一环节为用程序发送字符串,用linux命令在另一窗口直接从串口读取;第二环节为用发送程序发送字符串,用接收程序在另一窗口读取串口并显示。
要求必须完成第一环节,而第二环节为选作。
本实验在虚拟机环境下完成,利用虚拟机创建两个虚拟串口,基于这两个虚拟串口完成串口通信实验。
实验容:本次实验需要在linux环境下,用vi工具输入对应的程序,并编译通过,运行后观察结果是否正确。
一、设置虚拟机串口1.1 VMware的串口:一个虚拟机最多可以添加四个虚拟串口,有如下3个方法配置虚拟串口:(1)连接一个虚拟串口到宿主机的物理串口。
(2)连接一个虚拟串口到宿主机上的一个文件。
(3)在两个虚拟机之间建立一个直接的连接,或者将虚拟机的串口与宿主机的应用程序连接。
1.2 为虚拟机添加串口首先要保证虚拟机下的linux处于关机(power off)状态,(1)选择菜单中的虚拟机 设置(英文版为:VM -> Settings),在硬件(Hardware)标签页中,如果已有串行端口(serial port),则选中该串口,并点选移除。
(2)点击Add按钮,在Add Hardware Wizard对话框中选择Serial Port,点击next,分两次添加两个串口,具体的选项如下图:串口2的设置:注意两个串口都使用了命名管道方式,但一个是服务器端,一个是客户端。
(3)启动linux操作系统,测试两个串口是否设置成功在linux桌面空白处点击右键,打开两个终端窗口。
在其中一个窗口(称为窗口A)中,建立工作目录,并进入该目录。
即,执行下述命令:[1]cd /home[2]mkdir src[3]cd src[4]cat /dev/ttyS1 //注意是大写的S在另一个窗口(称为窗口B)执行下述命令:[5]cd /home/src[6]echo hello >/dev/ttyS0 //注意是大写的S此时,应在窗口A中显示出“hello”这个字符串,这表明窗口B通过串口/deb/ttyS0发送的字符串,通过串口连接,在窗口A的串口/dev/ttyS1上接收到了该字符串。
实验二 RS232串口通信实验
实验二RS-232串口通信实验
一实验目的
(1)熟悉RS-232接口电路的作用与电路组成;
(2)掌握计算机间利用串口进行通信的连接方法;
(3)掌握串口通信软件的使用方法。
二实验所需材料
本实验要求使用:
◆UTP类电缆
◆两个RJ-45连接器
◆两个DB-9串口改RJ-45口连接器
◆两台计算机
◆一把网络压线钳
◆一把电缆剥线钳
◆一台电缆测试仪
三实验步骤
1、每两人一组,在老师指导下,根据下面的线序关系排列线序对;
一端:
2
3、使用压线钳将两端压紧。
4、使用测试仪测试连通性。
5、将两个DB-9连接器分别固定在两台计算机的串口(COM1)上。
6、将做好的线缆两端分别接入固定好的两个DB-9连接器的RJ-45端口上。
7、使用串口通讯软件测试,验证能否通讯。
四、实验总结
1.制作网线,选定一节双绞线,用剥线钳剥去两端的皮,按线序关系排列线序对,将两端分别插入水晶头中,用压线钳压好。
2.用测试仪测试网线的连通性。
3.将两个DB-9串口改RJ-45口连接器分别插入两台PC机的DB—9串口种,再用网线插入连接器的RJ-45口中,连接两台电脑。
4.用软件测试连接的状况。
一开始显示的界面
5.选择发送的文件,点击“打开”即可接收到。
6.接收文件的一端,显示文件内容。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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、按功能需求编写代码,仿真,调试;
(五)上位机串口调试软件界面。