跳转至

嵌入式

2747 个字 预计阅读时间 11 分钟

  • C51(中断、定时、串口)
  • STM32 和嵌入式系统部分的概念
  • LCD、LED 数码管、电机、矩阵按键等模块
  • 数电复习
  • C 语言、汇编代码实现
  • 历年题复习
课程资源

我认为老师上课概念性的知识讲的有点太多了,而没有让大家直观的感受到程序是如何运行的。就算我知道了 SCONSMOD TMOD 等缩写,我可能也并不知道一条指令是如何读取的。所以如果能有一些可视化的动图来讲解程序运行流程,感觉比上来就扔一堆不认识的英文缩写,然后来一堆取值要好。
嵌入式这门课的奇怪之处就是作业、实验和上课分离。上课讲的内容没有切合实际的在作业中体现,作业题目都是一些晦涩的概念题目,导致让人不得不去CSDN或者其他答案网站上抄。这样对课堂内容的理解其实没有什么作用。而实验课的内容大部分都是给到源码不用怎么改就可以实现的,导致对于单片机实践也不是特别掌握。
中期汇编语言感觉也比较奇怪,感觉上课讲的听不懂,然后后续实验也就比较坐牢了。嵌入式实验课和上课内容其实配合度并不是特别高,因为中间加了几周讲汇编,所以进度断断续续的。
要是可以自顶向下,先讲c语言的实现,同时了解清楚底层代码实现,最后出一些汇编题目用来加深单片机底层逻辑能力,感觉是比较合理的学习路线。但是这对于现阶段的本科课程来说,要求还是太高了。。。

40% 判断
20% 单选
15-20% 简答
10% 程序填空;程序解释
20-25% 编程题:矩阵按键扫描;

B 站上一个讲的很好的教程

51 单片机原理

框架整理

数电

80C51

历年卷

如何做一个按键扫描程序,矩阵按键式扫描 中断分几步 解释一下定时器工作原理

判断题

数电

  • 加法器和计数器都属于组合逻辑电路
  • 逻辑电路四个基础是 与 或 非 异或
  • 3-8 译码器功能是……转化为二进制

C51

存储结构(包括位寻址、三总线、中断入口、SBUF;

  • 中断使能未开启时,即使满足了中断条件,中断标志位也不会置位。
  • 8051 中支持位寻址的地址为 20H-7FH

STM32

晶振和 CPU 频率、引脚 PWM、MPU、三级流水线、生产厂家

  • Thumb2 在性能和代码紧凑性上均优于纯 ARM
  • STM32F103 32 位,所以一个字是 4 字节

选择题

下列 TTL 电路中能表示 \(Y = \overline{A+B}\) 的是

51

51 部分考察了 中断、引脚功能、LED 段码、MOV 指令;32 部分考察了 ADC 参数,字长,中断优先级,寄存器,中断程序工作模式,定时计数器触发方式

共阳极七段数码管显示字符 7 时各位分别是什么

下面关于 8051 堆栈错误的是

  • 只支持 PUSH POP 两种操作
  • 堆栈指针初始化为 00H
  • 忘了
  • 忘了

复位后下面哪个寄存器不是全 0

  • IE
  • P3
  • A
  • B

ANL C, 30H 的寻址方式为

  • 位寻址
  • 直接寻址
  • 寄存器寻址
  • 变址寻址

STM32

MPU 可以实现的功能不包括()

  • 防止读写出错
  • 分隔不同任务的数据
  • 保护区域

STM32 计数器的计数方式

  • 上升
  • 下降
  • 上升和下降
  • 以上均是

8 DAC,参考电压 2.5V,输入 99H,输出电压()

  • 1.0V
  • 1.25V
  • 1.5V
  • 2.0V

STM32 中存储程序计数器(PC)的寄存器是()

  • R13
  • R14
  • R15
  • R16

嵌入式系统

嵌入式系统中,错误的是()

  • 运行速度越快越好
  • 体积越小越好
  • 功耗越低越好
  • 成本越低越好

计算机系统采用二进制,下列叙述正确的是()

  • 逻辑电路用开关的通断表示“0”“1”很方便
  • 二进制抗干扰能力强
  • 二进制数据表达高效
  • 二进制适合逻辑运算

简答题

4 题,每题各 5

有一个数码管输出 H 写编码

有一个带进位加法器优缺点

有一个 CM3 下列选项哪个不在进程核心系统里

组合逻辑电路和时序逻辑电路各有什么特点,有什么异同?

简述 8051 中断响应程序的执行过程

说明嵌入式系统的组成部分

说明 STM32 三级流水线的组成和原理

1. 回答 51 振荡周期、机器周期、指令周期等、并计算 DJNZ 循环时长 2.给出程序,写出每句的寻址方式 3.写出嵌入式系统的定义 4.给出51-矩阵键盘接线图,写出两种扫描方法并就其中一种叙述原理(无需写程序) 5.画出Cortex-M3的内核结构

1. 补码的含义和作用,ALU 如何处理减法 2.简述时间中断的功能和对应的SFR 3.Cortex-M3三段的内容和工作原理(取指令,译码,执行) 4.Cortex-M3与8051相比的优点

嵌入式框架图与程序流程图的区别

8051 三条总线名称

数据总线、地址总线、控制总线 总线(bus):和多个模块连接,用于传输

PSW:内部状态寄存器

Stack 先进后出 SP先加1,数据再进入 数据先出栈,SP再减一

加法器 * 方法1: 使用两个芯片,加两次 * 方法2:使用1个芯片,将数据向上移动一位,相当于乘2了

时序逻辑电路的一般结构形式 时序逻辑电路

冯诺依曼体系结构

程序阅读填空

8051 定时器初始化的每一步写注释

给出了一个 PWM 波输出的程序,要求补全、写注释,后面问了程序里面的 PWM 波频率是多少,TI 在什么条件下由谁置位

STM32 ADC,要求补全代码和注释;从以上程序,请总结 STM32 片内 ADC 的使用方法(2 分)

1.stm32 给出 usart 收发程序和 main 函数(调用初始化函数,注释某语句功能,并写出该程序功能

2.8051 中断计数并显示到 LED 上,也是给出程序写注释和程序功能

C51 UART 串行通讯,已知温度传感器接在 P0 口,补全程序(10 分)

填程序部分2 个空) 初始化部分TR1=__ 发送信息部分__=0

注释部分5 个空) TMOD=0×20 含义 TH1=FDH 的含义 SBUF= 的含义 还有两个空,比较简单

