课程

课程 讲师

STM32F103-LED蜂鸣器模块

购买数
19
课时数
1
浏览数
6227
主讲人:
邵老师
有效期:
自购买之日起永久
优惠价:¥10
原价:¥20
分享

分享到:

手机查看

一、模块介绍


image.png


控制LED灯的亮灭和蜂鸣器的开关。

购买链接:

https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-18748153240.71.3afa2366yqRAJh&id=576040361356


        LED是英文Light Emitting Diode的缩写,译为发光二极管。是由含镓(Ga)、砷(As)、磷(P)、氮(N)等的化合物制成。发光二极管是半导体二极管中的一种,可以把电能转换成光能,与普通二极管一样具有单向导电性。

        蜂鸣器分为压电式蜂鸣器和电磁式蜂鸣器两种类型,电磁式蜂鸣器又分为有源和无源两种类型,该模块中使用的蜂鸣器是有源电磁式蜂鸣器。

有源电磁式蜂鸣器的工作信号为直流电,蜂鸣器的内部震荡电路可以将直流电转换为脉冲信号,当脉冲信号的电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动从而发声。


二、原理分析

        LED通过三极管控制电流是否导通,当引脚GPH_1输出为高电平时,导通三极管,使电流通过LED,从而LED产生光亮。

image.png    

        蜂鸣器同样是使用三极管控制电流的导通,当引脚GPH_0输出高电平时,导通三极管,使电流通过蜂鸣器,从而蜂鸣器产生声响。

        image.png


三、代码解读


初始化函数 

        void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);


读取输入电平函数:

        uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);

        uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx);


读取输出电平函数:

        uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);

        uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);


设置输出电平函数:

        void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);

        void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);

        void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);

        void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);


        一、对GPIO进行初始化

                调用GPIO_Init函数配置GPIO参数。要注意GPIO在使用之前,要先使能对应的时钟。

        二、根据需求设置GPIO口的状态

                调用 GPIO_SetBits函数或者 GPIO_ResetBits函数设置GPIO的电平状态。


四、实践操作


一、实验操作步骤:

  1. 将 STM32F103核心板正确插接到魔法师 M3/M4 底板上,连接好 J-link 与 PC 机;

  2. 将 LED-蜂鸣器模块插到底板 P8 口,底板拨码 S1 拨向 ON 端;

  3. 编译整个工程,打开底板电源,烧写程序到核心板,并按一次复位按键。


二、实验现象:

  1. 串口首先打印菜单信息;

  2. 串口输入1-LED 亮,2-LED灭;4-蜂鸣器发声,5-蜂鸣器息声;其他提示错误。


讲师信息

邵老师

邵老师

粉丝:4
多年嵌入式开发经验,精通STM32/51单片机,扎实的C语言基本功
×

分享成功,快去个人中心查看吧~~~

祝您:学习愉快 !

确 定
×

加入我的看单

该课程需要加入我的看单后方可学习,确定加入?

确 定 取 消
关注官方微信