硬件开发(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)

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值