当前位置: 首页 > java >正文

嵌入式硬件 - 51单片机1

一.嵌入式

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

1. 以应用为中心

        实现特定的任务设计:电子设计:手机,蓝牙耳机,

                                            医疗设备:心率脉搏

                                             汽车ABS,空调温控,智能手环,无人机

2. 计算机技术为基础

1. 计算机组成部分

  运算器(数据运算)、控制器(指令控制)、存储器(内存外存)、输入 / 输出设备(IO)

运算器 + 控制器 = CPU(中央处理器)

存储器:RAM的大小和内存

输入 / 输出设备:外设或IO,输入:鼠标、键盘;输出:显示器、LED

2. 软件技术

        编程语言,操作系统,数据结构,数据库

编程语言:C / C++

操作系统:Linux文件,负责管理文件、多任务、网络等资源

数据结构与数据库:处理复杂应用逻辑,如用户数据管理、通信协议

3. 硬件平台

        STM32单片机:库开发(标准库,HAL库)

        51单片机:硬件(PWM,中断,定时器),原理图,寄存器,外设操作(LED,按键)

        ARM:设计处理器核心IP,芯片方案

                三大系列:

                CortexA:应用处理器,应用高端领域,用来运行Linux等复杂操作系统,处理UI,网络
等复杂任务。

                CortexR:实时处理器,实时性与可靠性,用于汽车制动系统等要求响应及时的场景

                CortexM:微控制器,是STM32,MCU单片机的核心,功耗低成本低

3. 软硬件可裁剪

硬件方面按需选择处理器架构与外设模块

软件方面可以剔除冗余部分,仅保留所需代码

4. 专用的计算机系统

1. 通用型计算机:PC,手机,平板

2. 专用型计算机:无人机,摄像机,仅实现某项功能的计算机

二、51单片机

        1980年,由Intel公司MCS-51系列:8051型号单片机(工业控制领域),由MCU转型到CPU

        Atmel(AT89C51)、Philip(P89V51系列单片机,增强型单片机 ISP在线编程)、STC 宏晶半导体(STC89C51   STC89C52  STC89C52RC)

三、相关概念

1. CPU

        Central Processing Unit(中央处理器)数据运算、指令处理,CPU性能越高,完成指令处理和数据运算的速度越快

2. MCU

        Micro Ctronller Unit(微控制器),集成度比较高,将所有功能集成到芯片中(CPU、RAM、ROM、定时器、UART、IO),简单控制, 成本低

3. MPU

        Micro Processing Unit(微处理器),集成度低,只有一块单独的CPU,需外接外设、存储模块,复杂应用领域,跑Linux操作系统,成本高

4. GPU

        Graphics Processing Unit(图形处理器),图形处理、图形渲染(GPU性能越好,图形显示的质量越好)

5. NPU

        Neural Processing Unit(神经网络处理器),AI推理、硬件加速,神经网络处理(卷积运算)-> 华为Mate60 达芬奇NPU AI自动优化照片

6. FPU

        Floating Point Unit(浮点数运算单元),完成浮点数的运算和处理(完全遵循IEEE 754),大部分集成在CPU内部

7. SOC

        System On Chip(片上系统),集成度比较高,将多个芯片集成到一块芯片上(存储芯片、外设芯片)

四、ROM 和 ARM

1. 内存和外存

外存

        主要存放程序、代码、指令,掉电数据不丢失,读写速度慢,价格便宜(移动盘 1T 300)

内存

        主要存放程序运行过程中的临时变量、掉电数据丢失,读写速度快,价格贵内存条16G 300)

2. ROM 和 ROM

ROM:

        Read-Only Memory,只读存储器,存放单片机程序,指令,掉电数据不丢失

RAM:

        Random  Access Memory,随机访问存储器,存放临时变量、临时数据,掉电数据丢失

五、单片机芯片内部结构

CPU、RAM、ROM、Timer、PWM、IO、中断、UART

三大总线

        地址总线:用来寻找RAM中的地址,所能寻址的最大范围2^8,256byte,单向

        数据总线:通过地址总线去获取数据,数据交互双向

        控制总线:时序控制、IO控制、中断

六、原理图与部分概念

1. MCU单片机芯片

STC89C52RC、DIP40 封装:双列直插式,40个引脚,划分成4组(端口 寄存器)

2.网络编号

在实际电路中的一个编号,避免物理连线,相同网络的编号的引脚在实际电路中是彼此互通

3. LED模块

发光二极管:具有单向导通性,分为共阳极和共阴极二极管

4. 共阳极发光二极管的特性

将所有发光二极管的阳极接到电源正极(VCC),阴极接到单片机的引脚。

此时发光二级管阳极会输出高电平(VCC 5V),如果发光二级阴极输出一个低电平(0V), 阳极和阴极之间会形成一个正向的电压差,满足发光二极管的单向导通性,发光二级管被点亮

七、位运算:

1、|

        将二进制中的对应位的bit进行比较,有1为1,全0为0

eg:指定位置1

        将bit0和bit7置1:t |= (1 << 0) | (1 << 7);

2、 &

        将二进制中的对应位的bit进行比较,有0为0,全1为1

eg:指定位清0

        将bit 0 和 bit7 清0: t &= ~(1 << 0); t &= ~(1 << 7);

3、^ 

        将对应位的bit进行比较,相同为0,相异为1

八、LED练习

main.c

led.c

delay.c

九、数码管练习

main.c

digiter.c

http://www.xdnf.cn/news/19710.html

相关文章:

  • 驾驭金钱:每一次花钱,都是一次选择
  • Linux《进程信号(上)》
  • .NET技术深度解析:现代企业级开发指南
  • 从零开始的云计算生活——第五十七天,蓄势待发,DevOps模块
  • 用 map() + reduce() 搞定咖啡店订单结算:从发票到报表的 Python 实战
  • 【Stream API】高效简化集合处理
  • Python 2025:量子计算、区块链与边缘计算的新前沿
  • 量子计算+AI成竞争关键领域,谷歌/微软/微美全息追赶布局步入冲刺拐点!
  • 【音视频】 WebRTC GCC 拥塞控制算法
  • 整理期初数据用到的EXCEL里面的函数操作
  • 【专栏升级】大模型应用实战并收录RAG专题,Agent专题,LLM重构数据科学流程专题,端侧AI专题,累计63篇文章
  • Xcode 编译速度慢是什么原因?如何提高编译速度?
  • MyBatis-Plus 实现用户分页查询(支持复杂条件)
  • Ansible循环与判断实战指南
  • SQL Server--提取性能最差的查询
  • Redisson分布式锁会发生死锁问题吗?怎么发生的?
  • 嵌入式系统与51单片机全解析
  • 20.Linux进程信号(一)
  • 深入浅出 RabbitMQ - SpringBoot2.X整合RabbitMQ实战
  • 数据结构——顺序表和单向链表(1)
  • WPF 开发必备技巧:TreeView 自动展开全攻略
  • 豪华酒店品牌自营APP差异对比分析到产品重构
  • Qt6实现绘图工具:12种绘图工具全家桶!这个项目满足全部2D场景
  • 国产化部署的it运维平台:功能全面,操作便捷
  • OpenCV Python
  • 新手也能轻松选!秒出PPT和豆包AI PPT优缺点解析
  • 《Python Flask 实战:构建一个可交互的 Web 应用,从用户输入到智能响应》
  • 企业如何实现零工用工零风险?盖雅全自动化合规管控
  • 2024 年 AI 产业格局复盘:头部企业竞逐方向与中小玩家生存破局点
  • K8s HPA自动扩缩容实战指南