【微机原理与单片机接口技术】MCS-51单片机的引脚功能介绍

前言

       MCS-51是指由美国Intel公司生产的一系列单片机的总称。MCS-51系列单片机型号有很多,按功能分位基本型和增强型两大类,分别称为8051系列单片机和8052系列单片机,两者以芯片型号中的末位数字区分,1为基本型,2为增强型。增强型单片机与基本型单片机相比,其最显著的特点是单片机内部的数据存储器和程序存储器的容量更大,同时增加了一个定时/计数器。

       单片机是将CPU、存储器和输入/输出单元(I/O)等集成在一块硅片上,把电路上的引脚用导线接引到封装基座的引脚上,以便与其他器件连接。封装的主要功能是保护芯片和便于焊接安装等。MCS-51系列中各种型号单片机的引脚是相互兼容的。

如图所示的PDIP封装,共有 40 只引脚,根据引脚用途可分为4大类,分别是电源引脚、时钟引脚、控制引脚和 I/O 引脚。下面对引脚定义及其功能进行说明。

 1.电源引脚

电源引脚用于外接单片机的工作电源。

(1)Vcc(40脚):单片机工作电源电压输入脚。不同型号单片机接入对应的电压电源。单片机芯片的推荐工作电压及电压范围在芯片用户手册中给出,注意在实际应用中务必严格遵守。

(2)GND(20脚):必须接地

2.时钟引脚

XTAL1(19脚)为片内振荡电路的输入端,XTAL2(18脚)为片内振荡电路的输出端

51单片机的 CPU 时钟可由以下两种方式提供。

(1)内部时钟方式:在XTAL1和XTAL2引脚外接一个石英品体或陶瓷晶振和振荡电容,如图所示。

振荡电容通常取10~30pF,石英晶体的频率为0.5~24MHZ,典型值为6MHz、I2MHZ和11.0592MHZ。在石英晶体起振后,XTAL2引脚输出一个2.24V左右的正弦波,XTAL1对地电压约为2.09V。51单片机片内的时钟和石英晶体的自激振荡频率相同,为保证振荡电路的稳定性及快速要求在设计电路板时,晶振和电容应尽量靠近单片机芯片,以减小分布电容对振荡电路的影响。

(2)外部时钟方式:使用外部振荡器脉冲信号,外部CMOS时钟源直接接到XTAL1引脚,XIAL2悬空,如图所示。

3、控制引脚

(1)复位引脚RST(9脚)

RST 为单片机复位输入端,高电平有效。当单片机运行时,若RST引脚输入大于两个机器周期(24个振荡周期)以上的高电平,则触发单片机复位操作,初始化单片机,使单片机重新运行程序,即从序存储器的 0000H 地址单元开始执行指令。

(2)\overline{PSEN}(29脚)

\overline{PSEN}引脚为外部程序存储器读选通信号,低电平有效。当单片机读取外部程序存储器上的数据或指令时,该引脚输出一个负脉冲用于选通外部程序存储器,否则一直输出高电平。外扩ROM 时, \overline{PSEN}引脚连接到外部ROM的\overline{OE}引脚。

(3)ALE/\overline{PROG}(30脚)

ALE/\overline{PROG}为双功能引脚。ALE为地址锁存允许输出端。当单片机访问外部存储器时,ALE引脚输出一个由正向负的负跳沿作为地址锁存信号,用于控制片外的地址锁存器锁存低8位的访问地址。访网地址为16位,低8位由P0口输出,高8位由P2口输出,由于P0口分时复用为低8位地址线8 位数据输入/输出,因此必须将地址低8位锁存起来。
\overline{PROG}为第二功能引脚。在对片内EPROM型单片机(如8751)烧写程序时,该引脚作为编程负脉冲输入端。
除上述两种情况外,该引脚自动输出固定频率的脉冲信号,频率为单片机时钟振荡频率的1/6,可用做外部时钟源或定时计数脉冲。

(4)\overline{EA}/V_{PP}(31脚)

\overline{EA}/V_{PP}为双功能引脚。\overline{EA}引脚为内部程序存储器和外部程序存储器的选择控制端。当\overline{EA}端接高电平(Vcc)时,单片机访间内部程序存储器,即运行内部程序存储器(地址范围为0000H~0FFFH)中的程序,但在程序计数器PC的值超过0FFFH(访问地址超过4KB)时,则自动转到外部程序存储器执行程序。当\overline{EA}端接低电平(GND)时,则只访问外部程序存储器,不管此时是否存在内部程序存储器。对于内部无ROM的8031单片机,程序存储器需外接,则\overline{EA}引脚必须接地(低电平)。

