实验六 双PC机串口通信
实验六 双机通信
系别
计算机系
班级
B110507
学号
姓名
课程名称
பைடு நூலகம்单片机原理及其应用
实验日期
2013-10-28
实验名称
双机通信
成绩
实验目的:
掌握串行口通信工作原理。
实验原理:
实验电路原理图如图1所示,图中1#机的发送线与2#机的接收线相连,1#机的接收线与2#机的发送线相连,共阴极BCD数码管BCD_LED1和BCD_LED2分别接各机的P2口,两机共地(默认),晶振为11.0592MHz,波特率为2400bps,串口方式1。(实验电路所用元件见表1)
(3)在uVision3中进行C51串行通信程序的编写、编译及调试;
(4)启动ISIS的仿真运行,并进行联机调试。
仿真结果:
图3仿真结果
1#机发送程序:(查询法)
#include <reg51.h>
#define uchar unsigned char
void delay(unsigned int time) //定义延时函数
if(RI==1)
{
RI=0; //若接收完成,清RI标志位
receiv=SBUF; //取得接收值
SBUF=receiv; //结果返回1#机
P2=receiv; //显示接收值
}
}
实验小结:
经过这次的上机实验,我掌握了串行口通信的工作原理,熟悉C51单片机的编程与调试方法,掌握Proteus ISIS模块的原理图绘图方法及及单片机系统仿真运行方法。同时在实现串行通信功能时提高了程序的编写及调试能力,在1#机中用了查询RI和TI标志位的软件查询结果完成发送程序功能,在2#机中根据RI和TI的中断请求,在中断函数中完成接收程序功能,两种方法结合实现实验要求程序功能,灵活的应用课堂上学到的理论知识。
双工串口通信技巧及例程
双工串口通信技巧及例程一、引言双工串口通信是指在串行通信中,数据可以同时双向传输的一种通信方式。
与单工串口通信相比,双工串口通信具有更高的效率和灵活性。
本文将介绍双工串口通信的基本原理以及一些常用的技巧和例程。
二、双工串口通信原理双工串口通信是通过两根信号线来实现数据的双向传输,这两根信号线分别是发送线(TX)和接收线(RX)。
在双工串口通信中,发送端将要发送的数据通过发送线发送出去,接收端则通过接收线接收数据。
这样,发送端和接收端可以同时进行数据的发送和接收,达到双向通信的效果。
三、双工串口通信的实现1. 硬件设置在使用双工串口通信时,需要设置串口的参数,包括波特率、数据位、停止位和校验位等。
这些参数需要在发送端和接收端保持一致,才能正确地进行数据的传输。
2. 数据帧格式在双工串口通信中,数据的传输是以数据帧的形式进行的。
数据帧一般包括起始位、数据位、校验位和停止位等。
发送端将要发送的数据按照数据帧格式发送出去,接收端则按照相同的数据帧格式接收数据。
3. 数据传输流程在进行双工串口通信时,一般采用中断或轮询的方式进行数据的发送和接收。
发送端将要发送的数据存放在发送缓冲区中,通过发送线发送出去。
接收端通过接收线接收数据,并将接收到的数据存放在接收缓冲区中,等待处理。
四、双工串口通信的技巧1. 数据的同步在双工串口通信中,发送端和接收端需要保持一致的数据帧格式和参数设置,以确保数据的正确传输。
如果数据的格式或参数设置不一致,可能会导致数据传输出错。
2. 缓冲区管理在进行双工串口通信时,发送端和接收端都需要使用缓冲区来存放数据。
发送端将要发送的数据存放在发送缓冲区中,接收端则将接收到的数据存放在接收缓冲区中。
在使用缓冲区时,需要注意缓冲区的大小和数据的读写操作,避免溢出或丢失数据。
3. 错误处理在双工串口通信中,可能会出现数据传输错误的情况,例如数据丢失、校验错误等。
对于这些错误,发送端和接收端都需要进行相应的错误处理,例如重新发送数据或进行数据重组。
Visual_Basic串口通信实验
实验一Visual Basic串口通信实验利用Visual Basic开发串口通信程序既可以使用MSComm控件也可以调用Windows API 函数。
不过,只要MSComm可以被选用,它几乎总是我们推荐的选择,因为MSComm的功能和API调用一样好甚至比它还好且使用起来更加简单。
在本章提供的串口通信程序设计中,除了PC机与PC机串口通信外,PC机与单片机、PC机与智能仪表、PC机与PLC、PC机与GSM短信模块等串口通信任务的实现均采用MSComm控件。
1.1 PC机与PC机串口通信程序设计当两台串口设备通信距离较近时,可以直接连接,最简单的情况,在通信中只需三根线(发送线、接收线、信号地线)便可实现全双工异步串行通信。
本设计通过两台PC机串口三线连接,介绍了利用API函数和MSComm控件设计串口通信程序的方法,包括字符与文件的发送与接收。
1.1.1 设计目的1)掌握PC机与PC机串口通信的线路连接方法。
2)利用MSComm控件实现PC机与PC机串口通信的程序设计方法。
1.1.2 设计用软、硬件本设计用到的硬件和软件清单见表6-1。
1.1.3 硬件线路线路说明:在计算机通电前,按图1-1所示将2台PC机通过串口线连接起来:PC机A 串口COM1端口的TXD与PC机B串口COM1端口的RXD相连;PC机A串口COM1端口的RXD与PC机B串口COM1端口的TXD相连;PC机A串口COM1端口的GND与PC机B串口COM1端口的GND相连。
6.1.4 设计任务利用MSComm控件编写程序实现PC机与PC机串口通信。
216图1-1 PC机与PC机串口通信线路任务要求:两台计算机互发字符并自动接收,如一台计算机输入字符串“Please return abc123”,单击“发送字符”命令,另一台计算机若收到,就输入字符串“abc123”,单击“发送字符”命令,信息返回到第一组的计算机。
实际上就是编写一个简单的双机聊天程序。
微机原理课程设计报告书-两台PC机之间进行串口通信
一、课程设计题目两台PC机之间进行串口通信。
二、课程设计目的与要求通过本次实训,加强学生们对微机原理与接口技术这门课程的理解和掌握,同时了解并掌握8250串口芯片和中断管理芯片8259的初始化编程和使用。
1.目的:俩个PC机通过串行口互联,实现文件的无差错传输。
2.基本要求:(1) PC机使用8250串口芯片。
中断管理芯片使用8259(2)要求用C语言或汇编语言完成程序的设计。
(3)程序必须用中断方式来实现。
(4)在U盘上自备TURBO C 2.0编译环境。
因为机房的计算机(C和D盘要还原)安装有还原卡。
(5)自购DB9P 公插头二个,2,3脚交叉连线,5脚直接连接,焊接。
电缆长度一米。
(6)不准带电拔插串行口插头。
三、实现方法1. 8250的初始化依据8250(16550)的寄存器如下表所示:基地址读/写寄存器缩写注释0Write-发送保持寄存器(DLAB=0)0Read-接收数据寄存器(DLAB=0)0Read/Write-波特率低八位(DLAB=1)1Read/Write IER中断允许寄存器1Read/Write-波特率高八位(DLAB=1)2Read IIR中断标识寄存器2Write FCR FIFO控制寄存器3Read/Write LCR线路控制寄存器4Read/Write MCR MODEM控制寄存器5Read LSR线路状态寄存器6Read MSR MODEM状态寄存器7Read/Write-Scratch RegisterPC机支持1-4个串行口,即COM1-COM4,其基地址在BIOS数据区0000:0400-0000:0406中描述,对应地址分别为3F8/2F8/3E8/2E8,COM1及COM3使用PC机中断4,COM2及COM4使用中断3。
在上表中,8250共有12个寄存器,使用了8个地址,其中部分寄存器共用一个地址,由DLAB=0/1来区分,在DLAB=1用于设定通讯所需的波特率。
单片机双机串行实验报告
单片机双机串行实验报告实验报告:单片机双机串行通信实验一、实验目的本实验旨在通过单片机实现双机间的串行通信,包括数据的发送和接收,并利用这种通信方式完成一定的任务。
二、实验原理1.串行通信:串行通信是将数据一个个位发送或接收的方式。
数据通过一个线路逐位发送或接收,可以减少通信所需的线路数目。
2. UART串口通信:UART是通用异步收发传输器(Universal Asynchronous Receiver/Transmitter)的简称,是一种最常用的串口通信方式,通常用于单片机与计算机、单片机与单片机之间的通信。
3.串口模块:串口模块是负责将数据转变为串行传输的硬件模块,包括发送端和接收端。
通过设置波特率、数据位、校验位和停止位等参数,可以实现数据的可靠传输。
4.单片机串口通信:单片机内部集成了UART串口通信接口,只需要通过相应的寄存器配置,可以实现串口通信功能。
5.双机串行通信:双机串行通信是通过串口将两台单片机进行连接,一台单片机作为发送端,负责将数据发送出去;另一台单片机作为接收端,负责接收并处理发送的数据。
三、实验器材与软件1.实验器材:两台单片机、USB转TTL模块、杜邦线若干。
2. 实验软件:Keil C51集成开发环境。
四、实验内容与步骤1.配置发送端单片机(1)连接单片机和USB转TTL模块,将USB转TTL模块的TXD端连接到单片机的P3口,将GND端连接到单片机的地线。
(2)在Keil C51环境下创建新工程,编写发送端程序。
(3)配置串口通信的波特率、数据位、校验位和停止位,并打开串口发送中断。
(4)循环发送指定的数据。
2.配置接收端单片机(1)连接单片机和USB转TTL模块,将USB转TTL模块的RXD端连接到单片机的P3口,将GND端连接到单片机的地线。
(2)在Keil C51环境下创建新工程,编写接收端程序。
(3)配置串口通信的波特率、数据位、校验位和停止位,并打开串口接收中断。
实验6 串口通信
实验6 串口通信一、实验目的1、学会用单片机串行口实现PC与单片机的通信。
2、学会用单片机串行口实现与2个单片机的双机通信。
二、实验内容(一)必做1、PC机与单片机串口通信PC机通过串口发送数据到单片机的串行口,并显示在串口助手界面上。
2、单片机与单片机之间的双机通信用2台单片机串行口实现双机通信。
(1)甲机P1口接8个键盘,乙机P1口接8个发光二极管。
甲机RXD接乙机TXD,乙机RXD接甲机TXD。
(2)甲机选择按键状态并将P1口信息发给乙机,乙机根据甲机发来的信息点亮相应的发光二级管。
(二)选做1、基础:单片机采集AD的数据,将数据每隔200ms通过串口发送到上位机,使用串口助手进行调试。
2、提高:进一步串口助手向单片机发送数据01,打开AD实现单片机向上位机每隔200ms发送AD数据;串口助手向单片机发送数据02,关闭AD停止向上位机发送数据;串口助手向单片机发送数据其他数据,单片机向上位机发送Error。
三、实验步骤(一)PC机与单片机串口通信PC机通过串口发送数据到单片机的串行口,并显示在串口助手界面上。
1、硬件连接使用MicroUSB数据线,将实验开发板与微型计算机连接起来2、建立工程,编译程序并下载3、串口助手的使用打开PZ-ISP普中自动下载软件.exe,下载完程序后,点击其上的“串口调试助手”。
(二)单片机双机通信1、硬件连接:(1) 用2台仿真仪,用3条1PIN数据线连接:甲机RXD接乙机TXD,乙机RXD接甲机TXD,2机的地相连。
(2)甲机用一根8PIN的数据线将P1口与8个按键连接。
乙机用一根8PIN的数据线连接P1口与8路指示灯。
(3)甲机选择按键状态并将P1口信息发给乙机,乙机根据甲机发来的信息点亮相应的发光二级管。
四、实验结果——源代码1、PC机与单片机串口通信:#include "reg52.h"typedef unsigned int u16;typedef unsigned char u8;void UsartInit(){SCON=0X50;TMOD=0X20;PCON=0X80;TH1=0XF3;TL1=0XF3;ES=1;EA=1;TR1=1;}void main(){UsartInit();while(1);}void Usart() interrupt 4{u8 receiveData;receiveData=SBUF;RI = 0;SBUF=receiveData;while(!TI);TI=0;}2、单片机与单片机之间的双机通信:1、甲机发送程序。
实验6 单片机与PC机间的串行通信
实验6 单片机与PC机间的串行通信一、实验目的1、掌握电平转换器件RS-232的使用方法;2、掌握Proteus VSM虚拟终端(VITUAL TERMINAL)的使用;3、掌握单片机与PC机间的串行通信软硬件设计方法。
二、实验内容实现利用虚拟终端仿真单片机与PC机间的串行通信。
PC机先发送从键盘输入的数据,单片机接收后回发给PC机。
单片机同时将收到的30~39H间的数据转换成0~9的数字显示,其他字符的数据直接显示为其ASCII码。
单片机和PC机进行通信时,要求使用的波特率、传送的位数等相同。
要能够进行数据传送也必须首先测试双方是否可以可靠通信。
可在PC机和单片机上各编制非常短小的程序,具体可分成PC机串行口发送接收程序、单片机串行口发送程序和单片机串行口发送接收程序。
这三个程序能运行通过,即可证明串行口工作正常。
PC机串行口发送接收程序设置串行口为波特率9600、8位数据、1位停止位、无奇偶校验的简单设置。
从键盘接收的字符可从串行口发送出去,从串行口接收的字符在屏幕上显示。
通过让串行口发送线和接收线短接可测试微机串行口,通过让串行口和单片机系统相接,使用此程序可进一步测试单片机的串行通信状况。
具体程序用BASIC编制,简单易懂。
直接输入即可运行。
程序RS232.三、实验电路原理图图7-1 单片机与PC机间电路原理图四、实验步骤1、在PROTEUS中画好电路原理图。
2、串口模型属性设置串口模型属性设置为:波特率―4800;数据位―8;奇偶校验―无;停止位-1,如图7-2所示。
图7-2 串口模型属性设置3、虚拟终端属性设置PCT代表计算机发送数据,PCR用来监视PC接收到的数据,它们的属性设置完全一样,如图7-3所示。
SCMT和SCMR分别是单片机的数据发送和接收终端,用来监视单片机发送和接收的数据,它们的属性设置也完全一样,如图7-4所示。
单片机和PC机双方的波特率、数据位、停止位和检验位等要确保和串口模型的设置一样,并且同单片机程序中串口的设置一致。
微机实验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
双机通信实验实验报告
实验七双机通信实验一、实验目的:1.掌握单片机串口通信程序的设计。
2.了接RS232接口通信的特点。
3.双机通信:分别把接收到的对方通过逻辑开关输入的信息在本地数码管上显示,如下图甲机的逻辑开关数据为81H,乙机通过串口接收该数据并数码关管显示,而甲机显示乙机发送的数据88H。
二、PROTEUS电路设计:三、实验仪器和设备PC机、PROTEUS软件或W-A-51综合开发学习板四、源程序设计:1.程序(甲、乙机用相同的程序)ORG 0000HAJMP MAINORG 0030HMAIN:MOV TMOD,#20H ;定时器工作方式2MOV TH1,#0FDH ;设置波特率MOV TL1,#0FDHMOV PCON,#00H ;波特率不乘2SETB TR1MOV SCON,#50H ;串行口工作方式1并启动接收JX:MOV A,P1MOV SBUF,AW1:JNB TI,W1CLR TIW2:JNB RI,W2CLR RIMOV A,SBUFMOV P0,ALJMP JXEND六、总结、心得这是的实验中我遇到了很多的难题,也发现了自己很多的不足。
刚开始的时候在循环比较的时候老是出错,对变量的寻址方式不熟悉,不会使用指针变量使程序简化。
后来经过老师的提醒跟自己的摸索,终于把程序写正确了。
所以是这么简单的一个程序,但是我还是要花很长的一断时间才可以把它完成,这说明了我对知识的掌握运用还是很不熟练,虽然读程序的时候可以读懂,但是到自己写的时候就感觉无从下手。
实验六 串行口通信实验
实验六串行口通信实验一、实验内容实验板上有RS-232接口,将该接口与PC机的串口连接,可以实现单片机与PC机的串行通信,进行双向数据传输。
本实验要求当PC机向实验板发送的数字在实验板上显示,按实验板键盘输入的数字在PC机上显示,并用串口助手工具软件进行调试。
二、实验目的掌握单片机串行口工作原理,单片机串行口与PC机的通信工作原理及编程方法。
三、实验原理51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通信。
进行串行通讯信要满足一定的条件,比如电脑的串口是RS232电平(-5~-15V为1,+5~+15V为0),而单片机的串口是TTL电平(大于+2.4V为1,小于- 0.7V为0),两者之间必须有一个电平转换电路实现RS232电平与TTL电平的相互转换。
为了能够在PC机上看到单片机发出的数据,我们必须借助一个Windows软件进行观察,这里我们可以使用免费的串口调试程序SSCOM32或Windows的超级终端。
单片机串行接口有两个控制寄存器:SCON和PCON。
串行口工作在方式0时,可通过外接移位寄存器实现串并行转换。
在这种方式下,数据为8位,只能从RXD端输入输出,TXD端用于输出移位同步时钟信号,其波特率固定为振荡频率的1/12。
由软件置位串行控制寄存器(SCON)的REN位后才能启动,串行接收,在CPU将数据写入SBUF寄存器后,立即启动发送。
待8位数据输完后,硬件将SCON寄存器的T1位置1,必须由软件清零。
单片机与PC机通信时,其硬件接口技术主要是电平转换、控制接口设计和远近通信接口的不同处理技术。
在DOS操作环境下,要实现单片机与微机的通信,只要直接对微机接口的通信芯片8250进行口地址操作即可。
WINDOWS的环境下,由于系统硬件的无关性,不再允许用户直接操作串口地址。
如果用户要进行串行通信,可以调用WINDOWS的API 应用程序接口函数,但其使用较为复杂,可以使用KEILC的通信控件解决这一问题。
实验六——双机串行通信电路与PCB设计
中国石油大学(北京)实验报告实验课程:单片机原理及应用实验名称:实验六——双机串行通信电路与PCB设计一、实验目的掌握串口通信工作原理及程序开发方法,熟悉ARES软件PCB设计过程。
二、实验内容1、按照第7章实例2绘制电路原理图,学习双机工程文件建立方法,验证实例6的通信功能;2、按照图1和表1改画电路接线图,添加接线端子,并定义电源端口;3、采用ARES软件完成电路接线图的PCB设计,并形成光绘(Gerber)输出文件,其中BCD数码管需按照图2所示尺寸进行PCB自定义封装;4、完成实验报告。
三、实验要求提交的实验报告中应包括:电路原理图和接线图,串口方式1工作原理阐述,双机通信仿真效果图,PCB设计图(3D排版图、光绘文件分层图)及实验小结。
提交实验报告的电子邮件主题及存盘文件名格式如,2005041220马晓明实验六。
1、电路原理图和接线图实验电路原理图如图一所示,其中左机的RXD,TXD端口分别与右机的TXD,RXD端口相连,两机按共地考虑。
该电路实现串行功能,使发送的数据传入接受的单片机中,反馈,使两个晶体显示管显示相同的数据。
甲机循环发送数字0~F,乙机接收后返回接收值。
若发送值与返回值相等,继续发送下一数字,否则重复发送当前数字。
采用查询法检查收发是否完成。
发送值和接收值分别显示在双方LED数码管上,两机的程序分别按图三和图四的发送程序和接受程序编写,然后建立两个工程文件存入同一个文件夹中,生成的两个hex文件分别加载在两个80C51单片机上,之后执行程序。
图一电路原理图表一元器件图二发送程序图三接受程序2、串口方式1工作原理阐述串口控制寄存器,SCON(98H)接线关系:接线关系:利用RS-232C进行电平转换——(1:-5~-15V, 0:+5~ +15V)3、双机通信仿真效果图下面的图四和图五为仿真的效果图,发送值和接收值分别显示在双方LED数码管上。
4、PCB设计图(3D排版图、光绘文件分层图)图七布线铺铜后的电路图图八 3D仿真电路图图八光绘文件分层图5、实验小结在本次试验中,串行通信电路实现:甲机循环发送数字0~F,乙机接收后返回接收值。
双机通信实验报告
一、实验目的1. 掌握双机通信的基本原理和实现方法。
2. 熟悉串行通信的硬件接口和软件编程。
3. 通过实验,加深对单片机串行通信的理解和应用。
二、实验原理双机通信是指两台计算机或单片机之间的数据交换。
串行通信是双机通信中常用的一种通信方式,它将数据一位一位地按顺序传送,适合于远距离通信。
本实验采用单片机串行通信,通过串行口实现数据传输。
三、实验设备1. 两套单片机实验装置(如AT89S51单片机最小系统)2. 串行通信线(如RS-232线)3. 串口调试工具(如串口助手)4. 连接线和电源四、实验内容1. 硬件连接将两套单片机实验装置通过串行通信线连接起来,确保连接线正确无误。
2. 软件编程(1)单片机编程编写单片机程序,实现数据的发送和接收。
程序主要包括以下部分:- 初始化串行口:设置波特率、数据位、停止位和校验位等。
- 发送数据:将数据写入发送缓冲区,启动发送。
- 接收数据:检测接收缓冲区是否有数据,读取数据。
(2)PC端编程编写PC端程序,实现数据的发送和接收。
程序主要包括以下部分:- 串口配置:设置串口号、波特率、数据位、停止位和校验位等。
- 发送数据:将数据写入串口缓冲区,启动发送。
- 接收数据:从串口缓冲区读取数据,显示或处理。
3. 调试与测试(1)单片机端调试- 使用串口调试工具,发送数据到单片机。
- 检查单片机接收到的数据是否正确。
(2)PC端调试- 使用串口调试工具,发送数据到PC。
- 检查PC接收到的数据是否正确。
五、实验结果与分析1. 硬件连接硬件连接正确,两套单片机实验装置通过串行通信线连接。
2. 软件编程(1)单片机程序```c// 单片机程序示例(AT89S51)#include <reg51.h>#define BAUDRATE 9600sbit TXD = P3^1; // 发送引脚sbit RXD = P3^0; // 接收引脚void Serial_Init() {TMOD = 0x20; // 定时器1工作在模式2TH1 = 0xFD; // 设置波特率TL1 = 0xFD;TR1 = 1; // 启动定时器1SCON = 0x50; // 设置串行口工作在模式1 }void main() {Serial_Init();while (1) {// 发送数据TXD = 1; // 发送起始位while (!TXD); // 等待发送完成// 发送数据字节for (char i = 0; i < 8; i++) {TXD = 1; // 发送数据位while (!TXD);TXD = 0; // 发送停止位while (!TXD);}// 接收数据RXD = 1; // 接收起始位while (!RXD); // 等待接收完成// 接收数据字节for (char i = 0; i < 8; i++) {RXD = 1; // 接收数据位while (!RXD);RXD = 0; // 接收停止位while (!RXD);}}}```(2)PC端程序```c// PC端程序示例(C#)using System;using System.IO.Ports;class Program {static void Main() {SerialPort serialPort = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);serialPort.Open();while (true) {// 发送数据serialPort.WriteLine("Hello, world!");// 接收数据string receivedData = serialPort.ReadLine();Console.WriteLine("Received: " + receivedData);}serialPort.Close();}}```3. 调试与测试通过串口调试工具,发送数据到单片机和PC,检查接收到的数据是否正确。
串口通信实验报告
一、实验目的1. 了解串口通信的基本原理和作用。
2. 掌握单片机串口通信的编程方法。
3. 通过实验验证串口通信的可靠性和稳定性。
二、实验原理串口通信是指通过串行通信接口进行的数据传输方式。
串口通信具有传输速率较低、通信距离较近等特点,但具有简单、可靠、易于实现等优点。
在单片机应用中,串口通信广泛应用于数据采集、设备控制、远程通信等领域。
单片机串口通信的基本原理是:通过单片机的串行通信接口(如UART、USART等)发送和接收数据。
串口通信的数据格式通常包括起始位、数据位、奇偶校验位和停止位。
三、实验设备1. 单片机开发板(如STC89C52、STM32等)2. 串口调试助手(如PuTTY、串口调试助手等)3. 仿真软件(如Proteus、Keil等)四、实验内容1. 串口通信硬件连接2. 串口通信软件编程3. 串口通信调试与验证五、实验步骤1. 硬件连接(1)将单片机的TXD、RXD、GND等引脚与计算机的串口通信线相连。
(2)将计算机的串口通信线与串口调试助手相连。
2. 软件编程(1)在仿真软件中编写单片机程序,实现数据的发送和接收。
(2)在串口调试助手中编写程序,实现数据的发送和接收。
3. 调试与验证(1)在仿真软件中运行单片机程序,观察串口调试助手中的数据是否正确接收。
(2)修改单片机程序,改变发送和接收的数据,验证串口通信的可靠性。
六、实验结果与分析1. 实验结果通过实验,成功实现了单片机与计算机之间的串口通信。
在串口调试助手中,可以观察到单片机发送的数据被正确接收,同时也可以向单片机发送数据。
2. 实验分析(1)实验验证了单片机串口通信的可靠性和稳定性。
(2)实验过程中,需要注意波特率、数据位、停止位等参数的设置,以保证通信的准确性。
(3)实验过程中,可以尝试不同的通信协议,如ASCII码、十六进制等,以适应不同的应用场景。
七、实验心得1. 串口通信是一种简单、可靠的数据传输方式,在单片机应用中具有广泛的应用前景。
实验六——双机串行通信电路与PCB设计
实验课程:单片机原理及应用
实验名称:实验六——双机串行通信电路与PCB设计
实验日期:2013 年4月20 日
一、实验目的
掌握串口通信工作原理及程序开发方法,熟悉ARES软件PCB设计过程。
二、实验内容
1、绘制电路原理图,学习双机工程文件建立方法,验证实例6的通信功能;
2、按照图1和表1改画电路接线图,添加接线端子,并定义电源端口;
3、完成实验报告。
三、实验要求
提交的实验报告中应包括 电路原理图和接线图,串口方式1工作原理阐述,双机通信仿真效果图,PCB设计图(3D排版图、光绘文件分层图)及实验小结。
提交实验报告的电子邮件主题及存盘验六。
1、电路原理图和接线图
图1双机串行通信电路原理图、接线图;
其中左机的RXD,TXD端口分别与右机的TXD,RXD端口相连,两机按共地考虑。
2、串口方式1工作原理阐述
串口控制寄存器,SCON(98H)
1主要用于点对点(两机)通信
两机共地利用RS-232C进行电平转换——(1:-5~-15V, 0:+5~ +15V) 3、双机通信仿真效果图,图5为双机通信仿真效果图
图2 双机通信仿真效果图
5、实验小结
通过这次试验我学会了镜像工具的使用,而且通过不断的改正错误知道了数字显示器不能用镜像,否则数字会翻了。
对接线关系(主机TXD、RXD分别与外设RXD、TXD相接)两机共地也有了了解。
熟
悉ARES软件PCB设计过程:掌握串口通信工作原理及程序开发方法。
微机原理实验+PC机串行通讯(8250)
PC机串行通讯实验一、实验目的1.进一步了解串行通信的基本原理。
2.掌握串行接口芯片8250的工作原理和编程方法。
3.熟悉PC机串行口的基本连接方法。
二、实验内容1.PC机RS-232串口自发自收。
按照PC机串口自发自收的连接方法连线。
编写PC机自发自收串行通信程序,要求:从键盘输入一个字符,将字符通过串口发送出去,再由次串口将字符接收回来并在屏幕上显示,实现自发自收。
要求:键盘输入一个字符,将字符通过串口发送出去,再由此串口将字符接收回来并在屏幕上显示,实现自发自收。
2.两台PC机间RS-232串口通信按照PC机RS-232串口直接互连的方法连接两台PC机。
编写PC机直接互联串行通信程序。
要求:由甲机键盘键入字符经串口发送给乙机,再由乙机通过串口接收字符并显示再屏幕上。
当键入感叹号“!”,结束收发过程。
要求:由甲机键盘键入字符经串口发送给乙机,再由乙机通过串口接收字符并显示在屏幕上。
当键入感叹号“!”,结束收发过程。
三、实验电路自发自收只需要将本机的2和3号端口短路即可。
以下是双机近距离通信连接图:四、程序设计及实验调试首先是8250芯片的初始化,初始化流图如下:按照书上的通信程序,采用查询方式编自发自收程序。
初始化之后,先读线路状态寄存器,再检测发送寄存器是否为空,出错则清除线路状态寄存器,接收就绪否,接收数据等。
若自发自收未做好准备,则显示’?’。
除数=1.8432M/(2400*16)=48=30H实验1 自发自收:CODE SEGMENTASSUME CS:CODESTART: MOV AL,10000000B ;8250初始化,设DLAB=1MOV DX,3FBHOUT DX,ALMOV AX,30H ;波特率为2400,基准时钟频率为1.8432MHz,除数为30HMOV DX,3F8HOUT DX,AL ;写入除数低字节MOV AL,AHMOV DX,3F9HOUT DX,AL ;写入除数高字节MOV AL,0AH ;7位数据,1位停止,奇校验MOV DX,3FBHOUT DX,AL ;写入线路控制寄存器MOV AL,00001111BMOV DX,3FCHOUT DX,AL ;写入Modem控制寄存器MOV AL,0MOV DX,3F9HOUT DX,AL ;写入中断允许寄存器,屏蔽中断WAIT_FOR: MOV DX,3FDH ;读线路状态寄存器,屏蔽中断IN AL,DXTEST AL,00011110B ;出错否JNZ ERRORTEST AL,00000001B ;接收数据就绪否JNZ RECEIVE ;转接收TEST AL,01000000B ;发送寄存器空否,不空,返回等待JZ W AIT_FORMOV AH,1INT 21H ;读键盘MOV DX,3F8H ;发送OUT DX,ALJMP W AIT_FORRECEIVE: MOV DX,3F8H ;读接收数据IN AL,DXAND AL,01111111B ;保留7位数据CMP AL,21H ;是”!”?JNZ CHARMOV AH,4CH ;返回DOSINT 21HCHAR: PUSH AXMOV DL,ALMOV AH,02H ;显示接收字符INT 21HPOP AXJMP W AIT_FORERROR: MOV DX,3FDH ;出错则清除线路状态寄存器IN AL,DXMOV DL,'?' ;显示’?’MOV AH,02HINT 21HJMP W AIT_FORCODE ENDSEND START实验中遇到问题及分析:在软件编程的过程中,因为是参考书上的程序,所以没有报错。
实验六 单片机串行口与PC机通信实验
实验六单片机串行口与PC机通信实验一、实验目的1.掌握8051串行口的工作原理和编程方法;2.了解RS-232串行通信接口芯片的应用。
二、实验内容8X51串行口经RS232电平转换后,与PC机串行口相连。
PC机可使用串口调试应用软件如:“WINDOWS超级终端”、“串口调试助手”、“串口精灵”等,实现上位机与下位机的通讯。
本实验使用查询法接收和发送资料。
上位机发出指定字符,下位机收到后,加一运算后回传给PC机。
波特率设为4800。
三、实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。
四、实验说明和电路原理图8X51串行口经RS232电平转换后,与PC机串行口相连,使用2、3平行串口线。
本实验需要用到<MCU01>51单片机系统模块和<SCM10>串口通信模块。
串口通信电路五、实验预习要求学习教材的相关内容,根据实验要求画出程序流程图,写出实验程序。
六、实验步骤1)用导线分别连接<MCU01>的RXD、TXD到<SCM10>的RXD、TXD;用2、3平行串口线连接<SCM10>的COM1到PC机串口座;<MCU01>、<SCM10>接上+5V电源。
2)启动PC机,打开Keil仿真软件,建立本实验的项目文件,输入源程序并编译。
3)把Keil仿真软件生成的可执行文件(hex文件)用ISP下载器烧录到AT89S52芯片中运行,EA控制脚应接高电平,上电运行程序。
4)打开串口调试应用程序,选择下列属性:(注意选择通信串口)波特率——4800 数据位——8奇偶校验——无停止位——1在‘发送的字符/数据’区输入一个字符,点击手动发送或自动发送,接收区收到加一后的数据。
七、实验参考程序文件名功能:单片机串行口与机通信接线:用导线分别连接的、到的、。
设定串行方式:位异步,允许接收设定计数器为模式波特率加倍设定波特率为晶振为计数器开始计时等待接收清接收标志接收数据缓冲加一后回传送发送数据等待发送完成清发送标志。
PC端串口通信实例教程
PC端串口通信示例教程一、使用VC6和虚拟串口本文介绍的工程示例都基于微软公司的Visual C++6.0(简称VC6)工具软件进行开发。
首先确认电脑中是否有安装VC6开发软件。
如果电脑中没有安装VC6,可以打开短学期资料文件夹中的工具软件子目录,双击“VC6_SP6”图标进行安装,建议设置安装路径到C:\VC6如图1所示。
图1 安装VC6安装完软件后,打开VC6如图2所示。
选择菜单项“File”→“Open Workspace”,弹出窗口如图3所示。
然后打开资料文件夹下工程示例中的PC串口子目录,选择其中的COMTEST示例工程。
图2 VC6集成开发环境图3 打开示例工程COMTEST打开COMTEST示例工程后,可以看到VC6主界面如图4所示。
打开工程后,可以点击工具栏上的“Build”按钮或按快捷键F7进行编译。
选择左边的“ClassView”类视图可以查看整个工程用户相关的类代码结构;选择“ResourceView”资源视图可以查看整个工程相关的图标、文字、窗口等资源信息;选择“FileView”文件视图可以查看打开整个工程相关的用户源文件。
图4 VC6主界面布局接下来,本文准备用虚拟串口和串口调试助手进行软件调试。
打开资料文件夹→工具软件→PC端串口→虚拟串口,先按照说明安装虚拟串口驱动(本文不再详述)。
然后打开虚拟串口配置程序vspdconfig如图5所示。
软件会自动生成一对互相连接的虚拟串口,我们只需要点击“Add Pair”按钮即可添加好。
图5 虚拟串口配置软件回到图4的VC6主界面,选择“ClassView”类视图,展开CCOMTESTDlg类,双击OnInitDialog 函数如图6所示。
修改其中的OpenPort代码行,将打开端口改为COM2。
图6 修改OnInitDialog函数重新编译成功后,点击“Execute Program”按钮运行程序如图7所示。
图7 运行COMTEST程序运行串口调试助手程序,选择打开COM1端口。
双机串口通信
双机串口通信(一)设计内容:设定异步串行通信的格式并编写程序,实现两台计算机之间的串行通信。
设计目的:(1)了解串行通信的一般原理和8251A芯片的工作原理。
(2)了解实现计算机间串行通信的连接方法,数据格式的协议,数据交换的协议。
设计要求:(1)编程实现异步串行通信,掌握利用8251A进行异步串行通信时的编程方法。
(2)利用实验台上的8251A实现PC机与终端间的异步串行通信。
主机发送数据用查询方式,接收数据用查询方式。
(3)在相邻的两台计算机之间通过3线制串行线互连,实现异步串行数据收发。
甲乙两台计算机各自连续不断地向对方循环发送00H~FFH的8位数据,同时又不断的接收对方发来的数据,并且每接收1个8位二进制数就送8255的C口由8位发光二极管显示。
(二)实验原理图及实验说明(1)实验原理图(2)实验说明a)实验器中8251的接收、发送时钟信号由时钟发生器8284及74LS393分频提供,一般选择9600b)本实验中8251的接收、发送采用查询方式。
实验中也可以采用中断方式,此时需将IRQ孔接8259的某个中断请求输入端。
c)注意向8255C口输出数据时,输出为0的发光二极管亮。
(三)实验电路及实验连线实验电路如图所示用RS232通讯电缆一端接至实验器的9芯插座,另一端接至另一实验器的9芯插座。
8251片选CS连228H~22FH,8251接收、发送时钟信号输入端CLK51接74LS393的输出端;8255片选连200H~207H;8255的PC0~PC7接发光二极管驱动器输入端DL8~DL1.8251A串行通信Z8251 EQU 22AHD8251 EQU 228HZ8255 EQU 203D8255C EQU 202HCODE SEGMENTASSUME CS:CODESTART: MOV DX, Z8251MOV AL, 40H ; 向8251A控制寄存器写入复位命令字(D6=1)OUT DX, ALMOV AL, 0CFH ;设置工作模式寄存器,异步方式,波特率系数64OUT DX, AL ;8位有效数据,无奇偶校验,2位停止位MOV AL, 37H ;设置控制寄存器,OUT DX, ALMOV DX, Z8255MOV AL, 80H ;8255设置位A,B,C口方式0输出OUT DX, ALMOV AH, 00H ;计数初值SEND: MOV DX, Z8251WAIT2: IN AL, DX ;读入8251状态寄存器内容AND AL, 01H ;判断TXRDY是否为1(发送寄存器是否空)JZ WAIT2 ;为0(不空)则等待MOV AL, AH ;为1(空)取前一次计数值INC AL ;计数值加1MOV AH, AL ;更新前一次计数值MOV DX, D8251OUT DX, AL ;将当前计数值送8251发送寄存器MOV CX, 0FFFFHLOOP $ ;延时约1 sMOV DX, Z8251WAIT1: IN AL DX ;读入8251状态字AND AL, 02H ;判断RXRDY是否为1(接收寄存器是否有新数据)JZ WAIT1 ;为0(无新数据)则等待MOV DX, D8251 ;为1(有新数据)IN AL, DX ; 读入接收寄存器内的数据MOV DX, 202H ; 将数据直接输出到8255的C口OUT DX, AL ;JMP SENDCODE ENDSEND START方案论证:本实验主要使用了可编程串行接口芯片8251A,下面就8251A对设计方案进行论证。
PC机双机串行通信
信息科学与技术学院《微机原理与接口技术》课程设计报告题目名称:PC机与PC机间进行串行通信学生姓名:吴森学号:2009082203专业:计算机科学与技术班级:09级(01)班指导教师:裘祖旗张更新完成日期:2012年1月2日目录一.设计任务与技术要求:.................................................................................................................... - 3 -二.课程设计总结报告正文.................................................................................................................... - 3 -1. PC机间串行通信测试 .................................................................................................................. - 3 -1.1 设计思路............................................................................................................................. - 3 -1.2 程序框图............................................................................................................................. - 4 -1.3 程序清单............................................................................................................................. - 5 -2. PC机间进行字符动画控制 .......................................................................................................... - 6 -2.1 设计思路............................................................................................................................. - 6 -2.2 程序框图............................................................................................................................. - 7 -2.3 从机程序清单..................................................................................................................... - 7 -3. 程序分析....................................................................................................................................... - 7 -4. 调试步骤....................................................................................................................................... - 7 -5. 开发心得....................................................................................................................................... - 7 -三.参考文献............................................................................................................................................ - 7 -一.设计任务与技术要求:A.PC与PC机能进行串行通信;B.一台PC机能对另一台PC机进行字符动画控制扩展功能:制定一定的通信协议本串行通信程序利用汇编语言通过BIOS中断调用和DOS功能调用实现PC机双机串行通信。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六双PC机串口通信
一、实验目的和要求:
1、熟悉串口通信的基本原理,掌握RS-232接口标准以及DB9的主要引脚功能。
2、初步掌握可编程串行接口芯片的使用方法。
3、掌握用汇编语言进行串口编程的方法。
4、熟悉汇编语言程序的上机过程。
二、实验环境
1、硬件:PC机和RS-232接口连线。
2、软件:(1)汇编语言程序开发平台:Win2000/WinXP+集成开发工具VisualASM 1.0。
(2)汇编语言程序测试平台:Win98/DOS。
三、实验内容
甲机:接收键盘上输入的字符并通过串口发送到乙机。
乙机:接收甲机发送来的字符并显示到屏幕上。
四、实验原理
1、异步串行通信
串行通信是CPU与外部设备之间进行信息交换的基本方法。
采用串行通信时,构成一个字符或数据的各位按时间先后,从低位到高位一位一位地传送,与并行通信相比,它占用较少的通信线,因而使成本降低,而且适合较远距离的传输。
串行通信常作为计算机与低速外设或计算机之间传输信息用。
当传输距离较远时,可采用通信线路(如电话线、无线电台等)。
由于它占用的通信线路较少,所以应用较广泛。
在使用时,发送及接收端必须具备并行-串行转换电路。
图1是串行通信的示意图。
图1 串行通信示意图
串行通信包括异步通信和同步通信两种通信方式。
一般情况下使用串行异步通信,本实验采用的就是这种通信方式。
在异步串行通信中,每个字符作为一个独立的整体进行发送,字符之间的时间间隔可以是任意的。
为了实现同步,需要在每个字符的第一位前加1位起始位(逻辑1),并在字符的最后一位后加1位、1.5位或2位停止位(逻辑0)。
异步通信格式如图2所示。
图2 异步通信格式
2、RS-232-C接口标准
EIA RS-232-C是一种串行异步通信接口标准,其常用的连接器有两种:DB-25型和DB-9
型。
目前大多数台式电脑上采用的是DB-9型连接器,其引脚的排列和信号名称如图3所示。
图3 DB-9型连接器引脚排列和信号名称
3、双PC机串口通信电路图
本次实验使用3线连接法,即只使用9个信号线中的3根,一根信号地线,一根发送线,一根接收线。
在连接这种电缆时需要注意,电缆中的发送线和接收线需要交叉,也就是说,一台计算机的RS-232发送引脚需要和另一台计算机的RS-232接收引脚相连,一台计算机的RS-232接收引脚需要和另一台计算的RS-232发送引脚相连,连接方法见图4所示。
4、INS8250/PC16550可编程串行接口芯片
在微机中,通常是采用可编程芯片8250/16550来实现串行通信的。
INS8250有10个寄存器,他们是:发送保持寄存器、接收数据寄存器、低字节波特率因子、高字节波特率因子、中断允许寄存器、中断识别寄存器、线路控制寄存器、MODEM控制寄存器、线路状态寄存器和MODEM状态寄存器。
PCU16550添加了一个FIFO缓冲器,用于缓冲正在发出或接收的数据,所以共有11个寄存器。
目前大多数主板都提供了两个串行接口,分别为COM1和COM2。
COM1接口的I/O地址是03F8h-03FFh,中断号是IRQ4;COM2接口的I/O地址是02F8h-02FFh,中断号是IRQ3。
五、实验步骤
1、启动电脑进入WINDOWS2000操作系统平台。
2、安装VisualASM汇编语言集成开发工具。
3、编辑汇编语言源程序。
4、汇编源程序。
3、连接程序。
6、从新启动电脑进入DOS操作系统平台。
7、运行调试。
六、参考程序
/*发送程序*/
.model small
.stack
.code
main PROC
MOV AL,10000000b;
MOV DX,3fbh
OUT DX,AL
MOV AL,30h
MOV DX,3f8h
OUT DX,AL
MOV AL,0h
MOV DX,3f9h
OUT DX,AL
MOV AL,00000011b
MOV DX,3fbh
OUT DX,AL
next:
MOV AH,01h
INT16h
JZ next
MOV AH,02
MOV DL,AL
INT21h
MOV AH,0h
INT16h
CMP AL,1bh
JE exit
MOV DX,3f8h
OUT DX,AL
JMP next
exit:
MOV AH,4ch
INT21h
Main ENDP
END
/*接收程序*/
.model small
.stack
.code
main PROC
MOV AL,10000000b
MOV DX,3fbh
OUT DX,AL
MOV AL,30h
MOV DX,3f8h
OUT DX,AL
MOV AL,0h
MOV DX,3f9h
OUT DX,AL
MOV AL,00000011b
MOV DX,3fbh
OUT DX,AL
next:
MOV DX,3fdh
IN AL,DX
TEST AL,01h
JZ next1
MOV DX,3f8h
IN AL,DX
MOV AH,02
MOV DL,AL
INT21h
next1:
MOV AH,01h
INT16h
JZ next
MOV AH,0h
INT16h
CMP AL,1bh
JE exit
JMP next
exit:
MOV AH,4ch
INT21h
Main ENDP
END。