8051系统的串口通讯及应用

发布者:幸福之舞最新更新时间:2024-01-15 来源: elecfans关键字:8051系统  串口通讯  数据传输 手机看文章 扫描二维码
随时随地手机看文章

微型计算机数字系统里,数据传输可分为并行传输串行传输两种,并行式传输一次传输多个位(通常是8位)。因此,连接两个系统之间的传输线必须有多条,当然一次传输多个位,传输的速度比较快,但是传输用到的线数也多,线路费用相对会高,线路噪声,阻抗匹配等问题也多,所以并行式传输不适合长距离通讯。

串行式传输每次传输一个位,数据传输的速度表面上不怎么快,但连接两个系统之间,只要两条传输线即可,适合长距离的通信。实际上,目前串行端口传输速率已比并行端口输出传输速率快。

实际中考虑使用并行式传输还是串行式传输要根据数据量与环境而定。若要将8051系统的数据传至另一8051系统,则可以使用串行式数据传输。

最典型的串行式数据传输接口是RS232C,例如个人计算机的COM1、COM2接口就是属于RS232接口。

在串行式数据传输里有单工及双工之分

单工就是一条线只能有一种用途,例如输出线就只能将数据传出,输入线就只能将数据传入。

而双工就是一条线有两种用途,可传入数据也可传出数据。

若系统上只有一条线,且在同一时刻中不是进行传入数据就传出数据,则称之为“半双工”。

若在系统上有两条传输线,这两条传输线可同时进行数据输入与传出,则称之为“全双工”。

认识8051串行口

通常以每秒传输多少位(bit per second,简称bit/s)表示串行式数据传输的速率,又称为比特率(baud rate)。

通常,微控制器里的数据处理属于并行式处理。对8051而言,一次处理一个字节,也就是8个位,不管怎样,串行式数据与并行式数据之间的转换是无法避免的。

在8051里,若要把8位的并行数据传出去,只要把数据放入并行寄存器(SBUF)即可,8051就会帮我们把这些数据一个位一个位送出去。

接收串行数据也是一样,8051会把外面传入的数据,一个位一个位放入SBUF,当SBUF存满后,产生中断,即为并行数据,再将SBUF里的8位数据移做他用。

不论是接收还是发送,很明显SBUF扮演了关键性的角色,在8051中接收用的SBUF与传送用的SBUF虽然都叫做SBUF,但是它们分别是两个不同的8位寄存器。

8051串行工作模式

8051提供一个全双工的万用异步串行端口(Universal Asynchronous Receiver-Transmitter,简称UART),这个串行端口有4种工作模式(mode),使用不同工作模式其比特率各有不同,说明如下:

mode 0:

mode0工作模式是一固定比特率的位移式数据传输,其比特率为8051系统时钟脉冲的1/12,即OSC/12。若在时钟脉冲为12MHz,则其比特率为1M bit/s。

在此模式下,不管是接收还是发送,CPU的RxD引脚(P3.0)连接串行数据线,TxD引脚(P3.1)连接位移脉冲线。执行数据接收时,由TxD引脚送出位移脉冲,而由RxD引脚收下串行数据,如下图:

图片

执行数据传送时,也是依据TxD引脚所送出的位移脉冲,由RxD引脚发送串行数据:

图片

mode 1:

mode 1工作模式是以可变的比特率进行串行数据的传输,其比特率可由Timer 1来控制(若是8052还可以使用Timer 2控制比特率)。在此模式下,8051的RxD引脚连接数据源的TxD引脚,8051的TxD引脚连接目的地的RxD引脚。

在mode 1下,每个数据是由10位组成,包括起始位(start bit)、8个位的数据以及停止位(stop bit),其中第一个位就是低电平的起始位,紧接着是8位数据的bit0(LSB),bit7(MSB)之后是高电平的停止位,如下图:

图片

图片

mode 2:

