单片机基础知识
介绍嵌入式、单片机等领域的基础知识
九层指针
单片机与嵌入式。
如果你交给某人一个程序,你将折磨他一整天;如果你教某人如何编写程序,你将折磨他一辈子。
展开
-
模拟直流电机速度环控制-基于位置式PID算法C语言
【代码】模拟直流电机速度环控制-基于位置式PID算法C语言。原创 2024-03-09 17:42:50 · 913 阅读 · 0 评论 -
HAL库,为什么可以在中断中进行延时?
延时函数delay_ms()的实现原理是根据滴答定时器中断来实现的。滴答定时器中断优先级设置为15,即最低优先级。另外开启外部中断EXTI0,EXTI0的中断优先级设置为4,EXTI0的中断优先级高于滴答定时器的中断优先级。EXTI0进入中断之后,立马清除中断挂起标志位,使得NVIC可以立马响应别的中断(优先级较低的中断也可以,因为此时没有其他优先级更高的中断请求在排队)。所以,即使延时delay_ms()函数依靠的滴答定时器中断优先级最低,也可以实现在回调函数中的延时功能。原创 2024-03-07 09:10:57 · 281 阅读 · 0 评论 -
STM32选型图
原创 2023-07-26 17:12:57 · 230 阅读 · 0 评论 -
架构、内核、微控制器之间的关系-STM32
一个架构可以指导生产很多内核,比如Cortex-M3和Cortex-M4内核都是ARMv7-M架构;一个内核可以指导生产很多的单片机型号,比如STM32F10x 系列的MCU都是基于Cortex-M3内核的微控制器。内核在单片机中扮演着处理器的角色。内核和外设(GPIO、RCC、TIM、USART、SPI、IIC等)共同组成了单片机。架构(ARMv7-M)指导生产内核(ARM Cortex-M),内核指导生产微控制器(MCU)。原创 2023-07-26 17:04:22 · 461 阅读 · 0 评论 -
什么是ARM-Cortex-M处理器?
Cortex-M3和Cortex-M4处理器使用32位架构,寄存器组中的内部寄存器、数据通路以及总线接口都是32位的,Cortex-M处理器使用的指令集架构(ISA)为Thumb ISA,其基于Thumb-2技术并同时支持16位和32位指令。Cortex-M3和Cortex-M4为ARM设计的处理器,Cortex-M3为第–个Cortex处理器,于2005年由ARM发布(2006年有芯片产品出现),Cortex-M4则于2010年发布(产品也是始于2010年)。●用于系统控制、支持OS等的指令。原创 2023-07-26 15:03:34 · 305 阅读 · 0 评论 -
ARM架构版本
ARM体系结构版本指的是ARM对应的各种指令集。ARM体系结构定义了ARMv1~ARMv8共八个版本。n – 指令集版本号。迄今为之,ARM架构版本发布了8个系列,所以n=[1:8]。ARMv – 固定字符,即ARM Version。x(variants) – 排除x后指定的变种。J – Java加速器Jazelle。SIMD – ARM媒体功能扩展。variants – 变种。T – Thumb指令集。E – 增强型DSP指令。原创 2023-07-24 11:46:24 · 384 阅读 · 0 评论 -
ADC数模转换的基本原理
需要注意的是,以上步骤是基于理想情况的描述,并可能受到实际电路的影响。因此,在实际应用中,需要根据具体要求选择合适的ADC类型和参数,以确保获得准确和可靠的数字信号。采样(Sampling):模拟信号在一定的时间间隔内进行采样,将连续的模拟信号离散化为一系列的采样值。采样频率决定了信号在时间上的离散度,需要根据采样定理确定合适的采样频率。它的基本原理是将模拟信号按照一定的时间间隔进行采样,并将每个采样值量化为对应的数字值。数据输出(Output):转换后的数字编码可用于进一步的数字信号处理或储存使用。原创 2023-07-24 11:06:59 · 607 阅读 · 0 评论 -
数字电路常用逻辑符号对照表
原创 2023-07-24 10:53:11 · 1673 阅读 · 0 评论 -
ARM官方文档网站链接免费下载
免费、官方、全面的arm相关文档PDF。原创 2023-07-21 14:33:27 · 105 阅读 · 0 评论 -
CMOS是什么?
需要注意的是,尽管许多芯片被称为CMOS,但并不是所有芯片都使用了CMOS技术。但总体而言,由于CMOS技术的广泛应用和优势,很多芯片都使用了CMOS作为它们的基础制造技术。由于这些优点,CMOS技术成为了电子行业中非常重要的技术之一。因此,许多集成电路制造厂商和设计者选择使用CMOS技术来制造各种类型的芯片。无论是微处理器、存储器、数字逻辑电路还是传感器等,CMOS技术都可以满足不同的设计需求。因此,许多芯片都采用了CMOS技术,以实现低功耗、高性能和高集成度的目标。广泛应用于集成电路中的。原创 2023-07-11 14:50:56 · 4047 阅读 · 0 评论 -
串口通信发送一帧数据后,为什么要向CPU申请中断?
当一帧数据的发送完成后,外设会向CPU申请中断,也就是发出中断请求(IRQ)。CPU在接收到中断请求后,会暂停当前的执行任务,并转而执行与该中断相关的中断服务程序(ISR),也即中断处理函数。当一帧数据的发送完成后,外设需要通知CPU该事件的发生,以便CPU可以进行一些处理。例如,CPU可能需要发送下一帧数据,或者对发送结果进行一些判断和处理。需要注意的是,在使用串口通信时,需要正确地配置串口的中断使能和中断优先级,以确保中断的正确触发和处理。在串口通信中,当一帧数据发送完成后,向CPU申请中断的目的是。原创 2023-07-11 10:55:05 · 2109 阅读 · 2 评论 -
SBUF(Serial Buffer)串行缓冲寄存器
对于数据发送,我们可以将要发送的数据写入SBUF寄存器,然后通过串口外设将其发送出去。对于数据接收,串口外设接收到数据后会将其。到SBUF寄存器中,然后我们可以从SBUF寄存器中读取接收到的数据。,在一些单片机或芯片中用于串口通信中数据的发送和接收。SBUF(Serial Buffer)是。发送数据,如 SBUF = data;接收数据,如 data = SBUF;在串口通信中,SBUF寄存器用于。原创 2023-07-11 10:41:14 · 4968 阅读 · 0 评论 -
串行通信都有什么类型?
(Serial Peripheral Interface)通信:一种同步串行通信协议,用于芯片与芯片之间的通信,包括主设备和从设备之间的数据传输。(Inter-Integrated Circuit)通信:一种多主从的串行通信协议,用于通过两根线路(时钟线和数据线)连接多个设备,实现设备之间的数据交换。(Controller Area Network)通信:一种用于高级车辆总线系统的串行通信协议,通过差分信号传输数据,广泛用于汽车和工业领域。串行通信是一种按照位序列。原创 2023-07-11 09:38:14 · 2541 阅读 · 1 评论 -
C语言中,箭头符号 “->” 和点号符号 “.”的区别
例如,假设有一个结构体类型的指针变量p,其中包含成员变量x,可以使用箭头符号来访问x,例如 p->x。在这个例子中,我们声明了一个指向结构体的指针变量 p2,并使用箭头符号 “->” 通过指针访问结构体的成员。总之,点号和箭头符号在访问结构体或联合体成员时使用的语法和对象类型有所不同,取决于你是直接操作变量还是通过指针访问。箭头符号 “->” 和点号符号 “.” 在C语言中都用于访问结构体或联合体类型的成员,但它们之间有一些重要的区别。来对比点号 “.” 和箭头符号 “->” 的。例子1:使用点号 “.”原创 2023-07-10 21:51:55 · 21690 阅读 · 4 评论 -
51单片机定时器/计数器的四种工作方式
定时器四种工作方式和应用举例原创 2023-07-10 19:26:19 · 17696 阅读 · 0 评论 -
TCON的IT0的功能
通过设置IT0为1,我们指定外部中断0为边沿触发方式,然后通过EX0标志位使能外部中断0。在主程序执行中,当IT0标志位被置位时,MCU会立即跳转到中断向量表中对应的外部中断0中断服务程序执行。这段代码演示了如何利用IT0标志位来实现外部中断0的边沿触发,并在中断服务程序中对连接的LED进行状态反转操作。通过设置IT0标志位,我们可以选择外部中断0的触发方式,实现按需求触发外部中断0,并执行相应的中断处理程序。当P3.2引脚上的电平由低变高时,IT0标志位会被置位,表示外部中断0的中断请求。原创 2023-07-10 17:19:16 · 4621 阅读 · 0 评论 -
对于51单片机控制寄存器TCON的解释
控制寄存器TFON的各个位的功能原创 2023-07-10 17:10:49 · 1352 阅读 · 1 评论 -
对于51单片机定时器的理解
4.有了定时器/计数器之后,可以增加单片机的效率,一些简单的重复加 1 的工作可以交给定时器/计数器处理。CPU 转而处理一些复杂的事情。同时可以实现精确定时作用。不论是51还是STM32,又或者是其他单片机(MCU),定时器/计数器的工作原理几乎相同。的,定时器可以 自己工作而不占用CPU的资源;1.既可以定时,又可以计数;2.定时器和单片机的CPU是。3.定时器是通过时钟产生的。原创 2023-07-10 16:55:47 · 106 阅读 · 0 评论 -
什么是TCON
. 这个缩写是因为TCON中包含了与定时器/计数器相关的标志位,例如定时器/计数器溢出标志位(TF)和定时器/计数器中断标志位(IT0、IT1)等。因此,TCON寄存器在处理定时器和计数器中断时发挥重要的作用。TCON是8051单片机中特定寄存器之一,用于存储和控制中断请求相关的标志位。TCON的英文缩写为 “原创 2023-07-10 15:28:47 · 5772 阅读 · 0 评论 -
8051单片机的寄存器组与功能
8051单片机通常有多个寄存器组可供选择,每个寄存器组都有不同的功能和用途。以下是常见的几个8051单片机寄存器组及其功能的简要介绍:寄存器组0(Register Bank 0):包含16个8位通用寄存器(R0至R7),这些寄存器被用于存储临时数据和中间结果。寄存器组0是默认的寄存器组,并且大多数情况下,所需的数据都可以存储在寄存器组0中。寄存器组1(Register Bank 1):与寄存器组0功能相同,也包含16个8位通用寄存器(R0至R7),可用于存储临时数据和中间结果。原创 2023-07-10 15:10:43 · 2549 阅读 · 0 评论 -
定义结构体直接定义和用typedef两种方式有什么不同,举例说明
定义结构体可以简化结构体类型的使用,使得代码更加简洁和易读。直接定义结构体则需要使用。选择使用哪种方式定义结构体取决于个人偏好和代码风格。在C语言中,定义结构体有两种方式:直接定义和使用。关键字并且在声明结构体变量时加上。以下是一个使用直接定义和。原创 2023-07-10 14:03:37 · 276 阅读 · 0 评论 -
51单片机控制8*8LED点阵,用到的hc595芯片原理
当RCLK引脚从低电平切换到高电平时,输出寄存器会将移位寄存器中的数据加载到输出寄存器中。每个输出引脚都对应输出寄存器中的一个数据位,通过引脚状态的高低电平来表示数据位的状态。通过控制SRCLK和RCLK的时序,我们可以逐个输入数据位,并在加载完所有数据位后,将输出寄存器中的数据一次性并行输出到多个输出引脚,实现对外部设备的控制。HC595移位寄存器内部包含一个8位的移位寄存器和一个8位的输出寄存器。当RCLK引脚由低电平切换到高电平时,输出寄存器会将移位寄存器中的数据加载到输出寄存器中。原创 2023-07-08 20:00:10 · 692 阅读 · 0 评论 -
单片机为什么叫单片机
一台能够工作的计算机要有这样几个部件构成:CPU(进行运算、控制)、 RAM。(数据存储)、ROM(程序存储)、输入/输出设备(例如:串行口、并行输出口。在个人计算机上这些部件被分成若干块芯片,安装一个称之为主板的印刷。,而且有一些单片机中除了上述部份外,还集成。了其它部份如 A/D,D/A 等。原创 2023-07-08 11:52:37 · 356 阅读 · 0 评论 -
一个简单例子帮你理解PID控制
PID原创 2023-07-08 11:05:45 · 137 阅读 · 0 评论 -
全双工和半双工通信介绍
在通信中,全双工(full-duplex)是一种通信方式,允许数据同时在两个方向上进行传输。它允许发送方和接收方在同一时间内传输数据,而不会发生冲突。传统的半双工通信只能在两个方向上进行数据传输之一。例如,如果一个人正在通过对讲机说话,那么其他人就不能在同一时间里回应,必须等待说话的人停止传输才能发言。这种方式下,通信各方需要严格的时间协调以避免冲突。而全双工通信则允许双方同时进行数据传输。这意味着发送方可以同时发送数据,而接收方也可以同时接收数据,而且二者之间的传输可以同时进行而不会相互干扰。原创 2023-07-08 10:54:43 · 1509 阅读 · 0 评论 -
UART和USART的区别
如果只需要基本的异步传输功能,可以选择 UART。如果需要同步传输或更高级的功能,如多主机通信、同步通信等,可以选择 USART。USART 在 UART 的基础上增加了同步传输的功能,可以通过外部时钟源进行同步传输,也可以在异步模式下工作。USART 可以同时支持同步和异步的数据传输方式。主要的区别在于 USART 具有同步传输的能力,可以通过外部时钟源进行精确的时钟同步,而 UART 只能支持异步传输。它通过使用一个起始位、一个或多个数据位、一个可选的奇偶校验位和一个或多个停止位,通过串行传输数据。原创 2023-07-08 10:17:36 · 2170 阅读 · 0 评论
分享