一、嵌入式概念
以应用为中心,计算机技术为基础,软硬件可裁剪的专用计算机系统
(一)计算机五大组成
运算器(数据运算)、控制器(指令控制)、存储器(内、外存)、输入(鼠标、键盘、摄像头)、输出(显示屏)
(二)软件
编程语言(C/C++)、操作系统(Linux文件、多任务、网络)、数据结构、数据库等等
(三)硬件
1.51单片机:硬件概念(定时器、pwm、中断)、原理图、寄存器、外设操作
2.STM32:库开发(标准库、HAL库)
3.ARM:①CortexA:应用高端领域,处理复杂任务、用来跑操作系统(Linux文件系统、多任务调度、网络)
②CorteR:应用实时控制领域,实时性要求高(汽车电子)
③CortexM:应用微控制器领域,MCU单片机(IOT物联网、智能家居、控制领域)
(四)软硬件可裁剪:加入需要的硬件/软件,将不要的硬件/软件裁剪掉(低功耗、低成本)
(五)计算机
1.通用计算机:PC、平板、手机
2.专用计算机:无人机、完成某项特定功能的计算机
二、51单片机
(一)intel公司MCS-51系列:8051型号单片机(工业控制领域),由MCU转到CPU;Atmel(AT89C51);Philip(P89V51系列单片机,增强单片机ISP在线编程);STC宏晶半导体(STC89C51、52)
(二)1.CPU:中央处理器(Central Processing Unit ):数据运算、指令处理、CPU性能越高,完成指令处理和数据运算的速度越快
2.MCU:Micro Ctronller Unit(微控制器),集成度比较高,将所有功能集成到芯片中(CPU、RAM、ROM、定时器、UART、IO)简单控制,低成本
3.MPU:Micro Processing Unit(微处理器),集成度低,只有一块单独的CPU,需要接外设,存储模块,复杂领域,成本高
4.GPU:Graphics Processing Uint(图形处理),图形处理,图形渲染(GPU性能越好,图形显示质量越好)
5.NPU:Neural Processing Unit(神经网络处理器),AI推理、硬件加速、神经网络处理(卷积运算)
6.FPU:Floating Point Unit(浮点数运算单元),完成浮点数运算和处理,大部分集成在CPU内部
7.SOC:System On Chip(片上系统),集成度比较高,将多个芯片集成到一块芯片(存储芯片、外设芯片)
三、RAM和ROM
(一)1.外存:主要存放程序、代码、指令、掉电数据不丢失,读写速度慢,低价
2.内存:主要存放程序运行过程临时变量,掉电数据丢失,读写速度快,高价
(二)ROM:Read-Only Memory,只读存储器,存放单片机程序,指令,掉电不丢失
(三)RAM:Random Access Memory,随机访问存储变量,存放临时变量,临时数据,掉电数据丢失
四、单片机内部结构
三大总线
1.地址总线(8根):寻址(2^8=256),寻找RAM中的地址,CPU->RAM单向
2.数据总线:通过获取数据,数据双向交互
3.控制总线:时序控制,IO控制,中断
五、原理图
(一)MCU单片机芯片:STC89C52RC、DIP40封装:双列直插式;40个引脚,划分4组(端口 寄存器 unsigned char P2)
(二)网络编号:在实际电路中的一个编号,避免物理连线,相同网络的编号的引脚在实际电路中是彼此互通的
(三)发光二极管:具有单向导通性,分为共阳极和共阴极二极管
共阳极:发光二极管阳极接VCC
共阴极:发光二极管阴极接GND
六、位运算
(一)|:指定位置1 将bit0和bit7置1:t |= (1 << 0) | (1 << 7);
(二)&:指定位清0 将bit 0 和 bit7 清0: t &= ~(1 << 0),t &= ~ (1 << 7)
eg:unsigned char a = 0x62;unsigned char b = 0xFF;
1.将a转换成二进制,将bit0和bit7置1
// 二进制:0110 0010
// t |= (1 << 0) | (1 << 7);
2.将b转换成二进制,将高4位清0
// 二进制:1111 1111
// t &= ~(0x0F << 4);
// t &= ~(0xF0 << 0);
(三)^:相同为0,相异为1