一、基本框架

第一阶段:1980年、Intel英特尔MCS-51系列:8051型号单片机、工业控制领域、由MCU市场->CPU市场。

1、CPU(Central Processing Unit,中央处理单元)‌是计算机的核心部件,负责执行计算机指令和处理数据。

2、MCU(Micro Controller Unit,微控制单元)‌是一种将中央处理器、内存、输入输出接口等多种功能模块集成在单一芯片上的微型计算机系统。(特殊的CPU重视对外摄的控制而非数据的处理)微控制器->单片机,集成化高、集成到一块芯片(CPU、RAM、ROM) 外设(GPIO、UART、ADC)。

3、MPU(Microprocessor Unit,微处理器单元)‌是一种集成了CPU、外接内存、外设控制器和总线接口等功能的芯片,处理复杂任务(跑操作系统)。

4、GPU(Graphics Processing Unit,图形处理单元)‌是一种专门设计用于快速处理图像和视频数据的处理器。

5、SOC(System on Chip,系统级芯片,片上系统)‌是将微处理器、模拟IP核、数字IP核、存储器以及必要的接口电路等多种电子系统功能模块集成在一个单一的芯片上。特殊的CPU(先进)

6.NPU(Neural network Processing Unit), 即神经网络处理器。用电路模拟人类的神经,主要是一些算法,是基于神经网络算法与加速的新型处理器总称,

7.FPU (Floating Processing Unit) 浮点计算单元,通用处理器中的浮点运算模块。 

 第二阶段:Atmel AT89C51

                  Philips 飞利浦公司 P89V51(增强型51单片机 ISP在线编程)

                  SCT89C51 STC宏晶半导体(USB 下载、串口下载)

三大总线地址总线  寻址  单向

                   数据总线  双向  数据交互、传输

                   控制总线    双向 控制指令

二、51单片机

HC6800-MS原理图

1. 存储器

(1)ROM(非易失性存储器)又称只读存储器

非易失性存储器(Non-Volatile Memory, NVM)‌是指当电流关闭后,所存储的数据不会消失的存储器。这类存储器在断电后仍能保持数据,因此常用于需要长期保存数据的场合。非易失性存储器的典型代表包括ROM(只读存储器)、Flash(闪存,包括NAND和NOR类型)、EEPROM(电可擦可编程只读存储器)等‌。

(2)RAM(易失性存储器)又称随机访问存储器

易失性存储器(Volatile Memory)‌是指断电后存储的数据会立即消失的存储器。这类存储器通常具有较快的存取速度,但无法长期保存数据。易失性存储器的典型代表有DRAM(动态随机存取存储器)和SRAM(静态随机存取存储器)‌。 

(3)特点对比
  • ‌非易失性存储器‌:
    • ‌数据保留‌:断电后数据不丢失,适合长期数据存储。
    • ‌写入次数有限‌:如Flash存储器有一定的擦写次数限制。
    • ‌容量和速度‌:EEPROM支持字节级擦写,但容量较小;Flash存储器速度较慢,适合大容量数据存储‌。
  • ‌易失性存储器‌:
    • ‌数据不保留‌:断电后数据立即消失。
    • ‌速度快‌:如SRAM和DRAM具有较高的存取速度,适合临时数据存储和高频访问‌。
    • ‌依赖供电‌:需要持续供电以保持数据,断电后数据丢失‌。

外存:程序、指令、代码、掉电数据不丢失、读写速度慢、价格便宜(移动硬盘)

内存:临时数据、变量,掉电数据丢失、读写速度快、价格贵(内存条)

2.位运算

 (1)按位或

        其他位不变,指定位置1

        reg |= (1<<n)   //reg寄存器第n位置1

        reg |= (1<<n) | (1<<m)  //reg寄存器第m位和n位置1

        eg:  P2 |= (7<<2)//连续3个比特位置1

(2)按位与

        其他位不变,指定位置0

        reg &= ~(1<<n)    //reg寄存器第n位清零

        reg &= ~((1<<n) | (1<<m))   //reg寄存器第m位和n位清零       

        P2 &= ~(3<<2)  //连续2个比特位清零偏移2位

        P2 &= ~(7<<2)  //连续3个比特位清零

        P2 &= ~(0x0F<<2)  //连续4个比特位清零

        P2 &= ~(0x1F<<2)  //连续5个比特位清零

 (3) <<  左移

 <<:双目运算符,优先级为5级,结合方向自左至右;

写法:a<<n  (表示将a这个数据左移n位 )(C语言中为逻辑左移)

最高位无论是1还是0全丢掉,后面补0;

作用:指定位清零( ~(1 << n));

示例:

0000 0001 
0000 0010
左移1位  相当于乘 2  

3.数码管 

共阳极数码管:所有发光二极管的阳极接到一起形成公共阳极(COM),需要将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段点亮。公共端是接高电平;引脚给谁置0,谁就亮

