产品选型

单片机TXD与RXD 详解单片机串行通讯口的工作方式

小编 2024-10-12 产品选型 23 0

详解单片机串行通讯口的工作方式

1.数据缓冲器SBUF

发送SBUF和接收SBUF共用一个地址99H 。

1)发送SBUF存放待发送的8位数据,写入SBUF将同时启动发送。

发送指令:MOV SBUF,A

2)接收SBUF存放已接收成功的8位数据,供CPU读取。

读取串行口接收数据指令:MOV A,SBUF

2.串行口控制/状态寄存器SCON(98H)

SM0,SM1:选择串行口4种工作方式。

SM2:多机控制位,用于多机通讯。

REN:允许接收控制位,REN=1,允许接收;REN=0,禁止接收。

TB8发送的第9位数据位,可用作校验位和地址/数据标识位

RB8:接收的第9位数据位或停止位

TI:发送中断标志,发送一帧结束,TI=1,必须软件清零

RI:接收中断标志,接收一帧结束,RI=1,必须软件清零

3.节电控制寄存器PCON

SMOD(PCON.7):波特率加倍控制位。

SMOD=1,波特率加倍, SMOD=0,则不加倍。

串行接口的工作方式

SM0,SM1选择四种工作方式。

(1) 方式0:同步移位寄存器方式。用于扩展并行I/O接口。

1.一帧8位,无起始位和停止位。

2.RXD:数据输入/输出端。TXD:同步脉冲输出端,每个脉冲对应一个数据位。

3.波特率B = fosc/12 如: fosc=12MHz, B=1MHz,每位数据占1ms。

4.发送过程:写入SBUF,启动发送,一帧发送结束,TI=1。接收过程:REN=1且RI=0,启动接收,一帧接收完毕,RI=1。

(2) 方式1:8位数据异步通讯方式。

1.一帧10位:8位数据位,1个起始位(0),1个停止位(1)。

2.RXD:接收数据端。 TXD:发送数据端。

3.波特率:用T1作为波特率发生器,B=(2SMOD/32)×T1溢出率。

4.发送:写入SBUF,同时启动发送,一帧发送结束,TI=1。接收:REN=1,允许接收。接收完一帧,若RI=0且停止位为1 (或SM2=0),将接收数据装入SBUF,停止位装入RB8,并使RI=1;否则丢弃接收数据,不置位RI。

(3) 方式2和方式3:9位数据异步通讯方式。

1.一帧为11位:9位数据位,1个起始位(0),1个停止位(1)。 第9位数据位在TB8/RB8中,常用作校验位和多机通讯标识位。

2.RXD:接收数据端,TXD:发送数据端。

3.波特率: 方式2:B=(2SMOD/64)×fosc 。

方式3:B=(2SMOD/32)×T1溢出率 。

4.发送:先装入TB8,写入SBUF并启动发送,发送结束,TI=1。接收:REN=1,允许接收。接收完一帧,若RI=0且第9位为1 (或SM2=0),将接收数据装入接收SBUF,第9位装入RB8,使RI=1;否则丢弃接收数据,不置位RI。

详解51系列单片机引脚及功能

51系列单片机有各种封装形式,这里以40引脚双列直插DIP形式的封装来进行介绍,如图1.1所示。其中正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。

图1.1 8051双列直插式的引脚配置

有些新型的单片机在引脚数量以及功能上都略有区别,但都是基于51系列单片机内核。这里介绍的内容同样适用于新型的单片机。下面介绍51系列单片机的引脚功能,这些是学习单片机程序设计必须要了解和掌握的基础知识。

❑电源引脚:主要负责单片机的供电,有两根引脚。VCC(Pin40)为正电源端,接5.0V电压;GND(Pin20)为接地端。

❑外接晶振或外部振荡器引脚:主要负责为单片机的运行提供时钟振荡器,主要有两根引脚。其中,XTAL1(Pin19)为时钟XTAL1脚,片内振荡电路的输入端;XTAL2(Pin18)为时钟XTAL2脚,片内振荡电路的输出端。

8051单片机的时钟振荡器有两种工作方式。一种是片内时钟振荡方式,在18和19脚外接石英晶体和振荡电容,振荡电容的值一般取10~30pF。另外一种是外部时钟方式,由外部直接提供时钟源。

❑P0口:即P0.0~P0.7(Pin39~Pin32),输入输出脚,可用于8位并行I/O口或分时复用为地址和数据总线。

P0定义为I/O口时,为准双向I/O口,需外接上拉电阻,在程序中向该端口写入1后,成为高阻抗输入口。P0口作为输出口时,每个引脚可以负载8个TTL。在外扩存储器时,可定义为低8位地址/数据线。

❑P1口:即P1.0~P1.7(Pin1~Pin8),输入输出脚,8位准双向并行I/O口。P1口内部已经具有上拉电阻,为8位准双向I/O口,能负载4个TTL;在Flash编程和校验时,定义为低8位地址线。

❑P2口:即P2.0~P2.7(Pin21~Pin28),输入输出脚,8位准双向并行I/O口。P2口内部已经具有上拉电阻,为8位准双向I/O口,能负载4个TTL;当访问外部存储器时,定义为高8位地址线。

