单片机扫盲

news2024/11/25 14:36:48

一、从电路到集成电路

集成电路:使用微器件为“积木”,去搭建一个具备一定功能的电路板
微器件出现之前,一个电路功能需要很大一块电路板才能实现,有了微器件电路板的体积可以降到mm级别。
IC芯片就是将电路的所有微器件集成到一起,用绝缘壳封装。其内部就是众多组成电路的微器件,通过引出来的引脚与外部进行数据传输。
IC的引脚的数量和每个引脚的作用再IC设计制造时已经固定,我们要做的是通过IC的数据手册来明确引脚的使用方法。
在这里插入图片描述

二、单片机的组成

单片机简述

组成部分:单片机属于计算机的一种,由CPU、内部存储器、IO组成
单片机:即MCU,单片机所有零件集成到了一个IC内部,并且出厂前被塑料壳封装起来了,本质就是一个IC芯片。
在这里插入图片描述

在这里插入图片描述

CPU

CPU:中央处理器,本质就是一块超大规模的集成电路。

  • CPU = 运算器 + 控制器
  • CPU = ALU(算数逻辑单元) +Cache + Bus
  • CPU = 汇编指令 + 寄存器
    在这里插入图片描述
    工作原理
  1. 程序员通过C语言编写程序,通过编译器将C语言解析成CPU可以执行的指令序列
  2. CPU通过Bus(总线)从存储器中取出指令到内部,然后译码后执行
  3. 一条指令包含指令码+数据
  4. 执行指令反应为一个控制操作或一个数学运算

存储器

内存和外存

内存:可以被CPU按照字节直接随机访问,存储程序运行时定义的变量。速度快,小而贵
外存:不可以被CPU直接访问,一般通过对应的控制器以块为单位来简介访问访问。速度慢,大而便宜。
内存和外存使用场景:程序和数据不使用时,存在外存中。运行程序时,从外存读取到内存中,CPU再从内存中读取程序。

ROM和RAM

ROM:只读存储器,即程序运行时程序本身只能从其中读取数据,不能向里写数据,但仅限于程序运行时。

  • 使用场景:单片机中用于存储烧录的程序的器件就是ROM,通过烧录器烧录的过程就是在向ROM中写数据,单片机中ROM一般时flash。
  • ROM类似于外存,但并不完全相等,如PC中有外存(硬盘)但无ROM,单片机中有ROM但无外存。单片机中的程序时存储在ROM中,运行时CPU直接读取。
    RAM:随机访问存储器,分为SRAM和DRAM。单片机中一般用SRAM,SoC和PC中一般用DRAM
  • 使用场景:CPU执行程序时产生的临时数据存放在RAM中,所以基本可以理解为ROM存放程序,RAM存放数据。
  • memory:专指计算机中的内存。

外设

外设:单片机中除了CPU、存储器、IO还有其它模块,如IIC控制器、UART控制器等未集成到MCU中的没模块就称为外设。随着技术的进步,越来越多的外设已经被集成到MCU中了。

三、单片机的工作原理

时钟:单片机中的CPU和其它模块都是通过单片机的时钟进行同步工作的,一个始终单位只能做一个事情。时钟周期(单片机主频)影响了单片机的速度。主频越高性能越高,一般PC的主频都是2G多3G多,51单片机的主频MHz级别。一般手机CPU的主频也在1G-2G左右。一般高级单片机如STM32的主频在百MHz级别。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/84175.html

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

相关文章

大数据时代,数据仓库究竟是干嘛的?

前言 无论你是否专门从事大数据开发,作为一个开发人员,应该都听说过数据仓库的概念,那你知道为什么会出现数据仓库?数据仓库究竟是干嘛的吗?有什么价值和意义呢?那么本文就带到入门,揭开数据仓…

大数据分析工具-FineReport地产行业通用单选按钮组控件插件

1. 概述 1.1 版本 报表服务器版本 JAR 包版本 插件版本 10.0 2018-09-05 V1.3.4 9.0 2015-08-09 V1.3.2 8.0 2015-08-09 V1.3.2 1.2 应用场景 地产行业具有比较特殊的筛选需求,而现有的单选按钮组控件不能很好的满足这一点。我们希望可以实现多层级多…

空间音频技术与生态发展高峰论坛成功举办,业界首个Audio Vivid创作工具花瓣三维声亮相

11月26日至27日,UWA世界超高清视频产业联盟(以下简称“UWA联盟”)、上海交通大学-南加州大学文化创意产业学院、华为联合举办了“互联智慧,共赢未来” 超高清音视频技术与生态发展高峰论坛暨Audio Vivid空间音频工具花瓣三维声训练…

Nocas环境隔离

Nocas环境隔离配置 为了做数据和服务的管理,引出了环境隔离的一个概念。 Nocas中服务存储和数据存储的最外层都是一个名为namespace的东西,用来做最外层隔离。 .yml 配置文件中配置: spring:application:name: orderservicecloud:nacos:se…

OH----Usb rndis,mtp等function添加,config配置

