实验七 串口通信仿真实验
基于LABVIEW的串口通信实验

基于LABVIEW的串口通信实验一、实验目的1.了解LabVIEW串口通信基本方法2.通过LabVIEW串口获取数字温度传感器的数据二、实验器材1.计算机一台2.LabVIEW8.20软件一套3.串口线一根4.虚拟仪器实验平台一台5.分布式温度采集模块一块6.传感器控制模块一块三、实验原理串行通信是工业现场仪器或设备常用的通信方式,它是将一条信号的各位数据按顺序逐位传送。
计算机串行通信(简称串口)采用RS232协议,允许一个发送设备连接到一个接收设备以传送数据,最大速率为115200bps。
计算机串行口采用Intel8250异步串行通信组件构成,通常以COM1~COM4来表示。
bView串口节点LabView中提供了已封装好的串口通信节点,它们位于函数->数据通信->协议->串口。
这里主要介绍程序中使用到的串口配置、串口读取、串口写入和串口关闭,其他串口相关的节点使用方法查询LabView帮助。
(1)串口配置在进行串口通信时,首先要对串口进行初始化和配置。
这可以由VISA配置串口节点来完成,串口配置节点如下图所示。
使用该节点可以设置串口的VISA资源名称、波特率、数据位、校验位、超时时间、终止符以及流控制等参数。
VISA资源名称控件用于规定对VISA会话句柄开放的资源,并维持会话句柄和类。
VISA 会话句柄是VISA使用的唯一逻辑标识符,用于与资源进行通信。
VISA会话句柄由VISA 资源名称输入控件保持,用户不可见。
VISA资源名称输出是VISA函数中输出的VISA资源名称的副本。
通过将资源名称输出或输入函数和VI,并链接函数和VI,从而简化数据流编程。
这与文件I/O函数使用的文件引用句柄输出相似。
(2)串口写入串口写入是将写入缓冲区的数据写入VISA资源名称指定的设备或接口,可以选择同步或异步。
该操作仅当传输结束后才返回。
VISA写入的节点图标及端口定义如下图所示。
其中写入缓冲区包含要写入设备的数据。
单片机串行通信实验报告(实验要求、原理、仿真图及例程)

《嵌入式系统原理与实验》实验指导实验三调度器设计基础一、实验目的和要求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来实现字符串的发送。
单片机串行通信实验报告材料实验要求、原理、仿真图及例程

case 2: D3=1;while(1){D1=~D1;D3=~D3;delay_ms(150);if(debouncing()){break;}}break;//甲机D1、D3灯一起不断闪烁,直到有新的按键按下为止
*******************************************************************
上图所示按键第三次按下,控制甲机发送字符'C',并同时闪烁D1和D3灯,与此同时,乙机接收甲机发来的字符'C',并同时闪烁D2、D4灯。图中所示的是LED灯一闪一灭时的亮状态,灭状态的截图此处省去。
《嵌入式系统原理与实验》实验指导
实验三
一、实验目的和要求
1.熟练使用Keil C51 IDE集成开发环境,熟练使用Proteus软件。
2.掌握Keil与Proteus的联调技巧。
3.掌握串行通信在单片机系统中的使用。
4.掌握调度器设计的基础知识:函数指针。
二、实验设备
1.PC机一套
2.Keil C51开发系统一套
****************************************************************
上图所示虚拟终端相关参数设置应该注意的地方,虚拟终端相关参数设置应该与串口的相关参数设置一致,也应该与C51编程中串口初始化时设定的波特率的数值一致,即都应该是2400bps。
case 3: D1=1;D3=1;break;//甲机D1、D3灯均处于灭状态
单片机实验(简单的串口通信)