mode 2工作模式是以OSC/32或OSC/64的比特率进行串行数据的传输,而其线路的连接,也是8051的RxD引脚连接数据源的TxD引脚,8051的TxD引脚连接目的地的RxD引脚。在mode 2下,每笔数据是由11位组成,包括起始位(start bit)、8个位的数据、奇偶位(parity bit)以及停止位(stop bit),其中第一个位就是低电平的起始位,紧接着是8位数据的bit0(即LSB),而bit7之后的是奇偶位,最后则是高电平的停止位:

图片

当进行数据传出时,第9个位TB8(即SCON寄存器的TB8)为奇偶位,可取自程序状态字组寄存器PSW中的P位,以达到奇偶校验的目的。当收到数据时,第9个位将直接移入SCON寄存器中RB8,而不必管停止位。

mode3:

mode3工作模式是以可变的比特率进行串行数据的传输,其比特率可由Timer 1来控制(若是8052则还可使用Timer 2控制比特率)。除此之外,mode 3与 mode 2几乎完全一样。

认识SCON串行口控制寄存器

图片

串行端口控制寄存器(serial port control register,简称SCON)是一个8位、可位寻址的寄存器,如上图其功能是设定与控制串行端口。下面是SCON各位的说明:

SM0和SM1

这两个位的功能是设定串行端口的模式:

图片

SM2

本位为多重处理器通信启用位:

mode 0时,Sm2=0;

mode 1时,若SM2=1,且收到有效的停止位,则RI=1(产生RI中断),否则RI=0;

mode 2或 mode 3时,若SM2=1,且收到的第9位为1,则RI=1(产生RI中断),若第9位为1,则RI=0。

REN

本位为串行接收启用位,说明:

REN=1,开始接收;

REN=0,停止接收;

TB8

mode 2或mode 3传送数据时,本位为第9传送位,可用软件来设置或清除。

RB8

mode 2或mode 3接收数据时,本位为第9个接收位;

mode 1时,若SM2=0,则本位为停止位;

mode 0时,本位无作用。

TI

本位为中断标识位,当中断结束时,本位并不会恢复为0,必须由软件清除。

mode 1、mode 2或mode 3时,若完成传送停止位,则本位自动设定为1,并产生TI中断。

mode 0时,若完成传送第8位,则本位自动设定为1,并产生TI中断。

RI

本位为接收中断标志位,当中断结束时,本位并不会恢复为0,必须由软件置0。

mode 1、mode2或mode 3时,若完成接收到停止位,则本位自动设定为1,并产生RI中断。

mode 0时,若完成接收第8位,则本位自动设定为1,并产生RI中断。

比特率设定

8051串行口的比特率设定方式有如下几种:

在mode 0下,比特率固定为OSC/12,不需要进行设定!完全是依照系统的时钟脉冲而定,不是软件所能改变的。

在mode 2下,其比特率可为OSC/32或OSC/64,即:

图片

其中SMOD为PCON寄存器中的bit 7:

若将SMOD设定为0,则设定采用的比特率OSC/64;

若将SMOD设定为1,则设定采用的比特率OSC/32。

以12MHz的系统为例:

图片

在mode 1或mode3下,比特率可由Timer 1(8052则还可以选择Timer 2)的溢出脉冲控制,以Timer 1采用具有自动加载功能的mode 2为例,产生的比特率为:

图片

如在11.0592MHz的系统下,若要产生19.2Kbit/s的比特率,且SMOD=1,则:

图片

得出TH1= 253 = 0xfd;

下表使用Timer 1时常用的比特率设定:

图片

8051串口应用

把8051的串行工作模式设定为mode 1,REN=1;SCON寄存器为0101 000;

在OSC=11.0952MHz下,把比特率设定为9600bit/s,根据前文所述,mode 1比特率设定由Timer 1控制,表格中也给出了TH1的值,所以SMOD=0,TH1 = 0xfd。

