1、功能简述

STC89C52 是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器(ROM)。STC89C52具有以下标准功能:8k字节Flash512字节RAM32位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、,会使晶体管截止,关闭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内部结构

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位寄存器,存放程序运行过程中的各种状态信息的寄存器。状态值可由指令修改

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

  1. 扫盲:单片机入门分享 晶振 复位电路与电源

    学单片机走过许多弯路,挖过许多坑,浪费了很多时间,做过实际产品后回顾过去的学习经历,发现很多坑其实是可以避免的,单片机的入门应该可以更轻松一点,借CSDN论坛一方宝地,写写我的一些学习经历,希望对刚入 ...

  2. 51单片机电路原理图_10个定时器精选电路方案带你学习时钟脉冲的工作方式

    可编程控制器中的定时器是根据时钟脉冲累积计时的,时钟脉冲有 1ms.10ms.100ms等不同规格.(定时器的工作过程实际上是对时钟脉冲计数)因工作需要,定时器除了占有自己编号的存储器位外,还占有一个 ...

  3. 基于51单片机的自动浇花系统设计/基于51单片机的智能抽奖系统控制设计/基于51单片机的数字时钟与日历显示控制设计 毕业设计

    1147基于51单片机的自动浇花系统设计 设计思路:通湿度传感器实时监测湿度,通过LCD显示出实时的湿度采集值,可以通过按键设定目标界限,当达到这个界限值时,浇花系统的电机装置运行. 电路包含:LCD ...

  4. 使用51单片机和DS1302时钟芯片做一个简易的电子时钟

    简易的电子时钟实验 一.前言 二.DS1302模块介绍 三.驱动DS1302的代码 3.1 初始化DS1302时钟芯片 3.2 读取DS1302时钟芯片的时间 3.3 设置DS1302时钟芯片的时间 ...

  5. 基于51单片机、DS1302时钟模块的电子闹钟设计

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.设计原理 1.DS1302介绍 2.闹钟音乐播放原理 二.程序设计 1.DS1302.h 2.ds1302.c 3.mu ...

  6. 基于微型计算机系统的实时时钟设计,基于51单片机的实时时钟设计报告.doc

    基于51单片机的实时时钟设计报告 PAGE PAGE 24 课程设计(论文)任务书 信息工程 学 院 信息工程 专 业 (2) 班 一.课程设计(论文)题目 嵌入式课程设计 二.课程设计(论文)工作自 ...

  7. 51单片机入门——数字时钟

    文章目录 1. 前言 1.1. 设计要求 2. 硬件原理 2.1. 时钟信号(晶振) 2.2. 按键开关 2.3. 数码管显示 3. 原理图 3.1. 仿真原理图 3.2. AD原理图 3.3. PC ...

  8. c51单片机时钟c语言程序设计,基于51单片机的电子时钟设计..doc

    -- I -- - - I -- 设计题目: 基于 51 单片机的电子时钟设计 摘要 单片机,是集 CPU ,RAM ,ROM ,定时器,计数器和多种接口于一体的微控制器.自 20 世纪 70 年代问 ...

  9. 单片机的单个IO口可以发送数据吗_关于51单片机各个引脚它的功能你了解多少?...

    对于40引脚双列直插51单片机各个引脚功能情况分析. P0端口一默认是开漏准双向IO口,没有输出没有驱动能力,要做逻辑输出要在外部接上拉电阻. P0端口除了作为普通的输入输出功能,还可以用来当做数据总 ...

  10. 基于51单片机LCD1602电子时钟实物制作

    之前写了51单片机的LCD1602的程序,现在画了电路图,焊接了电路板,做出了基于51单片机LCD1602电子时钟的实物. 注意事项: 焊接过程中,注意提前布局电路. 对应好端口(避免接线错误),我由 ...

最新文章

  1. Ms Sql Server 基本管理脚本(1)
  2. python math库常用函数_Python math库常用函数
  3. 京东《未来科技趋势白皮书》,101页pdf
  4. 中国12个工科世界第一,网友:全是不吃香的|软科2021世界一流学科排名
  5. chap单向认证客户端
  6. nutch开发(六)
  7. 堆内存破坏检测实战--附完整调试过程
  8. iview上传文件案例
  9. angular的组件通信
  10. extjs4.0视频教程
  11. Git与GitHub安装与配置
  12. c语言程序的执行起点是,c语言试题及答案
  13. 2020-05-05
  14. html让字数超过多少,css强制省略号 css设置超过多少个字显示省略号
  15. 安装VMware提示“此产品安装程序不支持降级“
  16. MySQL命令行中文显示乱码怎么办
  17. SSL / TLS协议解析!SNI 识别
  18. springboot+毕业设计管理系统 毕业设计-附源码221032
  19. SCA-CNN算法笔记
  20. python 已知一个字符,在一个list中找出近似值或相似值, 模糊匹配

热门文章

  1. 基于新闻的高级中文搜索引擎
  2. Java游戏编程之常用算法
  3. sql语句计算缺失率
  4. Cesium 热力棱柱分布图
  5. CGB2106-Day07
  6. 关于部分显卡开启硬件加速后看优酷等网页视频蓝屏或死机的尝试解决办法
  7. 高考志愿怎么填?3分钟教你用ai模拟填报系统,不浪费每一分
  8. 2021年安全员-C证考试资料及安全员-C证免费试题
  9. 使用phpspreadsheet导出数据时内存溢出处理
  10. HTML与JavaScript联动