1、驱动侧添加对应功能的驱动代码: 在linux中usb驱动代码中添加rndis或者mtp等功能驱动代码, 路径: linux-5.10/drivers/usb/gadget/function linux usb驱动原生功能代码一般可以直接使用,添加进去参与编译就能继续往下做调试了&…

【校招项目】基于C++11的muduo库

基于C11的网络库 文章目录基于C11的网络库项目介绍项目地址项目特点开发环境并发模型构建项目运行案例模块讲解ChannelPollerEventLoopBufferTimerHTTP异步日志内存池数据库连接池优化计划感谢项目介绍 本项目是参考 muduo 实现的基于 Reactor 模型的多线程网络库。使用 C 11 …

如何高效存储中高频多因子

2022年12月1日晚7点半,DolphinDB 进行了以「中高频多因子库存储最佳实践」为主题的直播,吸引了众多专业观众的注意。本文将回顾直播精彩内容。 DolphinDB 的因子库: 为了使广大用户更方便地实现因子计算和管理,助力更高效的投研…

[附源码]Node.js计算机毕业设计大学生专业实习管理系统Express

项目运行 环境配置: Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境:最好是Nodejs最新版,我…

C/C++ 高精度(加减乘除)算法简单实现

文章目录前言一、基本原理1、存储方式2、计算方式二、辅助方法1、字符串转高精度2、整型转高精度3、比较4、打印三、算法实现1、加法2、减法3、乘法4、除法四、使用示例1、加法2、减法3、乘法4、除法总结前言 由于上一章《C/C 高精度(加减乘除)算法实现…

NetSuite资产负债表编制技巧

在最近的项目上,发现大家对NetSuite资产负债的编制参数缺乏足够的了解,导致对客户需求的支支吾吾,产生了沟通上的浪费。所以今朝对三个典型应用做个介绍。 1. 如何在资产负债表中选择“会计期间区间”? 2. 期初、发生、结余报表…

【元宇宙欧米说】Web3如何为漫画产业创造更多玩法和可能性

漫画和NFT的碰撞会产生什么火花?NFT如何为传统的漫画收藏增加额外价值?Web3时代如何为漫画带来更多玩法和可能性? 12月15日下午三点,MadManga 创始人Jun将以“Web3如何为漫画产业创造更多玩法和可能性”为题,与大家共…

构建文本摘要Baseline并且开始训练

构建文本摘要Baseline并且开始训练 基于前面word2vec的原理与训练实践、seq2seq模型的原理与实践以及attention机制,已经分别写了相关的文章来记录,此篇文章就是基于前面所学,开始着手训练文本摘要模型,当然仅是一个比较普通的ba…

[附源码]Node.js计算机毕业设计大学体育馆预约系统Express

项目运行 环境配置: Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境:最好是Nodejs最新版,我…

vue框架搭建大屏自适应方案

vue框架搭建大屏自适应方案 1.可使用flexible.js rem实现宽高,字体自适应 附上flexible.js代码 (function flexible(window, document) {var docEl document.documentElement;var dpr window.devicePixelRatio || 1;// adjust body font sizefunction setBody…

NocasRule负载均衡与服务实例的权重设置

NocasRule负载均衡 .yml 配置文件配置 server:port: 8080 spring:application:name: orderservicecloud:nacos:server-addr: localhost:8848 #nocas服务地址discovery:cluster-name: HZ #集群名字 userservice: #要做配置的微服务名称ribbon:NFLoadBalancerRuleClassName: com…

游戏开发57课 性能优化14

5. 内存优化 内存优化目的是加快IO,防止卡主线程,防止频繁操作(创建/删除)内存,避免内存碎片化和占用过高。 5.1 缓存法 与CPU的缓存计算类似,思路是将需要重复创建的对象缓存起来,销毁时将它…

安装、启动与停止Apache服务

安装、启动与停止Apache服务 安装Apache相关软件 [rootcentos7 ~]# rpm -q httpd [rootcentos7-1 ~]# mkdir /opt/centos //创建目录/opt/centos [rootcentos7-1 ~]# mount /dev/cdrom /opt/centos //挂载光盘到/opt/centos 下 mount: /dev/sr0 写保护…

Spring Boot 3.0.0正式发布,Banner不再支持图片增强可观测性

本文已被https://yourbatman.cn收录;女娲Knife-Initializr工程可公开访问啦;程序员专用网盘https://wangpan.yourbatman.cn;技术专栏源代码大本营:https://github.com/yourbatman/tech-column-learning;公号后台回复“…

openCV(一)基础背景

1 认识计算机视觉 2012年AlexNet模型在ImageNet图像分类中获得比赛冠军,深度学习开始在计算机视觉领域流行。早期的计算机视觉主要集中在重建方面,2012年以后在感知和重建两个领域都受到了深度学习的影响。应用场景包括自动驾驶、机器视觉、安防监控、其…

猿如意中的【PostgreSQL 数据库】工具详情介绍

猿如意中的【PostgreSQL 数据库】工具详情介绍 一、工具名称 PostgreSQL 数据库 二、下载安装渠道 PostgreSQL 数据库V14.2 通过CSDN官方开发的【猿如意】客户端进行下载安装。 2.1 什么是猿如意? 猿如意是一款面向开发者的辅助开发工具箱,包含了效…