void uart_init(){//初始化

   TMOD = 0x20; // 定时器1,模式2(8位自动装载)

   TR1=1;//启用Timer 1

   TH1 = 0xfd; // 在Timer 1,mode 2, 11.0952MHz下,设定9600比特率

   SCON = 0x50; //uart mode1,接收使能

}



unsigned char rData;

void uart_read() // 接收

{

// 等到收到字节

   while(RI==0);

   rData = SBUF; //把接收到的字节放到rData

   RI=0; //清除RI以接收下一个字节

}



void uart_send(unsigned char sData){//发送

   SBUF=sData;

   while(TI == 0);

   TI=0;

}


关键字:8051系统  串口通讯  数据传输 引用地址:8051系统的串口通讯及应用

上一篇:8051单片机基本操作
下一篇:IT8528存储器学习笔记

推荐阅读最新更新时间:2024-11-11 14:32

汽车行驶记录仪的数据传输接口电路设计
  USB数据传输接口电路设计   USB接口有数据传输速度快、连接简单、兼容性好等特点。汽车行驶记录仪国家标准考虑到RS232接口使用的普及性和USB接口的先进性,规定了同时使用这两种接口实现数据通信。在USB数据传输的设计方案中采用PDIUSBD12芯片作为USB控制器。PDIUSBD12完全符合USB1.1版规范;同时它还符合大多数器件的分类规格;还适用于许多外设,如打印机、扫描仪、外部的存储设备和数码相机等,它使得当前使用SCSI的系统可以立即降低成本。   单片机直接读写闪存盘,可以实现便携设备或者嵌入式系统的外挂式海量存储。这一技术的核心是USB-HOST技术,FAT文件系统规范的实现,海量存储协议的实现以及U