单片机技术与应用实验报告实验名称:单片机串行口与PC机通讯实验班级:11062811学号:11061118姓名:吕琳涛指导老师:谷雨2013年5月27日1.实验要求利用8031单片机串行口,实现与PC机通讯。
本实验实现以下功能,将从实验机键盘上键入的数字,字母显示到PC机显示器上,将PC机键盘输入的字符0-F(必须为大写字母)显示到实验机的数码管上。
2. 实验目的1.掌握串行口工作方式的程序设计,掌握单片机通讯的编制。
2.了解实现串行通讯的硬环境,数据格式的协议,数据交换的协议。
3.了解PC机通讯的基本要求。
3.程序说明:在本次实验中,我们可以SCON = 0x50;对应的解释为我们在初始化串口接口控制寄存器SCON用于确定串口通道工作方式的选择、接收和发送控制及其串口的状态标志。
TMOD = 0x20;表示我们在程序中用于设定定时和计数器的工作方式。
TH1 = 0xfd;TL1 = 0xfd;用于对低八位和高八位进行初始化,也就是进行赋值。
TR1 = 1;表明我们设定的计数器开始进行计数。
ES = 1;是对串行接口中断的中断控制进行设定。
EA = 1;是51单片机中断系统的总允许控制端。
s = SBUF;s = s+1;SBUF = s;这三个语句是对我们实验要求的主体部分的代码编写。
也就是获取数据,对数据进行自加1然后通过串口返回到我们pc机上。
我们知道接受RI = 1单片机没有自动复位的功能,也就是我们需要人为地进行赋值。
T1也是这样的。
至此,程序编写完成,放入软件中进行编译和下载。
2.上机调试说明将程序编写成功后,我们就上机进行调试。
下载成功后,通过键盘我们将我们想要的数据输入pc机里,等待pc 与单片机进行串口通信,单片机进行加一处理之后然后传到pc机里,显示到电脑屏幕上。
至此实验仿真过程结束。
3.写出源程序清单及执行结果。
源程序:#include <reg52.h>unsigned char s;void main(){SCON = 0x50;TMOD = 0x20;TH1 = 0xfd;TL1 = 0xfd;TR1 = 1;ES = 1;EA = 1;while(1){}}void serial_isr() interrupt 4{if(RI == 1){s = SBUF;s = s+1;SBUF = s;RI = 0;}else if(TI == 1){TI = 0;}}4.心得体会本次实验中我们做的是一个单片机串口通信的问题,虽然只是简单的将我们输入的数据进行简单的加一处理,但是我们还是学习了对该流程的大体了解,知道了一些基本的知识。
实验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.异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。
实验三:串口实验

