課程

課程 講師

STM32F103-LED蜂鳴器模塊

購買數
0
課時數
1
瀏覽數
568
主講人:
邵老師
有效期:
自購買之日起永久
優惠價: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-蜂鳴器息聲;其他提示錯誤。


講師信息

邵老師

邵老師

粉絲:1
多年嵌入式開發經驗,精通STM32/51單片機,扎實的C語言基本功
×

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

祝您:學習愉快 !

確 定
×

加入我的看單

該課程需要加入我的看單后方可學習,確定加入?

確 定 取 消
關注官方微信
冠通棋牌世界游戏大厅