当前位置: 首页 > web >正文

硬件开发(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.xdnf.cn/news/19856.html

相关文章:

  • atomic常用类方法
  • VR智慧楼宇技术:打造智能办公空间的卓越方案​
  • 深圳外贸峰会究竟藏着啥秘密?能让外贸人收获满满?
  • RHEL9源码编译MySQL8.0.40
  • 图像加密安全传输--设备端视频流加密,手机端视频流解密,使用ChaCha20-Poly1305 进行系统分析
  • 爬虫-----最全的爬虫库介绍(一篇文章让你成为爬虫大佬,爬你想爬)
  • windows系统离线安装Ollama、创建模型(不使用docker)、coze调用
  • Linux为什么不是RTOS
  • 【Vue】前端 vue2项目搭建入门级(一)
  • IoT Power软件 -- 每次开启强制升级解决方法
  • Pandas Python数据处理库:高效处理Excel/CSV数据,支持分组统计与Matplotlib可视化联动
  • 嵌入式C语言之链表冒泡排序
  • 【PlayWright】 自动化测试框架机制详解
  • Python应用——ffmpeg处理音视频的常见场景
  • GitLab,2025最新如何配置中的SSH key步骤
  • 【高等数学】第十一章 曲线积分与曲面积分——第一节 对弧长的曲线积分
  • GaussDB 数据库架构师修炼(十九)-性能调优-长事务分析
  • leetcode-每日一题-3025. 人员站位的方案数 I-C语言
  • 解决完美主义的方法是,去追求不完美--辩证法
  • OpenAI印度1GW数据中心计划:全球AI基础设施博弈的加速
  • Web3 出海香港 101 |BuildSpace AMA 第一期活动高亮观点回顾
  • 向成电子惊艳亮相2025物联网展,携工控主板等系列产品引领智造新风向
  • Linux网络编程套接字(五)之简单的TCP网络程序3【TCP守护进程化】
  • Corona渲染噪点终结指南:3ds Max高效去噪全攻略
  • matplotlib中文宋体,西文新罗马
  • 自学嵌入式第三十二天:网络编程-UDP
  • 最常见的设备管理系统有哪些?设备采购、盘点、库存管理软件TOP10
  • 只需几条命令,本地体验微软最新长文本语音合成 VibeVoice(支持中文)
  • 专有云企业级特征
  • Turso数据库:用Rust重构的下一代SQLite——轻量级嵌入式数据库的未来选择