什么是单片机?它是如何工作的?

news2025/1/18 11:48:14

一.单片机是什么?

家用电器包含各种各样的集成电路板。
在这里插入图片描述

在这里插入图片描述
在集成电路板上最重要的就是单片机(单片微型计算机)。它是一种集成电路芯片。

二.单片机的组成

在这里插入图片描述

2.1 CPU

 CPU的主要功能是运算和控制。

2.2 ROM

1.是什么?

ROM的全称是Read-Only Memory,即只读存储器。
ROM中的数据只能被读取,而不能被修改或写入新的数据。

2.作用

用来存储程序代码。
烧录就是把程序写入到单片机的ROM中。

2.3 RAM

1.是什么?

是与CPU直接交换数据的内部存储器。
它可以随时读写(刷新时除外),而且速度很快。
通常作为操作系统或其他正在运行中的程序的临时数据存储介质。

2.有什么用?

CPU运行程序进行计算时,变量被存放到RAM中。

2.4 I/O接口

1.是什么?

是单片机与外部的接口,

2.有什么用?

对外部存储器进行读写。 

也可以作为控制接口,输出控制指令。

也可作为人机交互接口,如液晶显示和键盘等。

三.运算流程

在这里插入图片描述

CPU可以按照程序指示,通过I/O模块输出高电平,点亮外部的二极管。

如果程序的指令为运算指令,那么CPU就执行运算过程,如果运算过程中产生了变量,那么产生的变量将存放在随机存储器中。

四.单片机的时钟

单片机的各个模块是按统一的节拍工作的,这个统一的节拍来源于单片机的时钟,时钟信号是一个高低电平交错的信号。

在这里插入图片描述

单片机在一个时钟周期内,只能执行一条指令。而且单片机的时间单位都是时钟周期的整数倍。 


时钟信号来源于振荡器,振荡器分为内部RC振荡器和外部晶体振荡器(晶振)。

在这里插入图片描述

内部振荡器的误差较大,一般采用外部晶振。
再配合晶振电路,通电后,产生一定频率的时钟信号。
单片机的各个部件都要根据时钟信号协调工作。
时钟信号的长度影响了单片机的速度,所以晶体振荡频率叫做单片机的主频。
主频越高,单片机的性能越高。
单片机的频率一般为百兆赫兹,电脑CPU的频率为千兆赫兹级别。
总的来说,单片机是一种集成电路芯片,它采用超大规模集成电路技术,把具有数据处理能力的CPU,存储器和I/O接口集成在一起。

什么是烧录?

烧录就是把程序写入到单片机的ROM中。

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

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

相关文章

delphi7安装并使用皮肤控件

1、下载控件 我已经上传到云盘,存储位置 2、下载后并解压。 3、打开dephi7,File-Open,打开路径D:\LC\Desktop\vclskin2_XiaZaiBa\d7, 然后将 D:\LC\Desktop\vclskin2_XiaZaiBa\d7文件夹中所有后缀.dcu的文件复制粘贴到delphi安装路…

【2024最新】HBuilder X3.1.22【安装】零基础入门到精通,看完这一篇就够了【附安装链接】

软件下载 软件:HBuilder X版本:3.1.22语言:简体中文大小:278.95M安装环境:Win11/Win10/Win8/Win7硬件要求:CPU2.0GHz 内存4G(或更高)下载通道①百度网盘丨下载链接:https://pan.bai…

[计算机网络]认识“协议”

认识“协议” 文章目录 认识“协议”序列化和反序列化网络计算器引入Sock类设计协议编写服务端类启动服务端编写客户端类启动客户端程序测试 序列化和反序列化 在网络体系结构中,应用层的应用程序会产生数据,这个数据往往不是简单的一段字符串数据&…

python把Word题库转成Excle题库

又到了一年一度的背题时刻,但是收到的题库是Word版的,页数特别多 话不多说,上代码,有图有真相,代码里面备注的很详细 # 导入所需库 import csv import os import refrom docx import Document from win32com import c…

【数据结构】数组和字符串(十四):字符串匹配1:朴素的模式匹配算法(StringMatching)

文章目录 4.3 字符串4.3.1 字符串的定义与存储4.3.2 字符串的基本操作4.3.3 模式匹配算法1. 算法原理2. ADL语言3. 伪代码4. C语言实现5 时间复杂度 4.3 字符串 字符串(String)是由零个或多个字符(char)顺序排列组成的有限序列,简称为串。例如 “good morning”就是…

共焦显微镜使用

x.1 细胞培养 x.2 样品制备 以细菌为例,我们使用荧光染色细菌,静置15分钟。 15分钟后我们使用实验室的专用培养皿,选择吸收100uL的溶液滴在在培养皿中心。 x.3 显微镜使用 我们按照1, 2, 3, 4的顺序打开显微镜, 打开电脑&…

