设计与开发

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

小编 2024-10-07 设计与开发 23 0

详解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在执行完内部程序存储器程序后,自动转向执行外部程序存储器中的程序。

单片机引脚读写操作

自己总结下单片机引脚的用法。

使用单片机时肯定会用到单片机的IO引脚。以51单片机P1口为例。内部结构如图所示

当单片机进行写操作时,引脚锁存器(D触发器)CLK端接收有效电平,然后内部总线上需要写的数据就会通过D触发器传输到Q'。当写1时Q'为0,使MOSFET截止,因此外部引脚电平为1.当写0时Q'为1,MOSFET饱和导通,此时引脚可以看成接地,所以引脚为0。

如果对单片机IO口进行读操作。由图可以看出读操作包括读寄存器和读引脚。以前知道有这两种区别,但是从来没仔细区分过。从图中可以看出读寄存器时读寄存器上的三态缓冲器打开,Q端的值直接传到了内部总线上,而下面的读引脚三台缓冲器是高阻态,读引脚时则相反。

汇编语言中对读寄存器和读引脚做了一定的区别,但说实话我在看汇编代码时还是区分不清两者的区别。现在大家对单片机编程应该大部分采用的都是C语言,在我看来,C语言中已经极大的淡化了读寄存器还是读引脚的区别。

有些人说a=P1是读引脚(a是某个字符变量),P1=P1|0x00是读寄存器(可能是认为这里P1进行了一次逻辑运算,只有寄存器中的值才能进行逻辑运算),但我在用C语言时感觉用P1=P1|0x00也是读的引脚。也有些人说看经过编译器编译后的汇编代码才能分辩出两者的区别,不知道这里大家怎么看读引脚和读寄存器?

在读引脚时需要先向引脚锁存器中写1。因为如果引脚寄存器中是0的话会导通MOSFET,使外部端口一直是低电平,即使外面接的是高电平在读引脚的时候也读的是0。以前知道需要这样做,但读引脚的时候一直没写过1,发现读的也对,现在我觉得这样写不符合规范。

一般来说单片机在上电复位后默认引脚寄存器的值是1,这样一来关断了MOSFET,而我们在使用单片机的时候如果这个引脚作为输入,也不会让它变成一会儿输出一会儿输入,使得能够准确的读出外部端口的值。现在我在写程序时如果端口做为输入引脚,我会在初始化里对其写一次1。当然,以后就不用写了,因为写了一次1后没有其他的写操作,引脚锁存器中会一直保持这个值不变。当然,如果某个单片机引脚同时作为输出和输入引脚复用时,则必须在输出完成后变成输入前先向其写1,再读引脚的值。

相关问答

单片机 引脚功能?

如下:电源引脚:单片机需要通过引脚来接收供电,通常会有VCC引脚和GND引脚。VCC引脚连接到正电源,GND引脚连接到地。供电引脚是单片机正常工作的基础。复位引...

单片机 怎么看引脚对应?

以下是一般步骤,可用于查找单片机的引脚对应:确认单片机型号:确定您正在使用的单片机的具体型号。通常可以在芯片本身或设计文档中找到这些信息。获取芯片手...

为什么 单片机 引脚有电压,没有电流?

电容充电要限流,否则将电源电压拉底,单片机不工作。不能这么说,单片机总的输出功率是一定的,具体管脚的输出电流电压会因外接负载的不同而有所变化,输出电...

单片机 引脚连接方法?

连接单片机引脚的方法取决于您使用的单片机和具体的应用场景。以下是一般的步骤和注意事项:1.确定引脚功能:首先,查阅单片机芯片的数据手册,了解每个引脚的...

单片机 显示屏引脚定义?

单片机显示屏通常包括LCD显示屏和LED数字管显示屏。LCD显示屏通常需要16个引脚,其中8个用于数据传输,3个用于控制,1个用于背光控制,4个用于电源和地线。LED...

16脚 单片机 芯片引脚功能?

·两个具有独立的预分频器和比较器功能的8位定时器/计数器。·两个具有预分频器、比较功能和捕捉功能的16位定时器/计数器。·具有独立预分频器的实时时钟计...

为什么 单片机 接地的引脚有的要串一个电阻,直接接地不行吗?

可以啊,这个下拉电阻是有含义的吧。是不是你有时这个引脚要拉高?电阻接地都是考虑驱动能力,或者是防止电流过大。功耗大。大致如此吧可以啊,这个下拉电阻...

单片机 的引脚的输出电压多大~?

一般的引脚输出高电平是15mA,输出低电平形成的灌电流是20mA,P0口不能输出高电平,功率为UI,U为芯片的电源电压。但所有的IO电流加起来不能超过150mA一般的引脚...

51 单片机 有多少个I/O引脚?

各种51单片机的IO引脚数没有固定值,不同型号的51单片机,其IO个数也不一样。传统51单片机比较常用的型是AT89C51/52,它共有40个引脚,其中有32个IO引脚,而目...

51 单片机 有多少引脚?

51单片机是一个家族,型号众多,不同型号单片机的引脚个数也不同,最少的是8个,目前最多的是64个。引脚数还和封装有关,国外的51单片机通常是DIP封装,引脚多...

猜你喜欢