说明程序作用(3 分)

stm32 D/A 功能(12 分,大概)

(1) 注释部分(5 个空) 三个初始化的注释,分别是哪个初始化 da=2048的含义 da值输出相关部分里GPIO……() 函数含义 (2,3,4) da相关的周期是多少 根据程序写出Vref和ADC位数 画出da输出的波形,标明时间

编程题

编程实现

P1.0 接红色 LED 灯,P1.1 接绿色 LED 灯,P3.2 接一按键,编程实现: * 按键按下时,两灯交替开关, * 如果一分钟没有按键按下,则两灯都熄灭。

输出一个周期为 10ms,占空比为 1:3 PWM 波,要求使用定时器

自行设计矩阵键盘

12 个按键, 1~9,0,open,clear)要求:输入四个数字。按下 open 键,如果密码正确,P2.0 的蓝灯点亮,执行开门程序(给定函数,如果密码错误,P2.1 的红灯点亮。按下 clear 键,输入清空wy 自称这题出难了) 1.画出设计的矩阵键盘和电路 2.写出程序

设计题

设计一大棚自动灌溉系统,要求:

  • 每分钟检测环境温度和土壤湿度
    • 通过串行通信将数据发送到 5G 模块,服务器接收并存储数据
    • 如果湿度低于阈值,则启动灌溉系统浇水三分钟
    • 通过显示屏实时显示温度和湿度

(1)画出系统框图 (2)画出软件流程图 (3)编程实现功能1功能2,温度湿度传感器数值读取函数已给出。

要求实现智能电动窗帘

可以定时开关(早上 8 点开,晚上 9 点关、遥控开关、手机和智能音箱远程控制以及拉一下窗帘自动完成全部的开关 . 有光强传感器,到达一定亮度拉开窗帘到一半,有遥控器,可以设置打开,关闭和停在现有位置。 1.画出系统原理图 8分 2.写出程序流程图 6分 3.写出定时开关、手动轻触开关的核心程序 8分 编程实现定时开关和遥控器,给定三个电机函数

基本信息

单片机:

嵌入式处理器

  • MPU micro Processor UNit

  • MCU micro controller Unit : 8051

继承 RAM、FLASH、总线、定时、IO、中断

  • DSP Digital Signal Processor

  • SoC System on Chip

通常说 CPU 多少位,是指什么的位数 ?

CPU 的寄存器的位宽

img

嵌入式操作系统

实时:开源uC/OS-II 商业VxWorks

非实时:WinCE Linux

嵌入式系统组成模型

硬件:微处理器、存储器、过程接口、人机接口、通信接口 软件:应用程序、实时操作系统(可选)

image-20240619143232902

领域概述

img

肝了半个月,我整理出了这篇嵌入式开发学习学习路线 + 知识点梳理)_ 嵌入式学习路线 -CSDN 博客

MCU 学习顺序

①硬件组成:包含哪些功能电路?

②主要功能:该部件有哪几种功能?

③工作模式:实现某功能的运行方式,通常有多种,是如何选择的?

④内部寄存器的定义 :控制寄存器、状态寄存器各位的含义,功能部件是让 CPU 读写这些内部寄存器,来选择运行模式,实现具体的功能;

⑤该部件对应的库函数有哪些?

第一步:RCC 复位和时钟系统

第二步:GPIO 通用输入输出 IO

第三步:中断系统、DMA

第四步:Timers(并列,按需选择)A/D、D/A(UART、SPI、I2C)、USB、CAN、EMAC FSMC