51单片机总结【引脚、时钟电路、复位电路、I/O端口、内部结构】

2023-11-15

1、功能简述

STC89C52 是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器(ROM)。STC89C52具有以下标准功能:8k字节Flash(程序存储器ROM)512字节RAM(256字节内部和256字节外部)32位I/O 口线看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路

 ​​​​​

2、引脚分类

3、引脚功能

难易程度:P0>P2>P3>P1

1、P1 = 1个锁存器+一个场效应管驱动器+2个三态门缓冲期

        准双向P1口:8个相同的结构电路,组成P1特殊功能寄存器90H

        p1 输出缓冲器能驱动4个TTL逻辑电平。

用作输出端口:单片机内部相关电路除了会往给锁存器的D端送数据外,还会往锁存器CL端送写锁存器信号,内部总线送来的数据通过D端进入锁存器并从Q和端输出,当D端输入“1”,则端输出“0”(Q端输出“1”),端的“0”送到晶体管的栅极,晶体管截止,从P1端口引脚输出“1”。 当D端输入“0”,则端输出“1”(Q端输出“0”),端的“1”送到晶体管的栅极,晶体管导通,从P1端口引脚输出“0”。
用作输入端口:单片机内部相关电路会先往 P1锁存器写“1”,让Q=1、\overline{Q}=0\,\overline{Q}=0\会使晶体管截止,关闭P1端口的输出电路,然后CPU往输入三态门控制端送一个读引脚控制信号,输入三态门打开,从 P1端口引脚输入的信号经输入三态门送到内部总线。 


2、复用口P3特殊功能寄存器(B0H) = 1个锁存器+1个场效应管驱动器+2个三态门缓冲器+1个与非门

用作输出端口:单片机内部相关电路会送出“1”到与非门的一个输入端(第二功能输出端),打开与非门(与非门的特点是:一个输入端为“1”时,输出端与另一个输入端状态始终相反)。若要将P3端口用作输出端口,CPU给锁存器的CL端送写锁存器信号,内部总线送来的数据通过D端进入锁存器并从Q端输出,再通过与非门和晶体管两次反相后从P3端口引脚输出。

用作输入端口:单片机内部相关电路会送出“1”到与非门的一个输入端(第二功能输出端),打开与非门(与非门的特点是:一个输入端为“1”时,输出端与另一个输入端状态始终相反)。若要将P2端口用作输入端口,CPU会先往P3锁存器写“1”,让Q=1,与非门输出“0”,晶体管截止,关闭P3端口的输出电路,然后CPU往输入三态门控制端送一个读引脚控制信号,输入三态门打开,从P3端口引脚输入的信号经过输入缓冲器和输入三态门送到内部总线。

用作第二功能:


3、高8位拓展地址总线P2(A0H)= 1个锁存器+2个三态门缓冲器+1个场效应管驱动器+两路开关+非门

用作输出端口:单片机内部相关电路会送控制信号到电子开关的控制端,让电子开关与P2锁存器的Q端连接。若要将P2端口用作输出端口,CPU会通过内部总线将数据送到锁存器的D端,同时给锁存器的CL端送写锁存器信号,D端数据存入锁存器并从Q端输出,再通过电子开关、非门和晶体管从P2端口引脚输出。

用作输入端口:单片机内部相关电路会送控制信号到电子开关的控制端,让电子开关与P2锁存器的Q端连接。若要将P2端口用作输入端口,CPU会先往P2锁存器写“1”,让Q=1、,Q=1会使晶体管截止,关闭P2端口的输出电路,然后CPU往输入三态门控制端送一个读引脚控制信号,输入三态门打开,从P2端口引脚输入的信号经输入三态门送到内部总线。

用作地址总线引脚:单片机内部相关电路会发出一个控制信号到电子开关的控制端,让电子开关与内部地址线接通,地址总线上的信号就可以通过电子开关、非门和晶体管后从P2端口引脚输出。


4、低8位拓展地址总线P0口(80H) = 1个锁存器+2个三态门缓冲器+2个场效应管驱动器+两路开关+非门 +与门

