二月十四日记录。后续再碰到也方便查询,慢慢更新。

0.单片机

单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。

简单讲:微型计算机。

单片机的基本构成及工作原理 - 单片机_电工学习网 (diangon.com)

1.上拉、下拉电阻

上拉是指单片机的引脚通过电阻接VCC,这样可以把这个引脚的电平固定为高电平。

下拉的情况和上拉的相反,是为了把引脚固定为低电平,要有下拉电阻也是为了防止误配置导致烧掉芯片。

2.IO口的输入和输出

解释1:

首先输入和输出是针对于单片机自身而言的。

输出是单片机从IO口往外输出信号1或0(VCC或0V)。

输入是单片机从IO口读取输入信号1或0。

解释2:

I是input,即为输入,

O是output,即为输出。

当我们设定一个引脚为输出时,这个引脚就约等于一个电源,可以向它身上接着的东西输出点流,这个点流的电压是恒定值,当然也可以是没有,也就是1高电平、0低电平。

输入就是把引脚当成一个接受端,当外界给它电流时,单片机就会得到有电流的信息,就是1;外界不给它电流时,没信息,就是0。

3.系统中断

单片机的中断概念是指单片机在执行程序时,遇到事先设定的优先等级高于当前正在执行程序的控制信号时,暂时停止当前程序的执行,转而先执行优先等级高的程序,等待所有优先等级较高的程序都执行完后,再返回继续原来暂停执行的程序的操作,这样的程序操作就称为执行中断操作。

为了保证中断执行后能够继续执行原来的程序且不产生错误,中断操作时,首先要保存中断前的程序的地址、工作寄存器的内容等。直到中断程序执行完成后再将暂时保存的工作寄存器的内容和地址取出,才能保证不会出现错误。

中断系统:实现中断过程。

中断源:请示CPU中断的请求源。微型机的中断系统一般允许多个中断源,当几个中断源同时向 CPU 请求中断,要求为它服务的时候,这就存在CPU 优先响应哪一个中断源请求的问题。通常根据中断源的轻重缓急排队,优先处理最紧急事件的中断请求源,即规定每一个中断源有一个优先级别。CPU 总是先响应优先级别最高的中断请求。

中断嵌套:当单片机正在执行中断请求时,又出现了一个比正在执行的优先级更高的中断请求,则先停止正在执行的中断请求,执行优先级高的中断请求,等执行完后再执行原来优先级较低的中断请求。

拥有中断嵌套的中断系统称为多级中断系统,没有嵌套功能的为单级中断系统。

4.pwm输出(todo)

粗浅理解:500ms高电平、500ms低电平循环。

(23条消息) 单片机_PWM输出原理详解_xuewei_Li的博客-CSDN博客_单片机pwm

5.总线

单片机总线是一种内部结构,它是cpu、内存、输入、输出公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接。

一个电路总是由元器件通过电线连接而成的,在模拟电路中,连线并不成为一个问题,因为各器件间一般是串行关系。各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作必须相互协调,所以就需要的连线就很多了。

如果仍如同模拟电路一样,在各微处理器和各器件间单独连线,则线的数量将多得惊人,所以在微处理机中引入了总线的概念,各个器件共同享用连线,所有器件的8根数据线全部接到8根公用的线上,即相当于各个器件并联起来。

但仅这样还不行,如果有两个器件同时送出数据,一个为0,一个为1,那么,接收方接收到的究竟是什么呢?这种情况是不允许的,所以要通过控制线进行控制,使器件分时工作,任何时候只能有一个器件发送数据(可以有多个器件同时接收)。

器件的数据线也就被称为数据总线,器件所有的控制线被称为控制总线。在单片机内部或者外部存储器及其它器件中有存储单元,这些存储单元要被分配地址,才能使用,分配地址当然也是以电信号的形式给出的,由于存储单元比较多,所以,用于地址分配的线也较多,这些线被称为地址总线

6.寄存器

寄存器是用来存放数据的小型存储区域,用以暂时存放运算的数据和运算的结果。

单片机一般有几个寄存器? (ofweek.com)

主要寄存器

(1)累加器A

累加器A是微处理器中使用最频繁的寄存器。在算术和逻辑运算时它有双功能:运算前,用于保存一个操作数;运算后,用于保存所得的和、差或逻辑运算结果。

(2)数据寄存器DR

数据寄存器通过数据总线向存储器和输入/输出设备送(写)或取(读)数据的暂存单元。它可以保存一条正在译码的指令,也可以保存正在送往存储器中存储的一个数据字节等等。

(3)指令寄存器IR和指令译码器ID

指令包括操作码和操作数。指令寄存器是用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存中取到数据寄存器中,然后再传送到指令寄存器。当系统执行给定的指令时,必须对操作码进行译码,以确定所要求的操作,指令译码器就是负责这项工作的。其中,指令寄存器中操作码字段的输出就是指令译码器的输入。

(4)程序计数器PC

PC用于确定下一条指令的地址,以保证程序能够连续地执行下去,因此通常又被称为指令地址计数器。在程序开始执行前必须将程序的第一条指令的内存单元地址(即程序的首地址)送入PC,使它总是指向下一条要执行指令的地址。

(5)地址寄存器AR

地址寄存器用于保存当前CPU所要访问的内存单元或I/O设备的地址。由于内存与CPU之间存在着速度上的差异,所以必须使用地址寄存器来保持地址信息,直到内存读/写操作完成为止。显然,当CPU向存储器存数据、CPU从内存取数据和CPU从内存读出指令时,都要用到地址寄存器和数据寄存器。同样,如果把外围设备的地址作为内存地址单元来看的话,那么当CPU和外围设备交换信息时,也需要用到地址寄存器和数据寄存器。

