🎬 秋野酱:《个人主页》
🔥 个人专栏:《Java专栏》《Python专栏》
⛺️心若有所向往,何惧道阻且长
文章目录
- 原理图
- 控制分析
- 功能设计
原理图
控制分析
S8050 NPN三极管特性
NPN型三极管的工作原理是基于PN结和PNP型晶体管的工作原理。
当外加正向电压时,发射区的P型半导体被注入少量的N型载流子(电子),这些电子被加速并向基区移动。在基区,电子与空穴结合,从而减少了空穴的浓度。当基区浓度低于发射区浓度时,电子会进一步扩散到集电区,导致集电区产生电流。
当外加反向电压时,PN结会被反向偏置。此时,电子和空穴被吸引到PN结中心,从而阻止了电流的流动。
B: base, 基极。(理解:基于/根据 这个条件做什么事情)
E: emitter, 发射极。(理解:发射端,入口)
C: collector, 集电极。(理解:收集电的区域,用电的器件在这个区域)
NPN型三极管,C极为输入端,E极为输出端,B极为控制端
B极 为高电平时,C极到E极的电路导通。
B极 为低电平时,E极到C极的电路断开。
震动控制
通过P0.1引脚控制马达震动。
功能设计
实现震动马达的震动。
#include "Config.h"
#include "GPIO.h"
#include "Delay.h"#define MOTOR P01void GPIO_config(void) {GPIO_InitTypeDef GPIO_InitStructure; //结构定义GPIO_InitStructure.Pin = GPIO_Pin_1; //指定要初始化的IO,GPIO_InitStructure.Mode = GPIO_OUT_PP; //指定IO的输入或输出方式,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PPGPIO_Inilize(GPIO_P0, &GPIO_InitStructure);//初始化
}int main() {int i;GPIO_config();EA = 1;while(1) {MOTOR = 1;delay_ms(250);delay_ms(250);delay_ms(250);delay_ms(250);MOTOR = 0;delay_ms(250);delay_ms(250);delay_ms(250);delay_ms(250);}
}
实现的是1秒钟控制一次马达震动。