1.操作系统与处理器概念
OS Opetation system 操作系统
51单片机(8位单片机):
主要厂商:
Atmel(AT89C51)
Philip( P89V51 增强型单片机 在线编程)
STC宏晶半导体( STC89C51 STC89C52 STC89C52RC)
处理器架构:
x86(32位) x64(64位) 8051(8位) ARM(32位)
常见处理器单元:
CPU:Central Processing Unit, 中央处理器, 完成指令处理和数据运算
MCU:Micro Controller Unit 微控制器,集成度高,把所有功能集成到一块芯片中(CPU、RAM、
ROM、Timer、GPIO、中断、UART),成本低,应用简单控制领域
MPU:Micro Processing Unit ,微处理器,集成度低,只有一块单独的CPU芯片,需要单独外接存
储模块、外设模块、成本高,复杂应用领域,跑Linux操作系统
GPU:Graphics Processing Unit ,图形处理器,图形处理,图像渲染
NPU:Neural Processing Unit 神经网络处理器,AI推理、AI加速,神经网络处理,卷积算法
FPU:Float Point Unit ,浮点数运算单元,大部分集成在CPU内部
SOC:System On Chip (片上系统),将很多个芯片集成到一起
2.存储体系
内存和外存的特点:
内存:读写速度快,掉电数据丢失,价格昂贵(内存条),存放程序中的常量
外存:读写速度快,掉电数据不丢失,价格便宜(硬盘、SD卡)存放程序、代码、指令,
单片机内部存储:
ROM:Read Only Memory 只读存储器,存放单片机程序、代码
指令
RAM:Random Acess Memory ,随机访问存储器,存放程序运行过程中的变量
CPU与RAM三大总线及作用
地址总线:CPU通过地址总线寻找RAN中的地址,最大寻址范围2^8 ( 256byte ) 单向
数据总线:CPU与RAM之间进行数据传输 双向
控制总线:CPU通过控制总线发送控制指令,双向
例:int a = 2;
int b = 3;
int sum = a+b;
//CPU通过控制总线发送指令
//CPU需要从RAM中读取a、b值(地址)
//CPU运算
//CPU通过数据总线将运算结果写回到RAM
3.时钟与频率基础
主频: CPU工作频率
频率单位换算:
HZ
KHZ 1KHZ = 10^3HZ
MHZ 1MHZ = 10 ^3KHZ = 10^6HZ
GHZ 1GHZ = 10 ^3MHZ = 10^9HZ
THZ 1THZ = 10^3GHZ = 10^12HZ
换算规律
小频率 -> 大频率: 除
大频率 -> 小频率: 乘
eg:
主频: 2.1GHZ -> HZ: 2.1GHZ * 10^9 = 2,100,000,000HZ
时间(时间和频率呈倒数关系) : 1 / 2,100,000,000HZ = 0.5ns
时间单位:s,ms,us,ns
4.51单片机硬件平台
芯片型号:STC89C52、STC89C52RC
晶振:12.0000MHZ、11.0592MHZ
开发底板:HC6800-MS、普中51-MS
单片机最小系统:电源电路、晶振电路、复位电路
芯片封装形式:
双列直插式40引脚封装
划分成4组: P0 、P1 、P2 、P3, 每组有8个引脚
网络编号说明:
本质是一根导线, 避免复杂物理连线,
相同网络编号的引脚在实际电路中是彼此连通的
位运算:
1. |:按位或 :对应位的bit进行比较,如果都为0,则结果为0,如果两个bit中有一个bit 为1,结果为1
应用场景:指定位置1 将第n位置1,就1<<n位
t = t | (1 << n);
t |= (1 << n);
2. &:按位与: 对应位的bit进行比较,如果都为1,结果为1;如果有一个bit为0,结果为0
应用场景:指定位清0 将第n位清0,就~(1 << n)
t &= ~(1 << n);
3. << :左移
4. >>: 右移
5. ^: 按位异或,将对应位的bit进行比较,相同为0,相异为1
6. ~: 按位取反
5.LED模块(共阳极发光二极管)
1. 电阻阻值识别(数字标注法):
数字标注法,前面两位/三位作为有效数字,最后一位数表示10的几次方
102:10 * 10^2 = 1KΩ
103:10 * 10^3 = 10k
2. 外设寄存器:
能够操作硬件,具有固定地址的空间
led模块用到了P2寄存器
#define P2 *((unsigned char *)A0)
P2 = 0xFF; // 1111 1111
P2 = 0x00; // 0000 0000
6.数码管模块(共阴极数码管)
1.51单片机搭载4位共阴极数码管
2.先位选(NPN三极管)P10–P13
3.再段选 (给定对应引脚高电平即可点亮该段)
数码管动态显示原理
利用人眼视觉暂留效应
选择第一位数码管显示一个数值,快速刷新delay(100);
选择第二位数码管显示一个数值,快速刷新delay(100);
7.外设寄存器
单片机中,定时器、串口、ADC、IO口、中断、PWM这些硬件外设,各自配套一组专用存储单元,用来配置参数、读取状态、收发数据,这组单元叫外设寄存器
控制led灯用到的外设:通用IO,P2寄存器,
控制数码管用到的外设:通用IO口,P1寄存器,P0寄存器
指定位清零:将第n位清0 t &=~(1<<n)
指定位置1:将第n位置1 t |= (1<<n)