Vpp为第二功能引脚,为片内EPROM或Flash存储器的编程电压输入端,对内部有EPROM的8751单片机,编程电压的21V;对片内为Flash存储器的51单片机,编程电压为12V。

4.I/O引脚

       MCS-51单片机一共有32条输入/输出I/O引脚,由4个8位的并行接口P0、P1、P2和P3组成,每组并口有8位输入/输出接口,命名为Px.0~Px.7(x=0~3)。每个 I/O引脚都可以独立设置为输入或输出引脚。单片机内部设有对应的特殊功能寄存器P0~P3用于控制或读取并口状态,这些寄存器为直接字节寻址,且都支持按位寻址,即支持独立控制或读取某个I/O端口的状态。

(1)P0.0~P0.7(32~39 脚)

本组的8个引脚组成P0口,其中P0.0为最低位,P0.7为最高位。P0口为8位的双向三态口,由两个MOS串接,采用漏极开路输出。P0口可作为通用输入/输出端口,当单片机访问外部存储器或扩
展I/O时,分时复用为16位地址总线的低8位和8位数据总线。

注意,P0口作为地址总线和数据总线时,引脚外部无须外接上拉电阻,但作为通用输入/输出端口时,由于P0口每个I/O引脚内部电路为漏极开路的,无高电平输出能力,因此在引脚外必须接上拉电阻,P0口的引脚带负载能力为8个TTL负载。

(2)P1.0~P1.7(1~8脚)

本组的8个引脚组成P1口,其中P1.0为最低位,P1.7为最高位。P1口为8位准双向I/O口,内置上拉电阻。P1口用做普通输入/输出端口,每个P1口的引脚能驱动4个TTL负载。

(3)P2口(21~28 脚)

本组的8个引脚组成P2口,其中P2.0为最低位,P2.7为最高位。P2口为8位准双向I/O口,内置上拉电阻。P2 可用做通用输入/输出端口,每个P2口的引脚能驱动4个 TTL 负载。当单片机访问外部存储器时,作为16位地址总线的高8位。如果外接的数据存储器(RAM)小于256B,则可以使用字节寻址(Ri间接寻址),此时只使用低8位地址线(P0),P2可作为普通输入输出端口。如果外接的数据存储器大于256B或外接程序存储器,则必须采用字寻址方式,P2作为高8位地址线,P0作为低8位地址线。

(4)P3口(10~17脚)

本组的8个引脚组成P3口,其中P3.0为最低位,P3.7为最高位。P3口为8位准双向I/O口,内置上拉电阻,每个P3口的引脚能驱动4个TTL负载。P3 口除可用做普通输入/输出端口外,还具有第二功能,如表所示。

【例1】 I/O端口操作示例(汇编语言)。

  • P1口输出0000_1111,即P1.7~P1.4输出低电平,P1.3~P1.0输出高电平。
MOV P1, #0F H
  • 置P2.0为1,即P2.0输出高电平。
SETB P2.0
  • 清P2.1为0。
CLR P2.1
  • 翻转P3.0输出,即高电平变为低电平,低电平变为高电平。
CPL P3.0
  • 判断P1.0输入,如果为高电平('1'),则等待(跳转到本指令),否则继续执行后续指令。
JB P1.0, $
  • 判断P1.1输入,如果为低电平('0'),则等待(跳转到本指令),否则继续执行后续指令。
JNB P1.1, $

【例2】I/O端口操作示例(C51)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/676343.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot167基于springboot的医院后台管理系统的设计与实现

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…

Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(七)

原文:Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow 译者:飞龙 协议:CC BY-NC-SA 4.0 第十六章:使用 RNN 和注意力进行自然语言处理 当艾伦图灵在 1950 年想象他著名的Turing 测试时,他提出了…

linux(redhat)重置root密码

首先将root密码改成几乎不可能记住的密码 [rootexample ~]# echo fheowafuflaeijifehowf|passwd --stdin root Changing password for user root. passwd: all authentication tokens updated successfully.重启系统,进入救援模式 出现此页面,按e键 lin…

剑指offer——二维数组中的查找(杨氏矩阵)

目录 1. 题目描述2. 常见错误思路3. 分析3.1 特例分析3.2 规律总结 4. 完整代码 1. 题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数&…

【精选】java初识多态 多态调用成员的特点

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收藏…

DBdoctor恭祝大家龙行龘龘,前程朤朤

值此新年之际,DBdoctor恭祝大家龙行龘龘,前程朤朤。尤其是当前还跟我一样奋斗在护航春节一线的战友们,祝愿大家2024年系统又快又稳。 今年是DBdoctor护航春晚的第三年,聚好看作为海信旗下的互联网科技公司,服务着海信…