7.内存

程序存储器ROM:掉电可保存,速度慢。

数据存储器RAM:掉电即消失,速度快。

(23条消息) 单片机内存及运行原理_GZ的博客-CSDN博客_单片机内存管理

8.时钟

9.初始化

10.端口复用和重映射功能

复用:一些端口不仅可以作为通用IO口,也可以复用为一些外设引脚。(多功能)

重映射:将某一个引脚的功能解给其他引脚用。(暂时简单这么理解)

STM32某些基础概念扫盲相关推荐

  1. NR5G基础概念扫盲

    文章目录 前言 BWP 5G NR波形 OFDM波形 循环前缀 DFT-S-OFDM 未完待续 前言 随着人工智能.万物互联时代的到来,人类社会进入到一个新的阶段.新兴的科技产业对信息社会基础设施提出 ...

  2. 清泉HAL库开发STM32之基础概念

    文章目录 前言 一.STM32标准库和HAL库分别是什么? 二.HAL库开发 cubemx新建工程 1.选择 CPU 型号 2.确认时钟源 3. 配置 IO 口 4. 配置系统时钟 5. 进一步配置 ...

  3. 游戏服务端开发之基础概念扫盲篇

    13年毕业后,做了一年多外包web开发,因为受不了在客户现场工作的氛围,愤然辞职.转行做了一名手游服务端开发. 在广州,据我所知,选择java作为服务端开发语言的公司大概有37互娱,百田,银汉,易娱, ...

  4. LoRa基础概念扫盲篇

    一.   简介 采用扩频技术,接收灵敏度更高.用户自行决定扩频调制带宽(BW).扩频因子(SF).纠错率(CR).支持标准的GFSK.FSK.OOK.GMSK调制模式.带宽范围7.8-500KHz,扩 ...

  5. STM32驱动开发(二)--USB Device RNDIS虚拟网卡(USB2.0 基础概念讲解)

    STM32驱动开发(二)–USB Device RNDIS虚拟网卡(USB2.0基础概念讲解) 一.简介   本文基于stm32 Rndis实例,github开源, 使用STM32F407单板.结合协 ...

  6. 零基础补给站 | 词法概念扫盲——名词 Noun

    本文仅供学习交流使用,如有侵权请予以告知,本文不收取任何费用! 开搞开搞! 盘古开天辟地之前,天地模糊一团, 称之为"混沌". 而作为零基础小白的我们,对英语这门语言, 也仍处于& ...

  7. PCIe | 基础知识点扫盲

    本文总结 lspci 相关的知识点 1' 2' 3' 4' 5' 6. 本文的内容主要源自互联网技术博客及 SSDfans 网站 7. 持续更新中 - Update: 2023 / 1 / 23 PC ...

  8. STM32 USB基础知识

    文章目录 拓展阅读 前言 一.USB基础知识 二.USB2.0 1.usb2.0模式说明 2.USB2.0全速USB和高速USB的识别过程分析 3.usb协议关系 4.USB2.0与USB1.x 硬件 ...

  9. 第一节:基础概念介绍(黄老师)

    最近偶然在网上看到韦东山老师的课程--7天物联网智能家居实战训练,常常在关于Linux学习或者嵌入式学习的文章中看到韦东山老师的名字,但是还从来没有实际听过,因为大家都说要先从51,再过渡到STM32 ...

最新文章

  1. [转]C C++ TDD单元测试非常好的书
  2. Fabric--CA 应用与配置
  3. mysql 优化器不准_mysql 优化器有哪些可选开关
  4. 网络编程项目(聊天室项目)
  5. 【LeetCode笔记】117.填充每个节点的下一个右侧节点指针 II(二叉树、DFS)
  6. zoj 2526(一道很好的最短路应用题)
  7. “央视boys” 四人带货超5亿:权来康康,撒开了买
  8. 心得3--JDBC增删改查模版编写与案例
  9. 读取html文件转换字符串,读取HTML文件,生成HTML字符串
  10. C语言期末试卷华师,2020华中师大计算机考研经验帖(已上岸)
  11. DP算法——最大子序列系列Ⅰ
  12. 模型笔记1---3d max 导入obj模型设置
  13. HTML5添加网页音效
  14. 如何删除WORD中的空白行
  15. iOS 导航栏遮挡UIViewController问题
  16. ESP32-GY_30光照强度传感器
  17. 手机微信语音批量转文字 使用百度语音识别
  18. Adaboost算法介绍
  19. 【永磁同步电机转速环ADRC电流环ADRC双环无传感器控制】
  20. 智慧检察院公益诉讼云平台解决方案-合集

热门文章

  1. 20-WWW-FiDo Ubiquitous Fine-Grained WiFi-based Localization for Unlabelled Users via Domain Adaptati
  2. Jconsole简介
  3. Java编程之利用数组输出唐诗
  4. 智能冰箱宝APP控制除臭味有效杀菌
  5. 杰里之动态切换手机或者蓝牙接听电话】【篇】
  6. java代码画直角三角形,等腰三角形
  7. Symbian 介绍
  8. Houdini制作地形(一)
  9. CAD实现快速看图的两种方法,再不会就太浪费时间啦!
  10. Android极光推送厂商离线通道集成文档及flutter集成总结