单片机的基本概念

1.1单片机的组成

由CPU、RAM(随机存储器)、ROM(只读存储器)、I/O接口、以及内部功能部件组成。

1.2单片机内部数据传输

单片机内部数据传输通过总线完成,输入数据时会经过三态门,三态门挂在总线上,当需要作为输入时,保持为低电位,输出时为高电位。51单片机内部有16根地址总线,总线与单片机的寻址能力有关,其对应关系为:单片机能够寻找到的地址=2的总线个数的次方。

1.3寄存器的概念

寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。

寄存器由触发器构成,缓冲寄存器用于临时存储数据,以输入到RAM或I/O口,例如SBUF。

1.4单片机的CPU系统

CPU:它是按照面向测控对象、嵌入式应用和单芯片结构要求,专门设计的要保证有突出的控制功能。

时钟系统:满足CPU及片内各单元电路对时钟的要求。

复位电路:能满足上电复位、信号复位的最简化电路。

总线控制逻辑:要满足CPU对内部总线和外部总线的控制。

内部总线控制用以实现片内各单元电路的协调操作;外部总线控制用于微控制器外围扩展时的操作管理。

1.5输入输出接口I/O

用于连接外部的输入/输出设备、测量与控制对象。

1.6特殊功能寄存器SFR

SFR是管理与控制微控制器内部I/O端口、基本功能单元、扩展功能单元运行的寄存器。
通过对SFR的编程,实现的方式设置、启动运行和状态读取等。

1.7内部总线

微控制器内部CPU与各功能模块之间传送信息的公共通信通道。分为数据总线DB(Data Bus)、地址总线AB(Address Bus)和控制总线CB(Control Bus)。

数据总线:双向,用于传送数据,实现CPU与存贮器、I/O接口、各功能模块之间的信息交换,其方向取决于是读操作还是写操作。
地址总线:单向,由CPU发出地址信息,用来访问存贮器和I/O接口。

控制总线:单向,传送控制或时序信号。如读/写信号、中断申请信号、复位信号等。每个信号都有自己的功能,控制着微控制器有序的运用工作。

1.8单片机分类表及51单片机结构

特殊型51单片机

51单片机的内部结构

单片机各引脚定义

其中引脚组成及各引脚功能如下:
1.组成:
I/O引脚:4组,每组8个。
控制引脚:4个
时钟引脚:2个
电源引脚:2个
2.功能
P1口为标准I/O口,无特殊功能。

P0口可作为准I/O口使用,但必须外接上拉电阻;在外接存储器时也可复用为低8位地址总线(AB)和双向数据总线(DB)。

P2口可作为准I/O口使用,外接存储器时可作为高8位地址总线(AB)。

P3每一个引脚都有第二功能,既能单独作标准I/O口或第二功能使用,也可混合使用,即将其中某几个作为I/O口,其他作为第二功能口。

EA引脚用作外接存储器功能的开闭,当该引脚悬空或接高电平时使用内部存储器,接低电平时只能访问外部存储器。

RST为复位引脚,当给该引脚持续两个周期的高电平时即可复位。

1.9并行端I/O口的结构

以下每个图中展示的仅仅是每组I/O口中的一个。
1.P1口的内部结构

P1口只具有标准I/O口功能,因此先对其进行分析,当需要输出数据时,控制三态门2为高电位,三态门1为低电位。内部总线将数据发送到锁存器的D端,锁存器正常工作(该锁存器其实为一D型触发器,当时钟脉冲输入到CP时,Q的次态等于上一态的D端),若输出为1,流程大致如下,首先D端为1,使得Q端为1,Q非端为0,使得后方的场效应管截至,由VCC到GND的电路不导通,使得出口的电压为高电平,因此输出1,若输出0,则Q非端为1,场效应管导通,出口电压被拉低,使得输出为0。当需要输入数据时,则控制三态门1打开,但是如果在进行输入操作之前,曾经输出过0,会使得锁存器Q非端为1,场效应管导通,导致端口一直会被拉低,导致无法正确输入数据,因此在进行输入操作之前,应先输出1。