用作输出端口:内部CPU会送控制信号“0”到与门和电子开关,与门关闭(上晶体管VT1同时截止,将地址/数据线与输出电路隔开),电子开关将锁存器与输出电路连接,然后CPU通过内部总线往P0端口锁存器送数据和写锁存器信号,数据通过锁存器、电子开关和输出电路从P0端口的引脚输出。在P0端口用作输出端口时,内部输出电路的上晶体管处于截止(开路),下晶体管的漏极处于开路状态(称为晶体管开漏),因此需要在P0端口引脚接外部上拉电阻,否则无法可靠输出“1”或“0”。

用作输入端口:内部CPU会先往P0端口锁存器写入“1”(往锁存器D端送“1”,同时给CL端送写锁存器信号),让,VT2截止,关闭输出电路。P0端口引脚输入的信号送到输入三态门的输入端,此时CPU再给三态门的控制端送读引脚控制信号,输入三态门打开,P0端口引脚输入的信号就可以通过三态门送到内部总线。如果单片机的CPU需要读取P0端口锁存器的值(或称读取锁存器存储的数据),会送读锁存器控制信号到三态门(上方的三态门),三态门打开,P0锁存器的值(Q 值)经三态门送到内部总线。

用作地址数据总线:单片机内部相关电路会通过控制线发出“1”,让与门打开,让电子开关和非门输出端连接。当内部地址/数据线为“1”时,“1”一方面通过与门送到 VT1的栅极,VT1导通,另一方面送到非门,反相后变为“0”,经电子开关送到VT2的栅极,VT2截止,VT1导通,P0端口引脚输出为“1”;当内部地址/数据线为“0”时,VT1截止,VT2导通,P0端口引脚输出“0”。总的来说,当单片机需要将P0端口用作地址/数据总线时,CPU会给与门和电子开关的控制端送“1”,与门打开,将内部地址/数据线与输出电路的上晶体管 VT1接通,电子开关切断输出电路与锁存器的连接,同时将内部地址/数据线经非门反相后与输出电路的下晶体管VT1接通,这样VT1、VT2状态相反,让P0端口引脚能稳定输出数据或地址信号(1或0)。


5、其他非I/O口 

4、最小系统工作电路

 

5、时钟电路——单片机的心脏

单片机需要时钟信号才能正常工作,时钟信号是脉冲信号的一种,周期固定,占宽比1:1的矩形脉冲波。时钟电路就是通过其他元器件综合来形成的时钟信号。 1.晶振时钟:通过外部晶振电路来获取时钟信号,电容用于起振。2.脉冲时钟:外部从XTAL2引脚输出时钟信号。

 部分51单片机不需要外部晶振也能正常工作,优点是降低成本,缺点是RC振荡频率精度不高。

单片机的时序

是对象间按照时间顺序组成的序列关系,可以用状态方程、状态图、状态表和时序图表示。 

时序与时钟的关系:时钟要受时钟节拍的制约。

时钟度量单位:时钟周期(节拍)P、状态周期S、机器周期、指令周期。 

1S = 1P、1机器周期 = 6S = 12P、1指令周期 = 1~4机器周期

 6、复位与复位电路

复位电路的首要功能是通电复位。使单片机恢复原始默认状态。P0-P3复位默认是全高电平。

复位条件:在RST/VPD引脚端出现:大于等于10ms时间的高电平3V状态。

7、51内部结构

图中ROM为8k,RAM为512字节。

8、中央处理器 

控制器

用途:统一指挥和控制各单元协调工作 

任务:从ROM中取出指令——译码——执行指令

组成:程序计数器、指令寄存器、指令译码器、数据指针寄存器

程序计数器(Program Counter):指向下一条指令首地址,ROM存储单元的地址指针,可修改,让程序跳转运行复位时:PC=0——复位后程序从0开始运行。

指令寄存器(Instruction Register):8位寄存器,暂存指令,等待译码。

指令译码器(Instruction Decoder):将指令寄存器的指令进行译码,转为可执行的电信号,在通过定时器电路将其执行。

