硬件开发(1)—单片机(1)

1.单片机相关概念

1.CPU:中央处理器,数据运算、指令处理,CPU性能越高,完成指令处理和数据运算的速度越快

核心:指令解码执行+数据运算处理

2.MCU:微控制器,集成度比较高,将所有功能集成到芯片中(CPU、RAM、ROM、定时器、UART、IO),简单控制, 成本低

核心:高集成度 + 低成本

3.MPU:微处理器,集成度低,只有一块单独的CPU,需外接外设、存储模块,复杂应用领域,跑Linux操作系统,成本高

核心:高性能 + 低集成度

4.GPU:图形处理器,图形处理、图形渲染,GPU性能越好,图形显示的质量越好

核心:图形渲染+并行数据处理

5.NPU:神经网络处理器,AI推理、硬件加速,神经网络处理(卷积运算)-> 华为Mate60 达芬奇NPU AI自动优化照片

核心:高效处理神经网络运算

6.FPU:浮点数运算单元,完成浮点数的运算和处理(完全遵循IEEE 754),大部分集成在CPU内部

核心:高精度处理小数运算

7.SOC:片上系统,集成度比较高,将多个芯片集成到一块芯片上(存储芯片、外设芯片)

核心:多模块高度整合

2.RAM和ROM

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

2.内存:主要存放程序运行过程中的临时变量、掉电数据丢失,读写速度快,价格昂贵(内存条  16G  300)

3.ROM:Read-Only Memory,只读存储器,存放单片机程序,指令,掉电数据不丢失

4.RAM:Random  Access Memory,随机访问存储器,存放临时变量、临时数据,掉电数据丢失

3.单片机芯片内部结构

1.CPU(中央处理器)
单片机的 “大脑”,负责解析和执行程序指令,处理数据运算(如加减、逻辑判断),协调其他模块工作。例如控制传感器数据的读取时机、判断按键是否按下。

2.RAM(随机存储器)
临时存储数据的 “工作台”,用于存放程序运行中产生的临时变量(如传感器采集的实时温度值)、中间结果。断电后数据会丢失,类似电脑的 “内存”。

3.ROM(只读存储器)
固化程序的 “仓库”,用于存储用户编写的程序代码(如控制 LED 闪烁的逻辑)和固定参数(如校准值)。断电后数据不丢失,类似电脑的 “硬盘”(单片机中常用 Flash 替代传统 ROM,可重复擦写)。

4.Timer(定时器)
精确计时的 “时钟”,通过内部计数实现定时功能。例如定时 100ms 触发一次 LED 闪烁,或记录传感器采集的时间间隔。

5.PWM(脉冲宽度调制器)
生成可调占空比脉冲的模块,通过改变高低电平的时间比例控制外设。例如调节 LED 亮度(占空比越高越亮)、控制电机转速。

6.IO(输入输出接口)
单片机与外部设备的 “桥梁”,分为输入(如读取按键状态、传感器信号)和输出(如驱动 LED、控制继电器)两种模式,是实现外部交互的核心。

7.中断系统
应对紧急事件的 “优先级响应机制”,当外部事件(如按键按下、定时器溢出)发生时,暂停当前程序,优先处理中断服务,完成后再返回原程序。例如紧急停车信号优先于正常运行逻辑。

8.UART(通用异步收发传输器)
实现串行通信的模块,通过两根线(TX 发送、RX 接收)与其他设备(如电脑、传感器)交换数据。例如单片机将温度数据发送到电脑显示,或接收上位机的控制指令。

9.三大总线

地址总线:用来寻找RAM中的地址,所能寻址的最大范围2^8,256byte,单向

数据总线:通过地址总线去获取数据,数据交互双向

控制总线:时序控制、IO控制、中断

4.原理图

1.MCU单片机芯片
STC89C52RC、DIP40 封装:双列直插式,40个引脚,划分成4组(端口 寄存器 unsigned char P2;)

2.网络编号:在实际电路中的一个编号,避免物理连线,相同网络的编号的引脚在实际电路中是彼此互通

3.LED模块

发光二极管:具有单向导通性,分为共阳极和共阴极二极管

共阳极发光二极管的特性
将所有发光二极管的阳极接到电源正极(VCC),阴极接到单片机的引脚。此时发光二级管阳极会输出高电平(VCC 5V),如果发光二级阴极输出一个低电平(0V), 阳极和阴极之间会形成一个正向的电压差,满足发光二极管的单向导通性,所以电流就会从阳极流向阴极,发光二级就被点亮

5.位运算