实验3:串口实验一、实验目的1.了解串口的定义及串口通信的特点2.了解MAX232串口3.了解80C51串行口工作的原理及工作方式并且能够掌握其程序设计二、实验内容利用8051串行口发送和接受数据,用来判断接收数据和发送数据是否一致三、实验原理串口通讯对单片机而言意义重大,不但可以实现将单片机的数据传输到计算机端,而且也能实现计算机对单片机的控制。
由于其所需电缆线少,接线简单,所以在较远距离传输中,得到了广泛的运用。
本实验主要是用单片机按一定的时间间隔向主机发送字符串,结果在虚拟终端上显示。
由于没有串口线的连接因此只能进行仿真,当数据从CPU经过串行端口(仿真时是通过虚拟驱动软件和串口调试助手设置的虚拟串口实现)发送出去时,字节数据转换为串行的位,在接收数据时,串行的位被转换为字节数据并在虚拟终端上显示。
串口:串行接口简称串口(通常指COM口),是采用串行通信方式的扩展接口。
串口是计算机上一种非通用设备通信的协议。
大多数两个基于RS232的串口。
如左图是串口原理图。
MAX232介绍:MAX232一款兼容RS232标准的芯片,是TTL-RS232电平转换的典型芯片。
由于电脑串口RS232电平是-10V与+10V,而一般单片机系统的信号电压是TTL电平0与+5V,该器件包含2个驱动器、2个接收器和一个电压发生器电路提供TIA/EIA-232-F电平。
RS232介绍:RS232 接口是制定用于串行通讯的标准。
该标准规定采用一个25个脚的DB25 连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。
DB25 的串口一般只用到的管脚只有2(RXD)、3(TXD)、7(GND)这三个,随着设备的不断改进,现在DB25 针很少看到了,代替他的是DB9的接口,DB9所用到的管脚比DB25有所变化,是2(RXD)、3(TXD)、5(GND)这三个。
因此现在都把RS232接口叫做DB9。
串口通信的原理:串行端口的本质功能是作为CPU和串行设备间的编码转换器。
串行通信实验原理
串行通信实验原理序串行通信技术是一种基本的数字通信技术,它已经广泛地应用于现代的数字通信系统中。
与并行通信相比,串行通信在处理速度高、传输距离远、信号线使用少等方面具有很大的优势,因此在现代计算机内部以及计算机与外部设备之间的通信中应用广泛。
串行通信实验是理解串行通信原理和掌握串行通信应用的基本途径之一。
本文将介绍串行通信实验的原理、步骤以及注意事项,希望能够对读者在学习串行通信方面起到一定的帮助。
一、实验原理1.串行通信的基本概念串行通信是一种数据传输的方式,数据信号按照一个比特一个比特地顺序传输,每个比特之间通过同步信号进行分隔。
与之相对应的是并行通信,其数据信号在多根信号线上并行传输。
串行通信具有传输距离远、传输速度快、线路简单等优点,因此被广泛应用于各种数字通信系统中。
2.串行通信的实现串行通信的实现需要用到一些重要的电路,包括移位寄存器、同步信号发生器等。
移位寄存器用于将数据按照顺序存入、读出,并进行位移操作;同步信号发生器则用于发生用于分隔数据的同步信号,使得发送方和接收方的时序保持一致。
三、实验步骤本实验以ASM51单片机为例,演示了串行通信的应用过程。
1.硬件连接将示波器的通道1连接到P1.0引脚上,通道2连接到P3.0引脚上,波形分别对应发送数据和接收数据。
2.编写程序编写程序,对串行通信的数据发送、接收、位移等进行设置和控制,具体实现过程如下:(1) 设置移位寄存器,将需要发送的数据从高位开始存入。
(2) 设置同步信号发生器,发生用于分隔数据的同步信号。
(3) 控制寄存器进行位移操作,将数据按照顺序读出并发送。
(4) 在接收方,需要通过串行口中断方式对接收到的数据进行判断和处理。
3.实验操作按照编写的程序对硬件进行操作,发送一些测试数据,观察示波器上的波形变化,以及数据是否正确接收和处理。
四、实验注意事项1.串行通信实验需要耐心和细心,对硬件和程序进行仔细的连接和设置。
2.在传输数据时,需要保证发送方和接收方的时序保持一致,否则可能会导致数据发送失败或者数据接收错误,因此需要认真设置同步信号发生器。
串口传输实验原理
串口传输实验原理串口传输是一种常见的数据传输方式,它通过串行通信的方式将数据从一个设备传输到另一个设备。
串口传输通常用于连接计算机和外部设备,例如打印机、调制解调器、传感器等。
本文将介绍串口传输的原理和实验方法。
一、串口传输的原理串口传输是一种基于异步通信的数据传输方式。
异步通信是指数据传输时没有固定的时钟信号,而是通过发送和接收方之间的协议来确定数据的传输速率和传输时序。
串口传输通常使用RS-232协议进行通信,该协议定义了数据传输的格式和电气特性。
串口传输的数据传输格式通常包括起始位、数据位、校验位和停止位。
起始位用于标识数据传输的开始,通常为逻辑0。
数据位用于传输实际的数据,通常为8位或9位。
校验位用于检测数据传输的正确性,通常为奇偶校验或循环冗余校验。
停止位用于标识数据传输的结束,通常为逻辑1。
串口传输的电气特性包括信号电平、波特率和数据位宽。
信号电平通常为±12V或±5V,波特率通常为9600bps或115200bps,数据位宽通常为8位或9位。
这些参数需要在发送和接收方之间进行协商,以确保数据传输的正确性和稳定性。
二、串口传输的实验方法为了验证串口传输的原理,我们可以进行一些简单的实验。
下面是一个基于Arduino的串口传输实验。
1. 实验材料- Arduino UNO开发板- USB数据线- 串口调试助手软件2. 实验步骤(1)将Arduino UNO开发板连接到计算机上,并打开Arduino IDE软件。
(2)在Arduino IDE软件中,打开“串口接收器”示例程序,并将波特率设置为9600bps。
(3)将Arduino UNO开发板通过USB数据线连接到计算机上,并上传“串口接收器”示例程序到开发板中。
(4)打开串口调试助手软件,并将波特率设置为9600bps。
在串口调试助手软件中,选择正确的串口号和数据位宽。
(5)在串口调试助手软件中,输入一些字符或数字,并点击“发送”按钮。
RS232串口通信实验
R S232串口通信实验(总7页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--实验名称:RS-232串口通信实验实验目的:利用单片机的TXD、RXD口,学会单片机串行口的使用。
实验原理:1、51单片机内置全双工异步串行口,共有4种工作方式,电原理图如下:2、串行通信的编程:(1)串行口控制寄存器SCON(2)SM0、SM1—串行口工作方式选择位SM0 SM1 方式功能说明0 0 0 同步移位寄存器方式(用于扩展I/O口)0 1 1 8位异步收发,波特率可变(由定时器控制)1 02 9位异步收发,波特率为fosc/64或fosc/321 1 3 9位异步收发,波特率可变(由定时器控制)(3)REN—允许串行接收位该控制为由软件置“1”或清“0”。
REN=1 允许串行口接收数据。
REN=0 禁止串行口接收数据。
(4)TB8—发送的第9位数据方式2和3时,TB8是要发送的第9位数据,可作为奇偶校验位使用,也可作为其他标志。
(例:在多机通讯中,可以标注传输内容为地址或数据) RB8—接收到的第9位数据方式2和3时,RB8存放接收到的第9位数据。
在方式1,如果SM2=0,RB8是接收到的停止位。
在方式0,不使用RB8。
(5)TI——发送中断标志位方式0时,串行发送第8位数据结束时由硬件置“1”,其它工作方式,串行口发送停止位的开始时置“1”。
TI=1,表示一帧数据发送结束,可供软件查询,也可申请中断。
CPU响应中断后, 向SBUF写入要发送的下一帧数据。
TI必须由软件清0。
RI——接收中断标志位方式0时,接收完第8位数据时,RI由硬件置1。
其它工作方式,串行接收到停止位时,该位置“1”。
RI=1,表示一帧数据接收完毕,并申请中断, CPU从接收SBUF取走数据。
该位状态也可软件查询。
RI必须由软件清“0”。
(6)特殊功能寄存器PCONSMOD:波特率倍增位方式0,波特率=fosc/12方式2,波特率= fosc*2SMOD/64方式1、3,波特率=定时器T1的溢出频率*2SMOD/643、多机通讯:主机传输的信息包括地址+数据,每个从机根据自己的地址来判断是否参与通讯SM2 —多机通信控制位用于方式2或方式3中的多机通信控制。
RS232串口通信实验
RS232串口通信实验一、认识RS232单片机的串行口是非常有用的,通过他我们可以把单片机系统的数据传回电脑处理或者接受电脑传过来的数据而进行相应的动作,在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。
RS-232-C接口(又称EIA RS-232-C)是目前最常用的一种串行通讯接口. 它是在1970年由美国电子工业协会(EIA)联合贝尔系统,调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准.它的全名是"数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准"该标准规定采用一个25个脚的DB-25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定.后来IBM的PC机将RS232简化成了DB-9连接器,从而成为事实标准.而工业控制的RS-232口一般只使用RXD,TXD,GND三条线.在讨论RS-232C接口标准的内容之前,先说明两点:首先,RS-232-C标准最初是远程通信连接数据终端设备DTE(Data Terminal Equipment)与数据通信设备DCE(Data Communication Equipment)而制定的。
因此这个标准的制定,并未考虑计算机系统的应用要求。
但目前它又广泛地被借来用于计算机(更准确的说,是计算机接口)与终端或外设之间的近端连接标准。
显然,这个标准的有些规定及和计算机系统是不一致的,甚至是相矛盾的。
有了对这种背景的了解,我们对RS-232C标准与计算机不兼容的地方就不难理解了。
其次,RS-232C标准中所提到的“发送”和“接收”,都是站在DTE立场上,而不是站在DCE的立场来定义的。
由于在计算机系统中,往往是CPU和I/O设备之间传送信息,两者都是DTE,因此双方都能发送和接收。
(1)RS232(DB9)的接口说明1 DCD 载波检测2 RXD 接收数据3 TXD 发送数据4 DTR 数据终端准备好5 SG 信号地6 DSR 数据准备好7 RTS 请求发送8 CTS 允许发送9 RI 振铃提示(2)接口的电气特性在RS-232-C中任何一条信号线的电压均为负逻辑关系。