51单片机基础篇系列-人人都能学会单片机

 🌈个人主页: 会编程的果子君

💫个人格言:“成为自己未来的主人~”  

 

什么是单片机

在一片集成电路芯片上集成计算机所有基 本部分(中央处理器CPU、存储器RAM、ROM、 定时计数器T/C,输入输出接口IO、中断系 统)都集成在一个芯片上,从而构成了单 芯 片微型计算机,即单片机,也可以叫它 做小 电脑 。 由于单片机体积小、可以很方便地装在各 种电子设备、家用电器的内部,因此也叫 嵌入式处理器。它主要用于控制,因此被 称为微控制器 (MCU) 

单片机能做什么

我们已经被电子产品包围,你现在用的MP3、手机等电子产品都是由 单 片机组成的----单片机无所不在、无所不能!日常生活中我们见到 的 带“电脑”两个字的产品,其内部的核心就是单片机。

• 工业自动化:数据采集、测控技术。

• 智能仪器仪表:数字示波器、数字信号源、数字万用表、感应电流表 等。

• 消费类电子产品:洗衣机、电冰箱、空调机、电视机、微波炉、手机、 IC卡、汽车电子设备等。

• 通讯方面:调制解调器、程控交换技术、手机等。

• 武器装备:飞机、军舰、坦克、导弹、航天飞机、鱼雷制导、智能武 器等。

• 将来的家里,电灯、电话、电脑、电饭锅、空调、窗帘、水龙头、所 有房间、所有门、所有的东东,都可以用单片机控制的,只要你学会 了单片机,你只要躺着就可以指挥家里的电器产品了

计算机的发展史

• 电子管计算机 晶体管计算机 集成电路计算 机

• 大规模集成电路计算机分为二种

• 1、微型计算机

• 2、单片微型计算机

计算机系统的组成

• 计算机系统 ----硬件、软件组成

• 硬件----主机、外围设备

• 外围设备----输入设备、输出设备

• 软件

硬件和软件

• 硬件:看得见、摸得着的,比如我们用的 HL-1/HJ-3G/HJ-C52 HJ-2G HJ-5G HL-K18 开发板、 单片机芯片,各种外部设备。

 • 软件:你编写的程序。

• 程序:是为实现特定目标或解决特定问题 而用 计算机语言编写的命令序列的 集合。 按 你写出的意思来执行事情,做事情。

比 如:做一件事,开始如何做,做事 过程,最后的结果。

主机的一般组成

• 总线(BUS)是计算机各部件之间传送 信 息的公共通道。

• 1、为什么要用总线?总线的应用,使得 计算机内部的连接变得非常简单 。

• 2、计算机中有内部总线和外部总线两类 。

• 内部总线是CPU内部之间的连线 。

外部总 线是指CPU与其它部件之间的连线 。

• CPU:由运算和控制逻辑组成,同时还包括中断 系统。

• RAM:用以存放可以读写的数据,如运算的中间 结果、最终结果以及欲显示的数据。

• ROM:用以存放程序、一些原始数据和表格。

• I/O口:用来连接输入设备和输出设备。可以事先 设置,其类型必须和外部设备的类型一致。

• T/C:定时 /记数器。

• 中断系统

8位,16位,32位单片机

在 8位单片机之后,16位单片机也有很大发 展,例如1983 年Intel公司推出的MCS-96系 列单片机就是其中的典型代表。与MCS-51 相比,MCS-96不但字长增加一倍,而且还 具有 4路或 8路的lO 位A/D转换功能,此外, 在其它性能方面也有一定的提高。 近年来,随着 ARM(主要是多媒体 )处理 器在全球范围的流行,32位的RISC嵌入式 处理器已经开始成为高中端嵌入式应用和 设计的主流。

嵌入式微处理器

嵌入式微处理器是在通用微处理器MPU的基核上, 添加MPU外围单元和满足对象测控要求的外围接 口电路,构成一个嵌入式应用的单芯片形态计算 机系统。早期Intel公司将通用微处理器80386与 定 时器/计数器、DMA、中断系统、串行接口、 并 行口、WDT 及MMU存储器管理部件集成在一 个芯 片上,构成的386EX是典型的嵌入式微处理 器。 嵌入式微处理器由于其总线I/ O地址与微处 理 器构成的PC机兼容,易于开发,有较好的操作 系 统支持,又是单片形态的嵌入式系统,因此在许多中小型嵌入式应用系统中广泛使用。

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【UVM_phase objection_2024.03.08

