快速学会51单片机基础

**嵌入式:**以应用为中心,以计算机技术为基础,软硬件可裁剪的专用计算机系统

计算机组成: 控制器、运算器(CPU)、存储器(内存 外存)、输入设备(鼠标、键盘、耳机)、输出设备(显示器、麦克风、打印机)

低成本、低功耗、体积小

51单片机(8位单片机):

1980年,Intel推出MCS-51系列: 8051型号单片机(控制领域)

Intel将8051单片机授权:Atmel(AT89C51)、Philips(P89V51 ISP在线编程)、STC(STC89C52、STC89C52RC)

**最小系统:**能够使单片机正常工作所需要的最少的器件

**晶振:**单片机工作提供频率/节拍

11.0592MHZ(串口波特率)

12.000MHZ(定时器)
底板型号: HC6800-MS 普中51-MS

单片机芯片型号: STC89C52 STC89C52RC(512byte)

处理器概念:

CPU:Central Processing Unit 中央处理器 完成数据运算和指令处理

MCU:Micro Ctronller Unit 微控制器 集成度高,将所有的功能集成到同一块芯片中,成本低,应用在简单控制领域

MPU:Micro Procerssing Unit 微处理器 集成度低,只有一块单独的CPU芯片,需要外接功能模块,成本高,复杂应用领域

GPU:Graphics Processing Unit 图形处理器,图形处理、图像渲染

NPU:Neural Processing Unit 神经网络处理器,AI推理、AI加速、神经网络处理、卷积运算
FPU:Floating Point Unit 浮点数运算单元,完成浮点数运算(集成在CPU内部)

SOC:System On Chip 片上系统,将多个功能芯片集成到一块芯片(体积小、功耗低、Linux)

存储器概念:

内存:存放程序运行过程中的变量、掉电数据丢失、读写速度快、价格贵(内存条)

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

RAM:Random Access Memory ,随机访问存储器,存放单片机程序运行过程中变量

CPU与RAM交互的三大总线:

  1. 地址总线:CPU通过地址总线寻找RAM中变量的地址,寻址范围:2^8(单向)

2.数据总线:CPU通过数据总线与RAM进行数据传输(双向)

3.控制总线:CPU通过控制总线发送控制指令(双向)

// 1. CPU通过控制总线向RAM发送读指令

// 2. CPU通过地址总线寻找RAM中变量地址

// 3. RAM通过数据总线将变量值发送给CPU

// 4. CPU负责数据运算

// 5.CPU通过控制总线向RAM发送写指令

// 6. CPU通过地址总线寻找RAM中变量地址

// 7.CPU通过数据总线将运算结果存入到RAM

ROM:Read Only Memory **只读存储器,**存放的是单片机程序、代码、指令(8KB)

51 **单片机:**将40个引脚划分为4组:P0 - P3,每一组分别有8个引脚

**网络编号:**本质一根导线,为了避免复杂物理连线,相同编号的引脚在实际电路中彼此互连

**外设寄存器:**能够操作硬件,具有固定地址的空间

位运算:

  1. | :按位或,将两个二进制数对应位进行比较,如果全为0,则结果为0;如果有一个bit为1,则结果为1

char t = 0xF4; // 1111 0100

char n = 0x32; // 0011 0010

t | n: 1111 0110 0xF6

应用场景:指定位置1,其余位不变 t |= (1 << n);

  1. &:按位与,将两个二进制数对应位进行比较,如果全为1,则结果为1;如果有一个bit为0,则结果为0

char t = 0xF4; // 1111 0100

char n = 0x32; // 0011 0010

t & n: 0011 0000 0x30

应用场景:指定位清0,其余位不变 t &= ~(1 << n);

  1. ~:按位取反,将二进制数每一位进行翻转

char t = 0xF4; // 1111 0100

char n = 0x32; // 0011 0010

~(t & n): ~(0011 0000) ->1100 1111 0xCF

  1. ^:按位异或,将两个二进制数对应位进行比较,相同为0,相异为1

char t = 0xF4; // 1111 0100

char n = 0x32; // 0011 0010

t ^ n:1100 0110 0xC6

  1. <<:按位左移,将二进制数左移n,低位补0

  2. >>:按位右移(逻辑右移、算术右移、循环右移)

相关推荐
H_oRIZoN_2 小时前
Linux入门DAY41(51 单片机 串口与通信协议)
linux·运维·单片机
jianqiang.xue2 小时前
ESP-IDF保姆级入门41|产品级故障排查与稳定性优化全解:死机复位排查/内存泄漏定位/性能瓶颈分析/长期稳定性测试,掌握量产运维问题定位方法论
单片机·mcu·物联网·esp32
单片机仿真设计3 小时前
【proteus仿真】基于 STM32 的林区环境监控系统设计
stm32·单片机·proteus
Doraemomo5 小时前
IMX6ULL裸机开发——GPIO的使用
单片机·嵌入式硬件
笨笨饿5 小时前
#138_解决Codex要五次回复的问题
linux·stm32·单片机·嵌入式硬件·mcu·物联网·嵌入式实时数据库
susplus5 小时前
【51单片机通信协议】串口
51单片机·串口·嵌入式·通信协议
晊晌_h5 小时前
嵌入式从0到精通——51单片机(二)
嵌入式硬件·51单片机
云泽8086 小时前
STM32 USART 详解(七):超时设置、非阻塞发送与 ReadLine 实现
stm32·单片机·嵌入式硬件
2401_862880827 小时前
UART 通信协议
单片机·51单片机