单片机day1

一、嵌入式

  1. 概念:

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

二、51单片机

  1. 1980年,Intel公司推出一款MCS-51系列(8051型号单片机),从MCU转型CPU市场。
  2. Atmel -> AT89C51、Philip(P89V51 增强型单片机,支持单片机ISP在线编程)、STC(宏晶半导体 STC89C51、STC89C52、STC89C52RC)。

三、相关概念

  • MCU

Micro Ctroller Unit,微控制器,集成度高,将所有功能集成到一块芯片中(CPU、RAM、ROM、IO控制器、UART控制器、定时器、中断系统),成本低,简单控制

  • CPU

Central Processing Unit,中央处理器,完成数据运算、指令处理,CPU性能越好,完成数据运算的时间就越快

  • MPU

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

  • GPU

Graphics Processing Unit(图像处理单元),处理图形数据,图像渲染(GPU性能越好,图像处理质量越高)

  • NPU

Neural Processing Unit(神经网络处理单元),AI推理、硬件加速、神经网络处理(华为 达芬奇NPU AI自动优化照片)

  • FPU

Float Point Unit(浮点数单元),完成浮点数运算和处理(IEE754),集成在CPU内部

  • SOC

System On Chip(片上系统),将多个功能芯片集成到一起

  • ROM

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

  • RAM(片内RAM)

Random Access Memory, 随机访问存储器,主要单片机程序运行过程的变量,掉电数据丢失

256byte

  • 51单片机芯片内部资源

四、单片机芯片

1.单片机型号

  • HC6800-MS
  • 普中51-MS
  • 原理图

2.MCU单片机芯片:

1. 原理图:

2. 实物图:

STC:宏晶半导体

89C52RC:单片机芯片型号

DIP40:双列直插式,40个引脚

将40个引脚划分成了4组

  • P0: P0_0 - P0_7
  • P1:P1_0 - P1_7
  • P2:P2_0 - P2_7
  • P3:P3_0 - P3_7

网络编号:相同网络编号的引脚在实际电路是彼此互通,避免复杂连线

五、发光二极管:

二极管:

阳极、阴极

单向导通性
共阳极二极管:

将所有发光二极管的阳极连接到VCC,发光二级的阴极接到单片机的引脚,此时阳极输出

高电平,给对应单片机引脚低电平,满足发光二极管的单向导通性,电流会从阳极流向阴极,LED被点亮。

1.实物图:

2原理图:

六、位运算

练习:

cpp 复制代码
1. unsigned char t = 0x64;
将t转换为对应的二进制,并将bit0和bit7置1
t |= (1 << 0) | (1 << 7)
2. unsigned char t = 0xFF;
将t转换为对应的二进制,并将bit2和bit6清0
t &= ~(1 << 2);
t &= ~(1 << 6);

七、51单片机程序开发流程:

  • 安装资料包中的Keil4软件
  • 打开Keil4软件
  • 创建单片机工程

点击Project按钮

点击New Project创建一个新的单片机工程

在对应目录下创建新工程

选择单片机芯片型号(Atmel -> AT89C51),点击OK

点击否,不选择启动代码加入到工程中

将.c文件加入到Source Group1目录下

编写单片机程序

勾选 Create Hex File选项

点击左上角 Build,编译单片机程序

下载单片机程序:

1. 连接串口线
2. 在设备管理器中查看串口设备是COMx
3. 打开ISP软件
4. 选择51单片机芯片型号

5. 选择串口端口 COMx

6. 打开hex文件

7. 点击下载编程

8. 将开发板复位
9. 观察硬件现象

八、逻辑分析仪

  • 以方波的形式获取引脚电平变化

CH0-CH7:逻辑分析仪通道,通过杜邦线将通道与引脚连接

GND:通过杜邦线将逻辑分析仪GND与单片机的GND连接

看到如下字样,代表逻辑分析仪连接成功:

点击如下按钮,可以新建调试窗口:

点击Device Setting按钮,可以设置通道和速率:

点击开始按钮,可以抓取引脚电平波形:

九、数码管

1. 数码管:

51单片机上搭载了4位共阴极数码管,每一个数码管可以独立显示一个数值,但在同

一时刻只能有一个数码管被点亮
2. 数码管显示:

  1. 先位选,再段选

将数码管对应的NPN三极管的基级(P10-P13)给定高电平,就可以去选中某一位数码管

给定对应段的引脚高电平,即可选中某一段

  1. 数码管动态显示:

数码管在同一时刻只能显示一位,但利用人的肉眼视觉暂留效应(余晖效应),在某一位数码管显示一个数值后,可以通过快速刷新延时,再去在其他位数码管显示数值

相关推荐
雨落在了我的手上15 小时前
C语言之数据结构初见篇(5):单链表的介绍(1)
c语言·开发语言·数据结构
是大强16 小时前
DSP 和 MCU 的区别
单片机·嵌入式硬件
xuxie9916 小时前
N6 ARM
arm开发·嵌入式硬件
Zevalin爱灰灰16 小时前
零基础入门学用物联网(ESP8266) 第一部分 基础知识篇(三)
单片机·物联网·嵌入式·esp8266
weixin_4607838716 小时前
STM32CubeMX配置ST25R3911B外设指南
stm32·单片机·嵌入式硬件
m0_5557629016 小时前
STM32H743 USB FS 内部 IP DMA 问题分析
stm32·嵌入式硬件·tcp/ip
xiangpanf16 小时前
PHP vs C语言:30字解析两大编程语言差异
c语言·开发语言·php
wdfk_prog16 小时前
MAX14830 可移植 C 驱动实现分析:一个适合多串口扩展场景的开源基础版本
c语言·开发语言·开源
学嵌入式的小杨同学16 小时前
STM32 进阶封神之路(十八):RTC 实战全攻略 —— 时间设置 + 秒中断 + 串口更新 + 闹钟功能(库函数 + 代码落地)
c++·stm32·单片机·嵌入式硬件·mcu·架构·硬件架构
学嵌入式的小杨同学16 小时前
STM32 进阶封神之路(十七):RTC 实时时钟深度解析 —— 从时钟源到寄存器配置(底层原理 + 面试重点)
c++·stm32·单片机·嵌入式硬件·mcu·硬件架构·pcb