phase 棕色:function phase 不消耗仿真时间 绿色:task phase 消耗仿真时间 run_phase与右边的phase并行执行,右边的phase(run_time phase)依次执行: List itemreset_phase对DUT进行复位,初始…

Elastic Stack--07--JavaAPI----文档(新增 、修改 、 查询 、 删除)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 JavaAPI-文档1.新增 Insert2.修改 Update3.查询 Get4.删除 Delete5.批量操作 BulkRequest批量新增批量删除 高级查询1.查询所有索引数据2.条件查询3.分页查询4.查询…

代码随想录算法训练营Day39 || leetCode 762.不同路径 || 63. 不同路径 II

62.不同路径 每一位的结果等于上方与左侧结果和 class Solution { public:int uniquePaths(int m, int n) {vector<vector<int>> dp(m,vector(n,0));for (int i 0; i < m; i) dp[i][0] 1;for (int j 0; j < n; j) dp[0][j] 1;for (int i 1; i < m; …

基于raft的kvDB

1 raft共识算法 raft是强leader模型&#xff0c;通过选举leader来实现一致性&#xff0c;leader拥有完全的能力来管理复制日志。leader从客户端获取日志条目&#xff0c;复制到其他的服务器中&#xff0c;告诉他们什么时候应用这个日志到状态机是安全的。 leader这个角色简化…

实现“ 字体逐渐展现 ”程序

本期介绍&#x1f356; 主要介绍&#xff1a;如何实现在屏幕上从两边向中间逐渐打印字符串。 题目&#xff1a;编写字体逐渐展现程序&#xff0c;功能是&#xff1a;多个字符从两端向中逐渐间显现&#xff0c;直到全部显示为止。举个例子&#xff0c;要逐渐显示“hello world ”…

MEMTO: Memory-guided Transformer for Multivariate Time Series Anomaly Detection

目录 一、问题与思路1.1 现存问题1.2 解决思路 二、模型与方法2.1 模型概览2.2 Encoder and decoder2.3 门控存储器模块2.3.1 门控存储器更新阶段2.3.2 查询更新阶段2.3.3 损失函数2.3.4 初始化内存项2.3.5 异常评分2.3.6 阈值设定 三、实验与分析3.1 模型结果3.2 消融实验3.3 …

宝塔一键迁移报错创建失败问题完美解决

很多站长朋友在使用宝塔面板迁移的时候总是出错&#xff0c;如图&#xff1a; 遇到这样的问题不要慌&#xff0c;我们已经完美处理&#xff0c;详细解决教程&#xff1a;宝塔一键迁移报错问题完美解决教程

深入理解操作系统Operator System(2)

目录 操作系统对上的管理 系统调用接口 用户操作接口&#xff08;库函数&#xff09; 系统调用和库函数的概念 结构层次示意图 总结 为什么要有操作系统❓ 上次主要介绍了操作系统的"管理"和操作系统对下的管理。本篇主要是对上的管理。 操作系统对上的管理 …

Linux智能网关结合Node-RED实现实时工业数据采集

工业4.0的发展&#xff0c;物联网技术在制造业中的应用越来越广泛。其中&#xff0c;基于Linux系统的工业物联网智能网关因其开放性、稳定性和安全性而备受青睐。这类智能网关创新性地集成了开源工具Node-RED&#xff0c;为从各种工业设备&#xff08;如PLC&#xff09;中高效收…

安装torch以及版本对应问题

首先查看cuda版本&#xff1a;winR 输入&#xff1a;nvidia -smi 我的cuda版本12.2&#xff0c;安装的torch版本要小于12.2 我的pip/conda源都改成清华源了&#xff0c;torch2.0以上的版本截止到2024年3月10日也没有。 pytorch官网&#xff1a;https://pytorch.org/ 寻找匹配…

关于比特币的AI对话

【ChatGPT】 比特币源码开源吗&#xff1f; 是的&#xff0c;比特币的源码是开源的。比特币项目是在MIT许可证下发布的&#xff0c;这意味着任何人都可以查看、修改、贡献和分发代码。比特币的源码托管在GitHub上&#xff0c;可以通过下面的链接进行访问&#xff1a; https://g…

注意!!墙裂推荐几个好用的实用小工具!一定会用到的!

前言 在开发的世界里&#xff0c;面对各种挑战和问题时&#xff0c;拥有一套合适的工具箱至关重要。这不仅能提升我们的工作效率&#xff0c;还能让复杂的任务变得简单&#xff0c;甚至在解决棘手问题的同时&#xff0c;还能让我们的心情略微舒畅。众所周知&#xff0c;有用的…

【EtherCAT实践篇】九、EtherCAT增加变量示例:增加浮点数输入变量

目的&#xff1a;在EtherCAT开发板上IO程序基础上进行修改&#xff0c;将原来的16位整数型数据Analog input改为32位浮点数&#xff0c;基于STM32F405底板。 1、XML配置修改 1.1 更改数据类型 ETG1020基础数据中包括浮点数 REAL&#xff0c;可以直接使用浮点数。 这里在xml…

MySQL索引+常见问题详解

网络上的讲述MySQL索引的文章太多了&#xff0c;我打算换个角度来说。我们尝试着从设计者的角度思考&#xff0c;索引为什么这么设计。 假如你是索引的设计者&#xff0c;你会如何设计索引。我们不妨以新华字典为例。如果我们要查询汉字爱是什么意思&#xff0c;我们有如下操作…

【读书笔记】针对ICS的ATTCK矩阵详解(一)

Techniques - ICS | MITRE ATT&CKhttps://attack.mitre.org/techniques/ics/ 一、初始访问&#xff08;Initial Access&#xff09; 该阶段&#xff1a;攻击者正在尝试进入ICS环境。 初始访问包括攻击者可能用作入口向量&#xff0c;从而可以在 ICS 环境中获得初始立足点的…

怎么在学习强国网上发布文章,学习强国投稿发稿方法途径,附学习强国多少钱价格明细表

学习强国是一款受用户欢迎的学习软件&#xff0c;许多人希望在其平台上发布自己的文章&#xff0c;以分享和传播自己的学习成果和心得体会。那么&#xff0c;怎么在学习强国网上发布文章呢&#xff1f;接下来&#xff0c;我们将介绍一些投稿发稿的方法和途径。 首先&#xff0c…

PLC的FC与FB模块程序的功能解析

前文讲了在西门子系列的PLC中四个程序模块的描述&#xff0c;从S7-1200PLC开始就有FC和FB程序块了&#xff0c;但在使用的时候&#xff0c;一些使用者还是不好理解&#xff0c;以至于不知道该如何选择。今天&#xff0c;我们就用大白话的方式给大家讲解FC与FB的功能。 1、FC与…

Python打印Linux系统中最常用的linux命令之示例

一、Linux中的~/.bash_history文件说明&#xff1a; 该文件保存了linux系统中运行过的命令的历史。使用该文件来获取命令的列表&#xff0c;并统计命令的执行次数。统计时&#xff0c;只统计命令的名称&#xff0c;以不同参数调用相同的命令也视为同一命令。 二、示例代码&am…

数据结构二叉树续

在前边我们讲完了二叉树的一些代码结构 现在呢我们需要进一步去细化 我们传参数组后&#xff0c;让数组里面的数据进行调整 如何调整成堆呢&#xff1f; 建堆 所以我们分装一个成堆的函数 还是先去断言 然后创建空间 这里我们需要用到一个memcpy函数 memcpy函数是用来…

RabbitMQ - 07 - 通过注解创建队列和交换机

之前消息模型的实现,都是通过rabbitMQ Management 控制台来手动创建 queue 和 exchange 的 在项目开发中有两种方式通过代码声明 创建 一种是通过 Bean 方式,这种代码量较大 稍繁琐 一种是通过注解的方式声明 先编写消费者代码 通过注解绑定了 消息队列,交换机,还有 routin…