[嵌入式]
基于C8051F020的多路无线温度采集系统的设计方案
1.引言 随着科技的不断进步,在多数领域中有线连接的方式已经不能满足科技高速发展的要求,无线通信正进入到我们生活中的各个领域,它与有线连接方式相比,具有携带方便、使用灵活、不必考虑走线等优点。在无线报警、工业数据采集、遥控、遥测射频IC卡、手持PDA、无线图像传输、不停车收费、无线抄表等各个方面有着极其广泛的应用。本文所介绍的测温系统也是无线通讯系统的应用之一。它以SOC单片机C8051F020为中央控制器,以CC1000为无线传送模块和温度测量电路构成了多路无线温度采集系统。 将8路的温度数据进行采集,通过无线方式送给主机C8051F020进行处理。 调制解调由CC1000完成,系统采用频移键控调制(FSK),载波频率为433M
[电源管理]
基于C<font color='red'>8051</font>F020的多路无线温度采集<font color='red'>系统</font>的设计方案
MSP430F2370(三)UART串口通讯
在这一篇文章中,举例配置了F2370的UART,以实现与上位机(PC)的串口通讯,作为一种常用的调试手段,通常会作为库函数加入到工程中,以便于编写。 因一些变更所以实验开发板从G2553变更为了F2370,当然实际上因为都是MSP430系列,在多数设置默认情况下所需要更改的只有引脚。 ===================================================================== 1.初始化UART 这一步中,需要配置引脚作为第二功能,根据数据手册与原理图可以得知,CP103x型号的USB转UART芯片接在P3.4和P3.5上 (1)首先配置引脚的第二功能,并且设置输入和输出
[单片机]
车轮上的一场数据传输变革
随着近年来汽车电气化、智能化及网联化的迅猛进展,汽车内部电子电气元器件的数量与复杂度显著增加。传统的E/E架构已无法满足汽车智能化时代的需求,车载网络正逐步向域控制和集中控制转型。行业巨头如博世、采埃孚等纷纷布局下一代车载网络架构,特斯拉在Model 3和Model Y中已采用了域控制结构。 目前,单辆车的ECU数量已逐渐从20-30个激增至100多个,部分车型的线束长度甚至达到2.5英里,汽车内部的数据连接越来越多。数据连接是汽车的“神经系统”,负责将遍布汽车各个位置的各种传感器和执行器链接到汽车计算平台(大脑),在软件定义汽车的趋势下,车载网络架构正面临着前所未有的压力。 为了满足汽车三化发展态势之下对海量数据
[汽车电子]
车轮上的一场<font color='red'>数据传输</font>变革
Tsecond推出高速数据传输处理存储设备 可应用于自动驾驶应用
据外媒报道,当地时间10月11日,帮助企业和组织激活大数据的技术开发商Tsecond推出了一个强大且独一无二的解决方案BRYCK,其可以轻松地从任何地方捕获、处理和存储数据。用户可以在该便携式媒体设备BRYCK中收集多达1PB的数据,并且以极快的速度进行存储和恢复,而且该设备非常小,可以单手携带,也非常坚固,可应对最恶劣的环境。BRYCK可应用于数据密集型及数据流动型行业,实现未来式边缘计算和存储。 BRYCK(图片来源:Tsecond) Tsecond是波音公司旗下战略风投基金AEI HorizonX的投资组合公司,而且最近完成了由机构和个人投资者投资的A轮融资,筹集了460万美元。 对于需要快速、高效收集和访问大
[汽车电子]
Tsecond推出高速<font color='red'>数据传输</font>处理存储设备 可应用于自动驾驶应用
梳理STM32F429之通信传输部分---NO.1 串口通讯
一、STM32 的 USART 简介: STM32 芯片具有多个 USART 外设用于串口通讯,它是 Universal SynchronousAsynchronous Receiver and Transmitter 的缩写,即通用同步异步收发器可以灵活地与外部设备进行全双工数据交换。有别于 USART,它还有具有 UART 外设(UniversalAsynchronousReceiver and Transmitter),它是在 USART 基础上裁剪掉了同步通信功能,只有异步通信。简单区分同步和异步就是看通信时需不需要对外提供时钟输出,我们平时用的串口通信基本都是 UART。 USART 满足外部设备对工业标准 NR
[单片机]
梳理STM32F429之通信传输部分---NO.1 <font color='red'>串口通讯</font>
谁说移动医疗将死?互联网医院或成“救命良药”
在互联网几乎颠覆所有传统行业的现在,医疗行业却是个例外。但说移动医疗已死,似乎也太过悲观。下面就随医疗电子小编一起咯了解一下相关内容吧。 有人说,移动医疗将死。 死了吗?2016年严酷的资本“寒冬”,冻死了大批初创移动医疗企业。据不完全统计,2016年约有38家互联网+医疗企业“死亡”,其中绝大部分没有挺过A轮。 谁说移动医疗将死?互联网医院或成“救命良药” 移动医疗真的死了吗?目测,还有一批老牌移动医疗企业在挣扎中求生。 因为迟迟没有找到稳定合理的盈利模式,不少移动医疗公司持续亏损,造成的资金紧张和业务架构的频繁动荡。好大夫、就医160、寻医问药等纷纷爆出裁员冻薪等负面新闻,随着移动医疗的旗手张锐遽然离世,春雨医生IPO
[医疗电子]
智能家电中的无线数据传输电路设计方案
通过中央管理平台,让家居生活舒适、安全、便利、节能、健康、环保。类似名称的还有数码家居、数字字园、网络家庭、家庭自动化、E-HOME等等。目前,智能家电可为用户提供 家居 安全报警、可视对讲、家电、照明调光、设备的室内外遥控、电话远程控制、INTERNET远程控制等多种功能。产品类型包括有线、无线或者有线和无线结合,无线方式具有无布线,移动,安装方便、应用场合广等优点逐渐成为应用主流。 灯光控制部分硬件组成框架 灯光控制 部分硬件组成框图如图1所示,其中各部分接口电路如下: 图1 无线灯光控制电路 图2 非隔离电源电路图 ①非隔离电源电路为MCU和无线模块提供工作电压,如图2所示,采用PI的LinkSwitch-
[单片机]
智能家电中的无线<font color='red'>数据传输</font>电路设计方案
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved