新聞中心

        STM8S BEEP

        作者: 時間:2016-12-03 來源:網絡 收藏
        C語言:Codee#12366

        /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        + 實驗平臺 : ST 官方三合一套件
        + 硬件 : STM8S105S6T6C
        + 開發平臺 : IAR For STM8 1.10
        + 仿真器 : ST-Link
        + 日期 : 2010-7-30
        ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
        #include "stm8s.h"

        /*******************************************************************************
        * ==啟用外部晶振函數==
        *******************************************************************************/
        voidHSE_CLK_INIT(void)
        {
        CLK_DeInit();
        CLK_HSECmd(ENABLE);
        while(SET!=CLK_GetFlagStatus(CLK_FLAG_HSERDY));
        CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1);
        CLK_ClockSwitchCmd(ENABLE);
        CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO,CLK_SOURCE_HSE,DISABLE,CLK_CURRENTCLOCKSTATE_ENABLE);
        }

        /*******************************************************************************
        * ==BEEP初始化函數==
        * BEEP_DeInit(); --> 蜂鳴器寄存器初始化
        * BEEP_Init(BEEP_FREQUENCY_1KHZ); --> 蜂鳴器震蕩頻率 1KHz
        * BEEP_LSICalibrationConfig(LSI_FREQUENCY_MAX); --> LSI 范圍為 100000 ~ 200000
        *******************************************************************************/
        voidBEEP_INIT(void)
        {
        BEEP_DeInit();
        BEEP_Init(BEEP_FREQUENCY_1KHZ);
        BEEP_LSICalibrationConfig(LSI_FREQUENCY_MAX);
        }

        /*******************************************************************************
        * ==I/O口初始化函數==
        *******************************************************************************/
        voidPORTD_INIT(void)
        {
        GPIO_DeInit(GPIOD);
        GPIO_Init(GPIOD,GPIO_PIN_0|GPIO_PIN_2|GPIO_PIN_3,GPIO_MODE_OUT_PP_LOW_SLOW);
        }

        /*******************************************************************************
        * ==延時函數==
        * 不是精確延時
        *******************************************************************************/
        voidDelay(unsignedintXms)
        {
        unsignedinti;
        while(Xms--)
        {
        i=120;
        while(i--);
        }
        }

        /*******************************************************************************
        * ==Main函數==
        * 一定要修改Option Byte AFR7選項為BEEP
        * 開啟BEEP后 系統始終運行著流水燈程序 證明蜂鳴器沒有占用系統資源
        *******************************************************************************/
        voidmain(void)
        {
        HSE_CLK_INIT();// 開啟外部時鐘
        PORTD_INIT();// 初始化端口
        BEEP_INIT();// 蜂鳴器初始化
        BEEP_Cmd(ENABLE);// 使能蜂鳴器

        while(1)
        {
        //==============流水燈==============//
        GPIO_WriteReverse(GPIOD,GPIO_PIN_0);
        Delay(2000);
        GPIO_WriteReverse(GPIOD,GPIO_PIN_2);
        Delay(2000);
        GPIO_WriteReverse(GPIOD,GPIO_PIN_3);
        Delay(2000);
        //==============流水燈==============//
        }
        }

        本文引用地址:http://www.104case.com/article/201612/325132.htm




        關鍵詞: STM8SBEE

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 舞钢市| 昭通市| 婺源县| 沿河| 五指山市| 洮南市| 昌吉市| 科技| 宁德市| 景宁| 南和县| 苍南县| 宜丰县| 永安市| 辽宁省| 威远县| 武汉市| 防城港市| 玉林市| 金湖县| 崇明县| 怀安县| 天水市| 仁怀市| 嫩江县| 丹巴县| 高安市| 永登县| 莱西市| 连山| 繁昌县| 旬邑县| 密山市| 阳新县| 保亭| 星座| 宣恩县| 罗山县| 中江县| 宜州市| 申扎县|