当前位置:首页 > 单片机 > 单片机
[导读]串行口的4种工作方式中的方式0是移位寄存器工作方式,主要用于扩展并行I/O用,并不用于串行通信。串行口的方式1~3是用于串行通信的,下面介绍串行口的方式1~3的双机串行通信软件编程。应当说明的是,下面介绍的双机串行通信的编程实际上与各种串行标准的硬件接口电路无关,因为采用不同的标准串行通信接口仅仅是由双机串行通信距离、传输速率以及抗干扰性能来决定的。

串行口的4种工作方式中的方式0是移位寄存器工作方式,主要用于扩展并行I/O用,并不用于串行通信。串行口的方式1~3是用于串行通信的,下面介绍串行口的方式1~3的双机串行通信软件编程。应当说明的是,下面介绍的双机串行通信的编程实际上与各种串行标准的硬件接口电路无关,因为采用不同的标准串行通信接口仅仅是由双机串行通信距离、传输速率以及抗干扰性能来决定的。

1.串行口方式1应用编程

例如:采用方式1进行双机串行通信,收、发双方均采用6 MHz晶振,波特率为2400 bit/s,一帧信息为10位,第0位为起始位,第1~8位为数据位,最后1位为停止位。发送方以78H、77H单元的内容为首地址,以76H、75H单元内容减1为末地址的数据块通过串行口发送给接收方。

发送方要发送的数据块的地址为2000H~201FH。发送时先发送地址帧,再发送数据帧;接收方在接收时使用一个标志位来区分接收的是地址还是数据,然后将其分别存放到指定的单元中。发送方可采用查询方式或中断方式发送数据,接收方可采用中断或查询方式接收。下面介绍收发双方均采用中断方式的串行发送、接收程序。

(1)甲机发送程序。

中断方式的发送程序如下:

 

(2)乙机接收程序。

中断方式的接收程序如下:

 

2.串行口方式2应用编程

方式2和方式1有两点不同之处。方式2接收/发送11位信息,第O位为起始位,第1~8位为数据位,第9位是程控位,该位可由用户置TB8决定,第10位是停止位1,这是方式1和方式2的一个不同点。另一个不同点是方式2的波特率变化范围比方式1小,方式2的波特率一振荡器频率/n。

当SMOD=O时,n=64。

当SMOD=1时,n=32。

鉴于方式2的使用和方式3基本一样(只是波特率不同,方式3的波特率要由定时器Tl的溢出率决定),所以方式2的具体编程应用,可参照下面介绍的方式3应用编程。

3.串行口方式3应用编程

例如:AT89S51单片机用串行通信方式3进行发送和接收的应用实例。发送方采用查询方式发送地址帧,采用中断或查询方式发送数据,接收方采用中断或查询方式接收数据。发送和接收双方均采用6 MHz的晶振,波特率为4800 bit/s。

发送方首先将存放在78H和77H单元中的地址发送给接收方,然后发送数据OOH~FFH,共256个数据。

(1)甲机发送程序。中断方式的发送程序如下:

 

(2)乙机接收程序。接收方把先接收到的数据送给数据指针,将其作为数据存放的首地址,然后将接下来接收到的数据存放到以先前接收的数据为首地址的单元中去。

采用中断方式的接收程序如下:

 

一般来说,定时器方式2用来确定波特率是比较理想的,它不需要用中断服务程序设置初值,且算出的波特率比较准确。在用户使用的波特率不是很低的情况下,建议使用定时器T1的方式2来确定波特率。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

串行通信是一种通信方式,数据在通信线上按位进行传输。每位数据占据固定的时间长度,使用少数几条通信线路就可以完成系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。

关键字: 串行通信 UART

串行通信接口是一种数据传输方式,采用串行通信协议(Serial Communication Protocol)。它通过串行数据线(Serial Data Line)进行数据传输,通常使用标准的RS-232、RS-485或...

关键字: 串行通信 RS-232

串行通信是一种通信方式,其中数据按顺序一位一位地传输。与并行通信不同,串行通信在一条线路上传输数据,因此需要较少的数据线。串行通信主要用于长距离通信,因为它的功耗低、成本低、简单易实现。

关键字: 串行通信 波特率

传输方式不同:一个是并行一个是串行。效率不同:并行传输效率高,一次可传输多个数据;串行传输一次可传输一个数据。

关键字: 并行通信 串行通信 通信

在通信领域,并行通信和串行通信是两种常见的通信方式。它们在数据传输方式、传输速度、传输距离等方面存在明显的区别。本文将详细介绍并行通信和串行通信的区别,并分析各自的优缺点。

关键字: 通信领域 并行通信 串行通信

同步传输通过某种时钟信号来控制数据的传输速率和保证接收端正确接收数据;异步传输则采用起始/停止位等标志来分离每个字符并进行传输。

关键字: 串行通信 时钟信号 异步传输

串行通信需要传输的数据通过调制器(Modulator)将数据转换为模拟信号,经过信号调制(Modulation)后在传输线上传输,接收端通过解调器(Demodulator)将信号解码还原成原始数据。

关键字: 串口 串行通信 并行通信

51单片机是指由美国INTEL公司生产的一系列单片机的总称,这一系列单片机包括了许多品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基...

关键字: 51单片机 串行通信

在通信领域,并行通信和串行通信是两种常见的通信方式。这两种方式各有其基本原理和特点,本文将详细介绍并行通信的基本原理以及它与串行通信的区别。

关键字: 并行通信 串行通信

并行通信:是指利用多条数据传输线将一个资料的各位同时传送。它的特点是传输速度快,适用于短距离通信,但要求通讯速率较高的应用场合。

关键字: 数据通信 并行通信 串行通信
关闭
关闭