MySQL-索引(INDEX)

文章目录 1. 索引概述及优劣势2. 索引结构和不同引擎对索引的支持情况2.1 Btree2.2 Hash索引 3. 索引分类4. 索引语法5. 索引在什么情况下会失效?5.1 最左前缀法则5.2 范围查询5.3 索引列运算5.4 头部模糊查询5.5 OR连接条件5.6 字符串不加引号5.7 数据分布影响 6. …

eosio.token 智能合约介绍

一、目的 eosio.token系统合约定义了允许用户为基于EOSIO的区块链创建、发行和管理代币的结构和操作,它演示了一种实现允许创建和管理代币的智能合约的方法。本文详细介绍了eosio.token系统合约并在本地测试链上实际发行了代币进行演示,适用于EOS智能合…

移动最小二乘法

移动最小二乘法(Moving Least Square,MLS)主要应用于曲线与曲面拟合,该方法基于紧支撑加权函数(即函数值只在有限大小的封闭域中定义大于零,而在域外则定义为零)和多项式基函数,通过…

【新书推荐】7.2节 寄存器寻址方式和直接寻址方式

本节内容:寄存器寻址方式的操作数在CPU内部的寄存器中,指令中指定寄存器号。 ■寄存器寻址方式:16位的寄存器操作数可以是AX、BX、CX、DX、SI、DI、SP、BP共计8个16位通用寄存器;8位寄存器操作数可以是AH、AL、BH、BL、CH、CL、D…

echarts 曲线图自定义提示框

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>曲线图</title><!-- 引入 ECharts 库 -->…

猪圈密码.

1.介绍 又称朱高密码、共济会密码、共济会暗号、共济会员密码&#xff0c;是一种以格子为基础的简单替代式密码。即时使用符号&#xff0c;也不影响密码分析&#xff0c;亦可用其他替代式密码。 2.产生背景 这是一种外形古怪的密码&#xff0c;已经传递了几百年。没有人明确…

防疫物资管理新篇章:Java+SpringBoot实战

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

【知识整理】技术新人的培养计划

一、培养计划落地实操 1. 概要 新人入职&#xff0c;要给予适当的指导&#xff0c;目标&#xff1a; 1、熟悉当前环境&#xff1a; 生活环境&#xff1a;吃饭、交通、住宿、娱乐 工作环境&#xff1a;使用的工具&#xff0c;Mac、maven、git、idea 等 2、熟悉并掌握工作技…

【C++从0到王者】第四十二站:类型转换

文章目录 一、 C语言中的类型转换1. C语言中的类型转换2.一个常见的坑 二、为什么C需要四种类型转换三、C强制类型转换1.static_cast2.reinterpret_cast3.const_cast4.dynamic_cast 四、RTTI 一、 C语言中的类型转换 1. C语言中的类型转换 在C语言中&#xff0c;如果赋值运算符…

免费软件推荐-开源免费批量离线图文识别(OCR)

近期要批量处理图片转电子化&#xff0c;为了解决这个世纪难题&#xff0c;试了很多软件&#xff08;华为手机自带OCR识别、 PandaOCR、天若OCR、Free OCR&#xff09;等软件&#xff0c;还是选择了这一款&#xff0c;方便简单 一、什么是OCR? 光学字符识别&#xff08;Opt…

大模型学习 一

https://www.bilibili.com/video/BV1Kz4y1x7AK/?spm_id_from333.337.search-card.all.click GPU 计算单元多 并行计算能力强 指数更重要 A100 80G V100 A100 海外 100元/时 单卡 多卡并行&#xff1a; 单机多卡 模型并行 有资源的浪费 反向传播 反向传播&#xff08;B…

C++11新特性(一)

目录 C11简介 统一的列表初始化 变量类型推导 std::initializer_list 声明 auto decltype nullptr STL的一些变化 右值引用 右值引用和左值引用 右值引用适用场景 移动构造和移动语义 对类的影响 可变参数模板 递归函数方式展开参数包 STL容器中的empalce相…

使用Launch4j将jar包转成.exe可执行文件

Launch4j官网:Launch4j - Cross-platform Java executable wrapper 然后点击上面按钮 随便写个文件名

2024-02-08(Flume)

1.Flume 的架构和MQ消息队列有点类似 2.Flume也可以做数据的持久化操作 在Channel部分选择使用File channel组件 3.Flume进行日志文件监控 场景&#xff1a;企业中应用程序部署后会将日志写入到文件中&#xff0c;我们可以使用Flume从各个日志文件将日志收集到日志中心以便…