详解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在执行完内部程序存储器程序后,自动转向执行外部程序存储器中的程序。
详解单片机串行通讯口的工作方式
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。
相关问答
单片机 中的 TXDRXD 指什么?RXD、TXD是ReceiveData,TransmitData的意思。RXD为接收数据的引脚,TXD为发送数据的引脚。RXD是P3.0,TXD是P3.1RXD、TXD是Receive...
51 单片机 的串口IO( TXD , RXD ),可否同时接到两片Max232芯片上使...另外,TXD,RXD可能驱动不了这么多口子,最简单的办法,你可以将信号输入到一个74LS04,以增强其驱动。可以!----用一片CD4052芯片把TXD+RXD分接到两片MAX232芯片...
单片机 开发板上的 RXD TXD ALE PSEN是什么?RXDTXD是单片机的串口收发ALE为地址锁存允许信号,在访问外部存储器时,ALE用来锁存P0送出的低8位地址信号。以PSEN信号作为扩展程序存储器的读选通信号,在读外...
PLC的RS485接口怎么和, 单片机 ,的( RXD , TXD )接口通讯。请简要说下,我需要对PLC做哪些设置?单片机的(RXD,TXD)接口是TTL电平的232,得用芯片max485PLC端肯定需要程序单片机的(RXD,TXD)接口是TTL电平的232,得用芯片max485PLC端肯定需要程序
请问 单片机 与 单片机 之间的串口通信 rxdtxd ,线路通信距离是多少?如果太短,如何延长?串口通讯理想距离在两米以内,太长的话就容易出现误码,延长串口通讯的措施就是采用RS485规范了。可以达到1公里以上。串口通讯理想距离在两米以内,太长的话就...
【 RXD - RXD + TXD - TXD +中的RXD-和TXD-是什么意思?】作业帮[最佳回答]接受数据(RXD)、发送数据(TXD)一般在串口通信中使用;如RS-232,的,2针为接受数据(RXD)、3针为发出数据(TXD)、接受数据(RXD)、发送数据(TXD)一般...
rxd 和 txd 什么意思?[最佳回答]RXD代表接收的数据;TXD表示传输数据。RXD和TXD属于数据通信。数据通信是通信技术和计算机技术相结合的一种新的通信方式。一般串口用这两个表示。两...
rxd 是什么意思_作业帮[最佳回答]RXD、TXD是ReceiveData,TransmitData的意思.RXD为接收数据的引脚,TXD为发送数据的引脚.RXD在DTE设备端为接收,即输入,在DCE设备端同名RXD为发.....
TXD , RXD 的意思?RXD与TXD都是数据通信,RXD是接收数据,TXD是发送数据。数据通信是通信技术和计算机技术相结合而产生的一种新的通信方式。一般串口就用这二个来表示。要在两地...
TXDRXD 分别表示什么意?TXDRXD是一个网络术语,代表“TransmitDataReceiveData”,即发送数据和接收数据。它用于描述网络设备之间的通信过程,表明两台设备之间的数据传输方向。简单...