降级python

起因: python版本过高不能下载一个包,需要降级 首先使用 python --version 查看python版本 然后conda install python3.10 python3.10会下载到这个目录下(这个千万别找错) 然后更换路径 alias python/home/zky/.conda/envs/c…

【MAC+IP】以太网帧格式

图片出自:https://info.support.huawei.com/info-finder/encyclopedia/zh/MTU.html

FFmpeg 硬件加速视频转码指南

基于 Windows 下演示,Linux 下也可以适用。 所使用 ffmpeg 版本为 BtbN 编译的 win64-gpl 版(非 gpl-share),项目地址:BtbN / FFmpeg-Builds 也可以使用 gyan.dev 编译的 git-full 版,地址:gyan…

053基于web+springboot的宠物咖啡馆平台的设计与实现

欢迎大家关注,一起好好学习,天天向上 文章目录 一项目简介技术介绍 二、功能组成三、效果图四、 文章目录 一项目简介 本基于Spring Boot的宠物咖啡馆平台的设计与实现有管理员和用户以及看护师三个角色。用户功能有个人中心,咖啡菜品管理&a…

微信视频号直播间引流粉丝脚本软件实操教学,文章加视频演示详细教学方法

我是小刘,第一我要讲的是为什么要做视频号? 今天我们来去演示的是视频号直播间引流脚本的一个教学,我这边用文章加视频讲解的方法来分享给大家。关于引流有两点,1 就是自媒体推广,2就是脚本引流,我今天给大…

定时任务场景下的代码审查:continue和return的滥用可能引发潜在bug

文章目录 前言for 循环中的continue,break和return实际业务中的滥用总结写在最后 前言 在最近的代码审查中,有帮忙审查了组里一个刚毕业1年不到的应届生,发现他写的其中一段代码将for循环中的break、continue、return滥用,导致了…

口碑超好高质量经典小说,收获无数赞誉,完结多年还是热门之作

经典好文,小郑来为您推荐五本值得一读的好书,这些书籍不仅可以让您的时间不再无聊,还能让您在阅读中获得更多的知识和乐趣。 《传说管理局》 这本书的世界观严谨且庞大,充满了科幻和玄幻元素。如果您喜欢科幻和玄幻类型的书籍&am…

力扣:149. 直线上最多的点数(Python3)

题目: 给你一个数组 points ,其中 points[i] [xi, yi] 表示 X-Y 平面上的一个点。求最多有多少个点在同一条直线上。 来源:力扣(LeetCode) 链接:力扣(LeetCode)官网 - 全球极客挚爱…

记一次heapdump泄漏获取服务器权限

文章目录 一、漏洞原因二、漏洞利用三、漏洞进一步利用1、工具下载2、通过关键字查询3、通过配置redis的默认账号和密码进行登录4、添加定时计划任务,进行反弹shell5、成功获取服务器的shell补充四、总结五、免责声明一、漏洞原因 扫描目录发现某个spring框架存在大量泄露信息…

DBeaver关闭代码的提示

在DBeaver中会遇到如下现象,很烦,怎么取消这个提示框呢? 解决方案:

第二章 02Java基础-数据类型、标识符、键盘录入

文章目录 前言一、数据类型二、标识符三、键盘录入总结前言 今天我们学习Java基础,数据类型、标识符、键盘录入 一、数据类型 1.数据类型大体上可以分为两类,一类是基本数据类型,另外一类是引用数据类型。今天我们学习基本数据类型。 2.基本数据类型可以分为四类八种,整…

一看就懂,原来这就是计算机网络

引言 计算机网络,听上去很专业的样子,其实我们可以换种思维来理解。 正文 什么是计算机网络? 下图就是计算机网络,所有能联网的设备连接在一起就组成了互联网 计算机网络有什么用? 计算机网络的作用就是用于设备之…

VueX mapState、mapGetters、mapActions和mapMutaions 的使用

一、mapState和mapGetters 如果我们想要读取VueX中的State数据的Getters数据时,需要使用$store.state.数据名 和 $store.getters.数据名。 当我们State和getters中的数据多了以后,书写会很麻烦: 如果我们想要使用方便可以配置计算属性来简化…

Arduino设置SoftwareSerial缓冲区大小

SoftwareSerial的缓冲区大小设置 概述修改缓冲区的大小实验 概述 新的Arduino的ESP8266软串口的缓冲区原来老的库中有宏定义可以用来修改接收和发送缓冲区的大小。在现在新的库中已经没有这个设置了,那怎么才能修改缓冲区的大小哪? 修改缓冲区的大小 …