数据指针寄存器(Data Pointer):指向ROM或者RAM存储单元的地址指针(引导数据传送)DPTR是专门的16位的外设RAM或者外部ROM准备用于读取和写入的。

(16位寄存器的可寻址范围为2^16=64kb,可拆成两个8位独立寄存器DPL和DPH低8位和高8位)

运算器 

作用:对数据进行算术运算和逻辑运算。

功能:1.对暂存器中的数据进行运算。2.结果保存到ACC中。3.运行状态反映在PSW中

累加器ACC:一个8位寄存器,用来存放操作数或中间运行结果。状态值可由指令修改,是最繁忙的寄存器。

算术逻辑单元ALU:执行算术和逻辑运算,运算结果给PSW。

状态字寄存器PSW:8位寄存器,存放程序运行过程中的各种状态信息的寄存器。状态值可由指令修改

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

51单片机总结【引脚、时钟电路、复位电路、I/O端口、内部结构】 的相关文章

  • Java服务器授权+授权工具部分代码及思路

    目标 项目部署到服务器上 需要当前服务器授权后才能正常访问 控制项目授权日期 某终端 通道 授权数量 用户登录访问菜单权限 注 授权端 授权工具在自己手里 控制授权 在此我称之为授权工具 被授权端 jar包部署的服务器端 在此我称之为服务器
  • 大学生团体天梯赛(第十届)

    题目地址 天梯赛 include
  • 【区块链技术工坊45期】陈军:用案例解析通证经济模型设计

    1 活动基本信息 1 题目 区块链技术工坊45期 案例解析通证经济模型设计 2 议题 传统的新技术出现 人们只需要精通其语言规范和工具即可付诸应用 而区块链技术的出现却伴随着一个新的经济概念 即通证经济 有人说没有通证经济模型的区块链应用不
  • 专题:编程案例

    目录 案例一 买飞机票 代码优化 总结 案例二 求区间之内的素数 案例三 开发验证码 随机验证码的核心逻辑 案例四 评委打分 案例五 数字加密 案例六 模拟双色球系统 案例一 买飞机票 import java util Scanner pu