1.|:将二进制中的对应位的bit进行比较,如果有一个bit为1,结果为1;如果都为0,结果为0;

应用场景:指定位置1
unsigned char t = 0x64;

将bit0和bit7置1:
t |= (1 << 0) | (1 << 7);

2. &:将二进制中的对应位的bit进行比较,如果全为1,结果为1;如果有一个0,结果为0;

应用场景:指定位清0
unsigned char t = 0xFF;

将bit 0 和 bit7 清0: 
t &= ~(1 << 0);
t &= ~ (1 << 7);

3、^:  将对应位的bit进行比较,相同为0,相异为1

6.数码管

51单片机搭载一个4位共阴极数码管,每一位数码管可以显示一些独立数值,数码管同一时刻只能显示一位

位选:选中某一位数码管(将P1寄存器对应bit位置1)

段选:静态显示、动态显示

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

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

相关文章

Elasticsearch面试精讲 Day 4:集群发现与节点角色

【Elasticsearch面试精讲 Day 4】集群发现与节点角色 在“Elasticsearch面试精讲”系列的第四天&#xff0c;我们将深入探讨Elasticsearch分布式架构中的核心机制——集群发现&#xff08;Cluster Discovery&#xff09;与节点角色&#xff08;Node Roles&#xff09;。这是构…

微信小程序长按识别图片二维码

提示&#xff1a;二维码图片才能显示识别菜单1.第一种方法添加属性&#xff1a;show-menu-by-longpress添加属性&#xff1a;show-menu-by-longpress <image src"{{shop.wx_qrcode}}" mode"widthFix" show-menu-by-longpress></image>2.第二种…

智能化数据平台:AI 与大模型驱动的架构升级

在前面的文章中,我们探讨了 存算分离与云原生,以及 流批一体化计算架构 的演进趋势。这些演进解决了“算力与数据效率”的问题。但在今天,企业在数据平台上的需求已经从 存储与计算的统一,逐步走向 智能化与自动化。 尤其是在 AI 与大模型快速发展的背景下,数据平台正在发…

解锁 Vue 动画的终极指南:Vue Bits 实战进阶教程,让你的Vue动画比原生动画还丝滑,以及动画不生效解决方案。

一条 Splash Cursor 的 10 秒 Demo 视频曾创下 200 万 播放量&#xff0c;让 React Bits 风靡全球。如今&#xff0c;Vue 开发者终于迎来了官方移植版 —— Vue Bits。 在现代 Web 开发中&#xff0c;UI 动效已成为提升用户体验的关键因素。Vue Bits 作为 React Bits 的官方 Vu…

《微服务协作实战指南:构建全链路稳健性的防御体系》

在微服务架构从“技术尝鲜”迈向“规模化落地”的进程中&#xff0c;服务间的协作不再是简单的接口调用&#xff0c;而是涉及超时控制、事务一致性、依赖容错、配置同步等多维度的复杂博弈。那些潜藏于协作链路中的隐性Bug&#xff0c;往往不是单一服务的功能缺陷&#xff0c;而…

STM32F103C8T6的智能医疗药品存储柜系统设计与华为云实现

项目开发背景 随着现代医疗技术的快速发展&#xff0c;药品的安全存储与管理成为医疗质量控制中的重要环节。许多药品对存储环境的温湿度具有严格的要求&#xff0c;一旦超出允许范围&#xff0c;药品的理化性质可能发生改变&#xff0c;甚至失效&#xff0c;直接影响患者的用药…

python批量调用大模型API:多线程和异步协程

文章目录 多线程批量调用 基本原理 实现代码 代码解析 使用注意事项 异步协程实现批量调用 异步协程实现方式 异步实现的核心原理 多线程 vs 异步协程 选择建议 多线程批量调用 基本原理 多线程批量调用大模型API的核心思想是通过并发处理提高效率,主要原理包括: 并发请求:…

硬件开发1-51单片机1

一、嵌入式1、概念&#xff1a;以应用为中心&#xff0c;以计算机技术为基础&#xff0c;软硬件可裁剪的专用计算机系统以应用为中心&#xff1a;系统设计的起点是 “具体应用场景”&#xff0c;按照应用需求出发以计算机技术为基础&#xff1a; 硬件技术&#xff1a;嵌…

Redis核心数据类型解析——string篇

Redis的常见数据类型Redis 提供了 5 种数据结构&#xff0c;理解每种数据结构的特点对于 Redis 开发运维⾮常重要&#xff0c;同时掌握每 种数据结构的常⻅命令&#xff0c;会在使⽤ Redis 的时候做到游刃有余。预备在正式介绍 5 种数据结构之前&#xff0c;了解⼀下 Redis 的⼀…