❑P3口:即P3.0~P3.7(Pin10~Pin17),输入输出脚,8位准双向并行I/O口。P3口内部已经具有上拉电阻,为8位准双向I/O口,能负载4个TTL。

P3口每个引脚都具有第二功能。引脚P3.0(RXD)和引脚P3.1(TXD)分别为串行数据的接收和发送端口,用于串行数据传输;引脚P3.2和引脚P3.3为外部中断请求,分别用于

的中断输入;引脚P3.4(T0)和引脚P3.5(T1),分别为定时器/计数器T0和T1的外部计数输入端;引脚P3.6(

)和引脚P3.7(

)用于读写单片机片外RAM存储器,分别是外部数据写选通信号和读选通信号。

❑RST(Pin9):单片机内部CPU的复位信号输入端。在单片机的振荡器启动后,该引脚置两个机器周期以上高电平,便可以实现复位。

(Pin30):地址锁存使能端和编程脉冲输入端。

当访问外部程序存储器时,ALE引脚的负跳变将低8位地址打入锁存;而非访问内部程序存储器时,ALE引脚将有一个1/6振荡频率的正脉冲信号,该信号可以用于外部计数或时钟信号。当访问外部数据存储器(执行MOVX类指令)时,ALE引脚会跳过一个脉冲。另外,对8EH单元的特殊功能寄存器的D0位置1,可禁止ALE输出,只有在执行MOVX或MOVC类指令时,ALE才被激活,仍输出锁存有效。在执行片外程序代码时,该设定禁止ALE位无效。

(Pin29):访问外部程序存储器的读选通信号。

当单片机访问外部程序存储器,读取指令码时,每个机器周期产生2次有效信号,即此脚输出2个负脉冲选通信号;在执行片内程序存储器以及读写外部数据时,不产生

脉冲信号。

(Pin31):

为访问内部或外部程序存储器选择信号。

当8051 CPU访问外部程序存储器时,则

必须保持低电平;当

保持高电平时,则8051 CPU先从片内0000H单元开始,执行内部程序存储器程序;如果外部还有扩展程序存储器,则8051 CPU在执行完内部程序存储器程序后,自动转向执行外部程序存储器中的程序。

相关问答

51 单片机rxd txd 引脚功能分别是?

RXD是51单片机UART串口的数据接收引脚,TXD是串口的数据发送引脚。使用的时候应该注意RXD和TXD引脚的电路标识,最早的51单片机只有一个UART串口,引脚标识就是R...

PLC的RS485接口怎么和, 单片机 ,的( RXD TXD )接口通讯。请简要说下,我需要对PLC做哪些设置?

单片机的(RXD,TXD)接口是TTL电平的232,得用芯片max485PLC端肯定需要程序单片机的(RXD,TXD)接口是TTL电平的232,得用芯片max485PLC端肯定需要程序

【422串口中,RTS-, TXD -, TXD +, RXD +,GND, RXD -,RTS+;CTS+;CTS-...

[最佳回答]我猜:这个接口是与RS232共用!通常422串口TXD-,TXD+,RXD+,GND,RXD-5线标准RS2329线RS-232C接口定义(DB9)引脚定义符号1载波检测...

485通讯tx和rx怎么接线?

TX和RX是485模块的前端信号,需要接单片机的串口,通常接法是RX接单片机串口的TXD;TX接单片机串口的RXD,这种接法叫交叉连接,这是和485接口芯片的引序有关的,...

txp串口接口方式?

一般的单片机串口应用只需3根信号线:3脚TXD(发送数据)、2脚RXD(接收数据)、5脚SG(信号地)。其中单片机的TXD对应连接PC机的RXD,单片机RXD连接PC的TXD。即...

单片机 是stc89c52,现在想通过串口( TXD RXD 、GND)来烧录程序...

用max232如图,软件就用STC-ISP。max232芯片104的电容一个9针串口(母头的)即可具体电路可参考stc89c52的pdf文件CH340T芯片不会烧的,因为它与单...

rx、tx和 rxd txd 是一个意思吗?

rx跟rxd,rxd跟txd是同一个意思。关于TXRX的理解:TX代表传送数据,RX是接收数据,即:Transmit和Receive的缩写。1、在INTTERFACE中,查看WAN网卡的...

...不可以直接把它的 TXD RXD 接入 单片机 TXD RXD 上用-ZOL问答

可以直接接到单片机的TXD和RXD上使用,PL2302是USB转TTL(TTL是5V的信号,RS232是10V左右的信号)TTL信号可以直接单片机信号但RS232的信号要经过电平转换后才可以...

两个 单片机 做一个系统, 单片机 之间用什么方式通信最好啊!!-ZO...

3、如果单片机之间通讯距离远的话,可以采用RS485通讯方式;如果单片机之间通讯距离近的话,两个单片机串口可以直接通讯。4、如果对通讯速度要求不高的话,也可以...

怎么实现两个 单片机 之间的串口通信?

两个单片机之间串口通信,如果是用proteus仿真,最简单了,两个单片机的RXD,TXD交叉连接就行了。要是实物最好用RS232连接通信,距离可以达到几十米。再远点距离...

猜你喜欢