嵌入式学习的第四十天-51单片机

一、基本框架

第一阶段: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)索引寄存器:程序运行时用于更改运算对象地址。