【微机原理与单片机接口技术】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://xiahunao.cn/news/2776096.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

如何看待频域与时域的仿真差别

从信号与系统理论中,可以知道,对于占空比为50%的周期信号,只含有奇次谐波,实际中,时钟信号并不是理想的占空比为50%的梯形波,因此,会同时含有奇偶次谐波,一个典型的案例,DDR仿真中,如果用模拟的理想激励源,如下图所示,可以发现,频谱中只会存在基频及其奇次谐波。 …

Android:Volley框架使用

3.15 Volley框架使用 Volley框架主要作为网络请求,图片加载工具。当应用数据量小、网络请求频繁,可以使用Volley框架。 框架Github地址:https://github.com/google/volley Volley框架的简单使用,创建项目Pro_VolleyDemo。将Github上下载Volley框架源代码,volley-master.zi…

C#,佩尔数(Pell Number)的算法与源代码

1 佩尔数(Pell Number) 佩尔数(Pell Number)是一个自古以来就知道的整数数列,由递推关系定义,与斐波那契数类似。佩尔数呈指数增长,增长速率与白银比的幂成正比。它出现在2的算术平方根的近似值…

Qt简易登录界面

代码: #include "mywidget.h" #include "ui_mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent), ui(new Ui::MyWidget) {ui->setupUi(this);ui->background->setPixmap(QPixmap(":/qt picture/logo.png"))…

三极管从入门到精通

文章目录 摘要1 基础1.1 PN结1.2 三极管 2 三极管模拟电路知识2.1 I-V特性曲线2.2 极限参数解释2.3 基本共射极放大电路2.4 小信号模型2.5 用小信号模型分析基本共射极放大电路 3 三极管实际模拟电路应用图3.1 共射极放大电路3.1.1 基本共射极放大电路3.1.2 基极分压式射极偏置…

vue3 之 通用组件统一注册全局

components/index.js // 把components中的所组件都进行全局化注册 // 通过插件的方式 import ImageView from ./ImageView/index.vue import Sku from ./XtxSku/index.vue export const componentPlugin {install (app) {// app.component(组件名字,组件配置对象)…

REvil/Sodinokibi勒索病毒通用解密工具

前言 REvil/Sodinokibi勒索病毒相信关注我公众号的朋友,应该都不会陌生了,如果不清楚的可以去翻看之前的文章吧,如果你见过类似下面这样的勒索病毒攻击之后的电脑桌面,如下所示: 或者你见过这样的勒索提示界面&#x…

【跳槽须知】关于企业所签订的竞业协议你知道多少?

年后跳槽须知自己签订的合同中是否存在竞业协议,谨防协议造成经济损失 🐓 什么是竞业协议 竞业协议时用于保护自己的权益,在员工离职时决定是否启动的一种协议,避免一些掌握公司机密的一些重要岗位人才流入竞争对手的公司&#xf…

数字信号处理 试题 复盘解答(八)

数字信号处理 试题 复盘解答(八) ps:仅 用作复盘 和回顾知识点,如果有疑问或者错误请提出。 涉及年份 :19 - 21年 六、 个人感觉缺少条件 七、 使用双线性变换法对一个最小相位模拟滤波器进行数字化得到的数字滤波器一般来说不再…

GEE Colab——如何利用Matplotlib在colab中进行图形制作

在colab中绘制图表 笔记本的一个常见用途是使用图表进行数据可视化。Colaboratory 提供多种图表工具作为 Python 导入,让这一工作变得简单。 Matplotlib Matplotlib 是最常用的图表工具包,详情请查看其文档,并通过示例获得灵感。 线性图 线性图是一种常见的图表类型,用…

MySQL篇----第十六篇

系列文章目录 文章目录 系列文章目录前言一、数据库中的事务是什么?二、SQL 注入漏洞产生的原因?如何防止?三、为表中得字段选择合适得数据类型四、存储时期前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇…

IDEA-将压缩的一行代码恢复到原有格式

背景 有时需要将原来的一行代码恢复到未压缩前的格式,方便查看 示例: 通过IDEA自带的功能: 快捷键: MAC版:option command L 效果:

计算机网络基础 第一章——计算机网络概论 知识点

1.1计算机网络的形成与发展 1.计算机网络的特点 (1)计算机网络技术在现代社会发展中的作用 ●21世纪一个重要特征是:数字化、网络化与信息化,它的基础是支持全社会的、强大的计算机网络。 ●计算机网络是当今计算机学科中发展最为迅速的技…

vue.js基于springboot的实验室设备管理系统10345

(1)设备信息模块:记录设备的基本信息,如设备采购来源信息、设备需求量、当前数量、日期等。 (2) 用户模块:教师职工。实现对用户个人信息、消息管理和实验室设备的查询使用申请等。 (3) 管理员模块:实现对所有设备信息的增删改查&…

飞书上传图片

飞书上传图片 1. 概述1.1 访问凭证2. 上传图片获取image_key1. 概述 飞书开发文档上传图片: https://open.feishu.cn/document/server-docs/im-v1/image/create 上传图片接口,支持上传 JPEG、PNG、WEBP、GIF、TIFF、BMP、ICO格式图片。 在请求头上需要获取token(访问凭证) …

Office2013下载安装教程,保姆级教程,附安装包和工具

前言 Microsoft Office是由Microsoft(微软)公司开发的一套基于 Windows 操作系统的办公软件套装。常用组件有 Word、Excel、PowerPoint、Access、Outlook等。 准备工作 1、Win7 及以上系统 2、提前准备好 Office 2013 安装包 安装步骤 1.鼠标右击【Office2013(64bit)】压缩…

JAVA设计模式之原型模式详解

原型模式 1 原型模式介绍 定义: 原型模式(Prototype Design Pattern)用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型对象相同的新对象。 西游记中的孙悟空 拔毛变小猴,孙悟空这种根据自己的形状复制出多个身外化身的技巧,在面向对象软件设计领…

蓝桥杯省赛模板构建——uart

打开CubeMX 串口的发送是跟调试器放一起的,通过PA9和PA10来接收发送 选择异步通讯 波特率配置为9600 打开串口中断,因为单片机接收数据需要用到中断 生成代码 添加底层驱动代码 打开在main.h打开uart定义 uart时钟配置,由于uart是用PCLK时钟…

html5+css3胶囊按钮代码

效果 代码 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <title></title> <style> /* 胶囊开关的样式 */ .switch { position: relative; display: inline-block; width: 6…

【c++入门】母牛生小牛

说明 有一头小母牛&#xff0c;从出生第四年起每年生一头小母牛&#xff0c;按此规律&#xff0c;第N年时有几头母牛&#xff1f; 输入数据 只有一个整数N&#xff0c;独占一行。(1≤N≤50) 输出数据 对每组数据&#xff0c;输出一个整数&#xff08;独占一行&#xff09;…