爬虫逆向--Day20Day21--扣JS逆向练习【案例4:深证信服务平台】

一、案例【深证信数据服务平台】案例地址链接&#xff1a;https://webapi.cninfo.com.cn/#/marketDataDate案例爬取链接&#xff1a;https://webapi.cninfo.com.cn/api/sysapi/p_sysapi10071.1、入口定位当进行入口定位时&#xff0c;我们首先需要进行查看响应、载荷、请求头是…

ExcelJS实现导入转换HTML展示(附源码可直接使用)

目录 简介 开始实践 难点 文件示例 效果预览 具体实现 安装 完整代码 总结 简介 在日常工作中&#xff0c;我们可能会遇到需要上传并展示 Excel 文件的需求&#xff0c;实现文件内容的在线预览。 这里给大家接收一个组件库exceljs&#xff0c;这个组件库进过实践发现…

ECDH和数字签名

文章目录一、核心区别&#xff1a;目的完全不同二、协同工作关系&#xff1a;缺一不可的安全组合三、技术结合点&#xff1a;都基于ECC(椭圆曲线密码学)ECDH&#xff08;椭圆曲线迪菲-赫尔曼密钥交换&#xff09;和数字签名&#xff08;如ECDSA&#xff0c;椭圆曲线数字签名算法…

withCredentials(简单说:带不带凭证)

一、withCredentials是什么&#xff1f;withCredentials 是浏览器 XMLHttpRequest 或 Fetch API&#xff08;以及 axios 等基于它们的库&#xff09;中的一个配置项&#xff0c;作用是控制跨域请求时是否携带 Cookie、HTTP 认证信息等凭证。用更通俗的方式解释&#xff1a;二、…

window系统使用命令行来安装OpenSSH服务器或客户端

可以通过 PowerShell 命令行来安装&#xff0c;这种方式更直接可靠&#xff1a;以管理员身份打开 PowerShell&#xff1a; 按下 Win S 搜索 “PowerShell”右键点击 “Windows PowerShell”&#xff0c;选择"以管理员身份运行"安装 OpenSSH 客户端&#xff1a; Add-…

vim中常见操作及命令

在 Vim 中为所有行的行首添加相同字符&#xff0c;可以使用以下方法&#xff1a; 方法1&#xff1a;使用 :%s 替换命令&#xff08;推荐&#xff09; vim :%s/^/要添加的字符/ 例如要在所有行首添加 #&#xff1a;vim :%s/^/#/ 方法2&#xff1a;使用块选择模式&#xff08;可视…

开发使用mybatis是用混合模式还是全注解模式

在使用 MyBatis 开发项目时&#xff0c;Mapper 接口是为数据库操作提供最直观的方法&#xff0c;但在实现方式上&#xff0c;我们有两种选择&#xff1a;全注解模式和混合模式。那么&#xff0c;他们有什么区别&#xff0c;应该如何选择&#xff1f;我们一起来讨论一下。一、全…

WS2812灯带效果设计器上位机

软件使用方法介绍&#xff1a;bilibili地址 【免写单片机代码WS2812灯带效果设计软件-哔哩哔哩】 https://b23.tv/xFhxMGm

Docker 容器(二)

Docker四、Docker容器数据卷1.数据卷的主要特点2.卷的共享与继承&#xff08;1&#xff09;卷的共享&#xff08;Sharing&#xff09;(2) 卷的继承&#xff08;Inheritance&#xff09;3.数据卷运行实例五、Dockerfile1.Dockerfile2. 创建一个名为 myubuntu的自定义镜像第 1 步…

PCB基础细节--工艺篇

pcb基础细节&#xff08;工艺篇&#xff09; 1. 孔与焊盘2. PCB各层之间的作用3. 阻抗匹配 3.1. 什么是传输线&#xff1f;我们只看特性阻抗&#xff0c;时延以后再说。 在画原理图时&#xff0c;我们把电阻&#xff0c;电容&#xff0c;电感是抽象成一个点了。两边加一个电压&…

信创服务器总死机原因及解决办法

哈喽&#xff0c;你好啊&#xff0c;我是雷工&#xff01;最近有个项目使用信创的服务器&#xff0c;总是出现死机的情况&#xff0c;联系厂家检查了一下&#xff0c;说是沐创网卡固件较低造成的&#xff0c;让移除网卡或升级固件尝试一下。记得5月份按厂家的说法处理过一台&am…