嵌入式概述 与 51 单片机
一、嵌入式概述
1、什么是嵌入式
嵌入式以应用为中心,以计算机技术为基础,软硬件可裁剪的专用计算机系统
2、计算机系统概述
- 计算机五要素:运算器(数据运算),控制器(控制指令),存储设备,输入设备,输出设备
- 通用计算机:如 PC 、手机、平板
- 专用计算机:为完成特定功能而设计的计算机
3、处理单元
- CPU(中央处理器):是数据运算、指令处理的单元,CPU性能越高,完成指令处理和数据运算的速度越快
- MCU(微控制器):集成度高、将所有功能(如中断、计时、CPU、存储等)集成到芯片中,常见的 MCU 有 51 单片机、stm32等,有控制简单、成本低的特点
- MPU(微处理器):集成度低,只有一款单独的 CPU ,需要外接外设以实现相应的功能,成本高
- GPU(图形处理器)(显卡):是图形处理、图形渲染的处理单元
- NPU(神经网络处理器):用于 (算法运用)AI推理、硬件加速 等领域
- FPU(浮点运算单元):完成浮点数的运算和处理,大部分集成在CPU内部
- SOC(片上系统):集成度比较高,将多个芯片集成到一块芯片上
4、存储单元
- 内存:主要存放程序运行过程中的临时变量、掉电数据丢失,读写速度快,价格昂贵
- 外存:主要存放程序、代码、指令,掉电数据不丢失,读写速度慢,价格便宜
- ROM:只读存储器,存放单片机程序,指令,掉电数据不丢失
- RAM:随机访问存储器,存放临时变量、临时数据,掉电数据丢失
二、单片机
1、单片机结构
芯片内部结构
总线:
总线类型 | 作用 |
地址总线 | 用来寻找RAM中的地址(单项寻址) |
数据总线 | 通过地址总线获取数据,数据双向交互 |
控制总线 | 时序控制、IO、中断 |
内部功能模块
模块 | 简介 |
CPU | 中央处理单元 |
IO、中断、Timer、UART | 控制单元与数据交互单元 |
ADC/DAC | 模/数转换单元 |
RAM/ROM | 存储单元 |
其他功能模块 | 如传感器、PWM等 |
2、位运算
- 按位与 & :有0为0,常用于位清零
//最低位清0 unsigned char t = 0xFF; t &= ~(1 << 0);
- 按位或 | :有1为1,常用于位置1
//最低位置1 unsigned char t = 0x00; t |= (1 << 0);
- 按位异或 ^ :相同为0,相异为1
3、单片机程序
1.流水灯
8个 led灯 共阳,P2 为8个 led 的控制端口
void Led_On(unsigned char n) //点亮指定灯
{P2 = ~(1 << n);
} while(1){for(i = 0;i < 8;i++){Led_On(i); //点亮指定灯delay(10000);Led_Alloff(); //熄灭所有}for(i = 6;i > 0;i--){Led_On(i); //点亮指定灯delay(10000);Led_Alloff(); //熄灭所有}}
2.动态数码管
void Seg_Sa(u16 n) //段选
{P0 = n;
} void Seg_Pos(u8 n) //位选
{P1 = 0xf0;P1 |= (1 << n);
}void Seg_Show(u16 dat) //动态显示
{int i = 0;int m = 0;while(dat != 0){Seg_Sa(0);m = dat % 10;Seg_Pos(i);Seg_Sa(seg_dat[m]);delay(100);dat /= 10;}
}