2.P2端内部结构:

相比于P1端口,P2端口多了一个控制线用于控制多路开关MUX进行功能的选择,当多路开关置于1端时作普通I/O使用,置于地址端时,则用于第二功能。分析方法同P1。

3.P3端口内部结构

相比于P1端口,P3端口多了一个与非门,当作为普通I/O使用时,第二功能引脚保持高电平,当要用于第二功能输出时,使锁存器Q端置1(也就是输出1,其他端口在进行输入时都需要先输出1),输出数据由第二功能端决定。若用于第二功能输入时,则通过专用第二输入端口进行输入。

4.P0端内部结构

P1端口分析方法如前面所述一样,只是该端口内部未接上拉电阻,作为通用I/O口时,需要先外接上拉电阻。

1.10单片机存储器结构

1.片内存储器

其结构又可细分为

左边为低128位地址,其中00H到1FH为工作寄存器区,分为4组,每一组又可分为R0到R7八个地址,在程序调用时,例如 MOV A,R0,但无法确定R0是这四组工作寄存区那一组,其实在PSW特殊功能寄存器中的第3和第4位中的数据来决定,若为01,则为第一组,其余则以此类推(任一时刻,只能使用一个寄存器组;CPU复位后,默认选择第0组)。20H到2FH为位寻址区,即这16个地址中的每一个地址中的每一位布尔数都可以直接改变其值,例如20.3H就表示为20H地址中的第4个数。30H到7FH为数据缓冲区,基本都可以随便使用。右边为高128位地址区,除了其中18个特殊功能寄存器的21个地址可以直接访问外,其余都不行。当特殊功能寄存器的地址为0或8结尾(即能被8整除),则该特殊功能寄存器可以进行位寻址操作。

特殊功能寄存器地址如下:

2.片外存储器

1.11单片机的复位

1.单片机复位后各寄存器的状态

2.复位电路

1.11低功耗工作方式

1.待机工作方式
2.掉电工作方式

待机工作方式的特征:

待机工作方式的设置:

掉电工作方式特征:

注:图片皆来源于网络,转载请注明出处。
图片来源地址:https://baike.baidu.com/item/%E7%89%B9%E6%AE%8A%E5%8A%9F%E8%83%BD%E5%AF%84%E5%AD%98%E5%99%A8/301108?fr=aladdin
https://www.zhihuishu.com/