随机推荐

  • java 多线程之 implements Runnable

    请看以下题目 public class testController implements Runnable int b 100 synchronized void m1 throws InterruptedException b 1000
  • 移动端适配dpr

    1 移动端适配的代码 设计稿iPhone6 如下 function doc win seMetaTagScale doc win var fn function var deviceWidth doc documentElement cli
  • 如何用linux命令查看日志

    关注我 升职加薪就是你 压缩命令 tar czvf info log tar gz info log 把info log压缩为info log tar gz 通常压缩率能达到20倍左右 查询压缩文件内容 zcat info log tar
  • 如何帮服务器设置虚拟内存,服务器里面怎么设置虚拟内存

    服务器里面怎么设置虚拟内存 内容精选 换一换 对象存储调优主要分为 冷存储配置调优所有数据盘都是机械硬盘 HDD 的场景 即DB WAL分区 元数据存储池都使用机械硬盘所有数据盘都是机械硬盘 HDD 的场景 即DB WAL分区 元数据存储池
  • binlog_do_db 与 binlog_ignore_db

    前言 经过前面文章学习 我们知道 binlog 会记录数据库所有执行的 DDL 和 DML 语句 除了数据查询语句select show等 注意默认情况下会记录所有库的操作 那么如果我们有另类需求 比如说只让某个库记录 binglog 或排
  • [羊城杯 2020]A Piece Of Java

    羊城杯 2020 A Piece Of Java 文章目录 羊城杯 2020 A Piece Of Java 源码分析 从后往前测试 逐步写exp 构造DatabaseInfo类对象 InfoInvocationHandler 动态代理 序
  • 树莓派配置motion获取实时视频流

    一 串口连接CSI摄像头模块 二 升级安装程序apt get 输入以下命令 sudo apt get update sudo apt get upgrade 三 激活树莓派摄像头模块 输入sudo raspi config 选择Interf
  • Android透明状态栏和导航栏方案最终版

    前言 仔细留意常用App 就会发现有些 App 的状态栏和导航栏有透明效果 或者是沉浸式效果 比如QQ音乐客户端 是像这个样子的 我们看到整个页面顶部与导航栏浑然一体 在看导航栏 虽然我们打开了手机导航栏 但是整个页面 还是延伸到了导航栏底
  • 避免 PageHelper 使用中的一些坑

    多年不用PageHelper了 最近新入职的公司 采用了此工具集成的框架 作为一个独立紧急项目开发的基础 项目开发起来 还是手到擒来的 但是没想到 最终测试的时候 深深的给我上了一课 我的项目发生了哪些奇葩现象 一切的问题都要从我接受的项目
  • C++ PRIMER PLUS 第六版编程答案(二)

    2 7编程练习 1 编写一个小程序 要求用户使用一个整数指出自己的身高 单位为英寸 然后将身高转换为英尺和英寸 该程序使用下划线字符来指示输入位置 另外 使用一个const符号常量来表示转换因子 include
  • 解决eclipse中启动Tomcat成功但是访问不了Tomcat问题

    自己搭建了一个springMVC项目 中间出了一些问题 在排查问题的过程中发现eclipse成功启动了Tomcat 但是在浏览器中输入localhost 8080却给我一个冷冷的404 我以为是Tomcat出问题了 心情大好 以为自己搭建的
  • Github copilot几个使用技巧,自动补全代码

    上一篇文章介绍了如何在vscode 中引入 Github Copilot 这一张我们介绍一下Github Copilot 的使用技巧 一 常用快捷键 快捷键 含义 tab 应用提示代码 esc 拒绝提示代码 ctrl enter 打开提示面
  • Caused by: java.lang.UnsupportedOperationException 解决方案

    b 背景 b 今天在跑一个UnitTest 跑的过程中想在list的最后多加一个Element 即 List add Element e 多测试一条数据 可是在run的过程中 却一直在抛 Caused by java lang Unsupp
  • V-REP安装

    小知识 是当前目录 是父级目录 是根目录 1 下载V REP 官网地址 http www v rep eu downloads html 我用ubuntu16 04下载V REP PRO EDU V3 5 0 Linux tar 2 解压安
  • STM32通用定时器输出PWM控制舵机 —— 重装载值、比较值、当前值

    参考 stm32 定时器输出PWM原理及工作原理 控制舵机 作者 点灯小哥 发布时间 2021 03 09 23 17 52 网址 https blog csdn net weixin 46016743 article details 11
  • 【数理统计】双因素方差分析

    下面用SPSS搞一下 这一步选择模型 要不要考虑交叉因素 根据实际情况 我先不选交叉因素 选主效应 在这里可以看到随机误差项的自由度为0 不满足方差齐性 这是为什么呢 这是因为SPSS的自由度和上述经典算法是不一致的 SPSS中是怎么算的呢
  • python自动化课程笔记(十二)闭包、装饰器

    闭包 闭包就是能够读取其他函数内部变量的函数 例如在javascript中 只有函数内部的子函数才能读取局部变量 所以闭包可以理解成 定义在一个函数内部的函数 在本质上 闭包是将函数内部和函数外部连接起来的桥梁 闭包 def test nu
  • 【专题5: 硬件设计】之 【66.开关电源 之 buck电路和引入电感】

    嵌入式工程师成长之路 系列文章 总目录 系列文章总目录 希望本是无所谓有 无所谓无的 这正如脚下的路 其实地上本没有路 走的人多了 也便成了路 原创不易 文章会持续更新 欢迎微信扫码关注公众号 承接 小程序 嵌入式 PC端项目开发 联系作者
  • Kubernetes tutorial - K8S 官方入门教程

    tutorials 教程 kubectl 的命令手册 1 Creating a Cluster 1 1 Using Minikube to Create a Cluster Kubernetes Clusters Kubernetes co
  • 51单片机总结【引脚、时钟电路、复位电路、I/O端口、内部结构】

    1 功能简述 STC89C52 是一种低功耗 高性能CMOS8位微控制器 具有8K在系统可编程Flash存储器 ROM STC89C52具有以下标准功能 8k字节Flash 程序存储器ROM 512字节RAM 256字节内部和256字节外部