共阴极数码管:所有发光二极管的阴极接到一起形成公共阴极(COM),需要将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段点亮 。公共端是接地;引脚给谁置1,谁就亮;

原理:数码管通过点亮内部的发光二极管来显示数字。每个数码管由8个LED组成,分别表示a, b, c, d, e, f, g和dp(小数点)。通过控制这些LED的亮灭,可以显示不同的数字。

段选:选择数码管中某段的亮灭状况(P0来控制)

位选:选择哪个数码管显示(LEDS1、LEDS2、LEDS3、LEDS4来控制)

4. 51单片机芯片的内部结构

5.寄存器 

(1)寄存器的定义:寄存器是CPU、主存储器和其他数字设备内部用于存放数据的一些小型存储区域。

(2)寄存器的组成:一般由多个触发器构成。可以分为内部寄存器和外部接口寄存器。

(3)寄存器的特点:读写速度高、寄存器间传输速率快。

(4)P2寄存器本质:地址强转为指针间接访问

(5)寄存器可假定为系统提前定义好的全局变量(unsigned char P2;//一个字节8个比特)

6.寄存器的分类

(1)数据寄存器:用于存储整数数字。累加器是特别的数据寄存器。

(2)地址寄存器:持有存储器地址,用来访问存储器。

(3)通用目的寄存器:可以保存数据或地址,类似数据寄存器与地址寄存器的结合。

(4)特殊目的寄存器:用于存储CPU内部数据,如程序计数器、堆栈寄存器以及状态寄存器等。

(5)索引寄存器:程序运行时用于更改运算对象地址。

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux(17)——Linux进程信号(上)

目录 一、信号速识 ✍️生活中的信号 ✍️技术上的信号 ✍️信号的发送和记录 ✍️信号处理概述 二、产生信号 ✍️通过终端产生信号 ✍️通过函数发送信号 ✍️通过软件产生信号 ✍️通过硬件产生信号 一、信号速识 ✍️生活中的信号 你在网上买了很多件商品&…

使用pytest对接口进行自动化测试

上篇博客中讲述了什么是接口测试&#xff0c;已经自动化接口测试流程&#xff0c;这篇博客总结如何实现接口自动化测试&#xff08;一&#xff09;requestsrequests库是Python对HTTP通信的一个工具&#xff0c;将http协议操作封装成简单的接口&#xff0c;能够让我们高效的编写…

信息安全及防火墙总结

1.1 信息安全现状及挑战信息安全概述 信息安全&#xff1a;防止任何对数据进行未授权访问的措施&#xff0c;或者防止造成信息有意无意泄漏、破坏、 丢失等问题的发生&#xff0c;让数据处于远离危险、免于威胁的状态或特性。 网络安全&#xff1a;计算机网络环境下的信息安全。…

20250808组题总结

A - A Pak Chanek 有一个包含 nnn 个正整数的数组aaa。由于他正在学习如何计算两个数字的向下取整平均值&#xff0c;他希望在他的数组 aaa 上进行练习。当数组 aaa 至少有两个元素时&#xff0c;Pak Chanek 将执行以下三步操作&#xff1a; ∙\bullet∙选择两个不同的索引 ii…

【Python 语法糖小火锅 · 第 5 涮 · 完结】

一、糖味一句话 Python 3.10 的 match-case 把「类型 值 嵌套」一次性拆开&#xff0c; 可读性 10&#xff0c;bug 数 10&#xff0c;if-elif 可以安心退休了。二、1 行示例 3 连发 # ① 值匹配 match status:case 200: msg "ok"case 404: msg "not found&q…

写 SPSS文件系统

写入 SPSS 系统文件&#xff08;.sav、.zsav&#xff09; 以下为相关的 SPSS 命令&#xff08;以大写形式 CAPS 呈现&#xff09; savFileName : str SPSS 数据文件的文件名 以 .sav 结尾的文件使用旧版压缩方案压缩。 以 _uncompressed.sav 结尾的文件不压缩&#xff0c;这在需…

云服务器--阿里云OSS(1)【阿里云OSS简单介绍以及环境准备】

一、阿里云OSS简介 定义&#xff1a;阿里云OSS&#xff08;Object Storage Service&#xff09;是阿里云提供的对象存储服务&#xff0c;支持海量数据的存储和管理。 存储方式&#xff1a;基于“对象存储”&#xff0c;文件以对象形式存储&#xff0c;无需管理文件系统结构。 …

R语言代码加密(1)

1、使用Compiler包library(compiler) cmpfile("1.R")#实现对R脚本的整体加密 compiler::loadcmp("1.Rc")#调用R脚本存在问题是&#xff0c;该方法仅对脚本进行加密。在加载生成的Rc文件后&#xff0c;脚本内具体函数&#xff0c;是可以看到具体内容的。针对…

【面试场景题】通过LinkedHashMap来实现LRU与LFU

文章目录一、LRU与LFU的概念1. LRU&#xff08;Least Recently Used&#xff0c;最近最少使用&#xff09;2. LFU&#xff08;Least Frequently Used&#xff0c;最不经常使用&#xff09;二、LinkedHashMap的特性三、用LinkedHashMap实现LRU实现代码&#xff1a;原理说明&…

第5章 Excel公式与函数应用指南(2):数学函数

5.2 数学函数 Excel作为强大的数据处理工具,其内置的数学函数体系为用户提供了丰富的计算能力。从基础的四则运算到复杂的指数对数计算,从简单的数值舍入到专业的矩阵运算,Excel的数学函数几乎可以满足各类计算需求。 本节将重点为您解析七个常用且实用的数学函数:求和函…

mysql复制连接下的所有表+一次性拷贝到自己的库

1.导出链接下的所有数据mysqldump -h 地址 -u 数据库名 -p --all-databases --single-transaction --master-data2 > all_dbs.sql2.导入自己的库mysql -h 127.0.0.1 -u root -p < all_dbs.sql3.指定导出某些库mysqldump -u root -p --databases db1 db2 db3 > /path/t…

开发手札:UnrealEngine和Unity3d坐标系问题

最近把一套网络模块和一套组件模块从u3d改造到ue4。网络模块通用性很高&#xff0c;毕竟协议都是通用网络协议&#xff0c;改造后没啥问题。但是改造组件模块的时候就遇到了问题。首先&#xff0c;unity3d的坐标系是标准左手坐标系&#xff0c;如下&#xff1a;同时自己的几何算…

QML 鼠标穿透

事件&#xff1a; 有一个输入框(TextField)&#xff0c;需要实现鼠标悬浮时改变边框颜色&#xff0c;鼠标移出后恢复原来边框颜色&#xff1b; 这时如果需要实现此功能&#xff0c;就得使用到MouseArea&#xff0c;鼠标操作区域填充满整个TextField。 然后实现鼠标移入移入出的…

VR 设备 PCB 怎样凭借高频材料达成高速传输

VR 设备的沉浸式体验依赖于高分辨率图像与低延迟交互&#xff0c;这要求设备内部数据传输速率达到 10Gbps 以上&#xff0c;而印制线路板&#xff08;PCB&#xff09;作为信号传输的核心载体&#xff0c;其材料性能直接决定传输效率。高频材料凭借低介电常数&#xff08;Dk&…

Oracle字段操作

1. 新增字段 -- 新增字段 ALTER TABLE MES.WT_SUPPLEMENT_RECORD ADD (PAR_ATTR3 NUMBER DEFAULT NULL);2. 修改字段类型 -- 修改字段类型 ALTER TABLE MES.WT_SUPPLEMENT_RECORD MODIFY (PAR_ATTR3 VARCHAR2(32));3. 删除字段 -- 删除字段 ALTER TABLE MES.WT_SUPPLEMENT_RECO…

【原创】基于 Flask 的简单文件收集器

在单位内网环境中&#xff0c;我经常需要收集 pdf 格式的记录表。于是我基于 ai ide&#xff0c;开发了一个基于 Flask 开发的轻量级文件上传服务项目&#xff0c;部署在单位飞腾芯的银河麒麟系统上&#xff08;当然由于 python 的跨平台&#xff0c;在 windows 和 mac 上也可部…

学习Java的Day28

今天在昨天完成的留言板项目基础上&#xff0c;我进一步开发了一个酒店房型管理系统。该系统采用MVC架构&#xff0c;主要功能是对酒店房型信息进行增删改查操作。数据库设计方面&#xff0c;我创建了hotel_room_type表&#xff0c;包含以下字段&#xff1a;id&#xff1a;主键…

Leetcode——556. 下一个更大元素 III

题目链接&#xff1a;556. 下一个更大元素 III &#xff08;由于图片上传失败&#xff0c;不贴原题目了&#xff0c;有需要可以前往力扣查看&#xff09; 本文给出该题的单调栈做法&#xff0c;同时绕过所有库函数&#xff0c;所有逻辑均自行实现。 本题的思路就是从右向左按…

Idea打包可执行jar,MANIFEST.MF文件没有Main-Class属性:找不到或无法加载主类

背景&#xff1a;IDEA传统方法【Project structure】-->artifact---->build的模式&#xff0c;打包【Maven】项目&#xff0c;发现生成的可执行jar包&#xff0c;显示【找不到或无法加载主类】。但是用【Maven】的Assembly可以正常生成。期望用传统方法实现打jar包方法&a…

检索增强生成:RAG(Retrieval Augmented Generation)

什么是 RAG&#xff1f;为什么使用 RAG&#xff1f;LLM 微调 和 RAG&#xff1f;实战什么是 RAG&#xff1f; RAG 在论文《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》中被引入&#xff0c;原论文是这样描述的&#xff1a; 探索了一种 通用的 检索增…