51单片机学习笔记(1)相关推荐

  1. 51单片机学习笔记-1简介及点灯

    51单片机学习笔记 文章目录 51单片机学习笔记 1. 51单片机简介 1.1 安装软件 1.2 单片机简介 2. LED灯 2.1点亮一个LED 2.1.1原理分析 2.1.2 创建工程 2.2LE ...

  2. AutoLeaders控制组—51单片机学习笔记

    文章目录 AutoLeaders控制组-51单片机学习笔记 1.1单片机及开发板介绍 单片机介绍 单片机应用领域 STC89C52单片机 内部结构 开发板介绍 2.1点亮一个Led 新建工程 编程 认 ...

  3. 单片机c语言北航,【下载资料】《51单片机学习笔记》北航版

    原标题:[下载资料]<51单片机学习笔记>北航版 如果手机下载有问题,请移步至电脑端,链接:https://forum.mianbaoban.cn/t/topic/36906 内容简介 本 ...

  4. 51单片机学习笔记2 仿真器的使用及STC89Cxx简介

    51单片机学习笔记2 仿真器的使用及STC89Cxx简介) 一.连接步骤 1. 硬件连接 2. 安装软件驱动 3. 检查是否安装成功 二.仿真步骤 1. 打开一个51工程 2. 选择仿真设备 3. S ...

  5. [51单片机学习笔记TWO]----蜂鸣器

    蜂鸣器音乐播放实验 首先应该了解一下蜂鸣器音乐播放的原理,在这里我只讲一下电磁式蜂鸣器驱动原理(还有一种是压电式蜂鸣器): 电磁式蜂鸣器驱动原理: 蜂鸣器发声原理是电流通过电磁线圈,使电磁圈产生磁场来 ...

  6. 51单片机学习笔记5 流水灯实现及蜂鸣器控制

    51单片机学习笔记5 流水灯实现及蜂鸣器控制 一.流水灯 1. 硬件电路 2. 代码实现 (1) 点亮一个LED的基本操作 (2) 使用算术左移实现流水灯 (3) 使用库文件左移函数 二.蜂鸣器 1. ...

  7. 51单片机学习笔记1 简介及开发环境

    51单片机学习笔记1 简介及开发环境 一.51单片机 1. STC89C52单片机简介 2. 命名规则 3. 封装 (1)PDIP (2)LQFP (3)PLCC (4)PQFP 二.STC8051结 ...

  8. Autoleaders控制组——51单片机学习笔记

    前要:本笔记为初学者上b站江科大自化协的51单片机入门教程P1-P12所得笔记,包含单片机简介和LED.独立按键.数码管相关内容. 目录 1.1.什么是单片机以及为什么要学单片机?51是什么? 2-1 ...

  9. 51单片机学习笔记-6串口通信

    6 串口通信 [toc] 注:笔记主要参考B站江科大自化协教学视频"51单片机入门教程-2020版 程序全程纯手打 从零开始入门". 注:工程及代码文件放在了本人的Github仓库 ...

  10. 51单片机学习笔记-10IIC总线

    10 I2C总线 [toc] 注:笔记主要参考B站江科大自化协教学视频"51单片机入门教程-2020版 程序全程纯手打 从零开始入门". 注:工程及代码文件放在了本人的Github ...

最新文章

  1. python表白程序-用Python做一个表白小姐姐的程序
  2. 作为一枚学生党,如何提升自己华丽转身
  3. node 生成随机头像_唯一ID生成算法剖析
  4. 卡尔曼滤波的原理说明
  5. 如何成为优秀的程序员
  6. 【leetcode】股票买卖系列总结
  7. Android SQLite 数据库详细介绍
  8. 定量库存控制模型_探索全面流动管理TFM 库存控制与低减的理性策略
  9. Linux实战第三篇:RHEL7.3 yum更换实战
  10. java 2d 图形_Java学习笔记--Swing2D图形
  11. 的大小name转为小写_linux 进程 -- ps -ef|grep process_name
  12. XPS数据分析问题收集及解答
  13. uniapp使用阿里百川SDK唤醒淘宝APP 打开淘宝领券页面/渠道备案,uniapp对接淘宝联盟等等超级详细
  14. boost电路公式详解
  15. Epicor系统二次开发
  16. 基于Python的深度神经网络的中文期刊分类系统
  17. 工业网络心脏—WiFi 6工业路由器方案IPQ5018方案介绍与应用分析功能特点
  18. 解决Ubuntu18中 A stop job is running for .. 导致关机慢
  19. 架设游戏私服——内网穿透工具frp
  20. 文件包含漏洞——实例

热门文章

  1. Shader Graph18-反射、折射函数
  2. 网络书签外链发布的注意方法
  3. 某网站返回数据加密的还原
  4. 奇安信:笔试题(20190909)
  5. 微信小程序的经验总结,UI组件、图表、自定义bar你学会了吗
  6. linux开发板开机自启动脚本,linux 添加开机自启动脚本
  7. 《论文阅读》CARE: Commonsense-Aware Emotional Response Generation with Latent Concepts
  8. datax 高级_Datax3.0使用说明
  9. 毕业生自传-----(入职中视购物)
  10. TightVNC Windows下远程连接Linux桌面