|
STM32聲光報警器有仿真圖和程序
仿真無反應
- #include "led.h"
- #include "beep.h"
- #include "exti.h"
- #include "delay.h"
- int main(void)
- {
- Stm32_Clock_Init(9);//系統時鐘設置 72Mhz
- delay_init(72);//延時初始化
- LED_Init(); //初始化與LED連接的硬件接口
- BEEP_Init();//喇叭初始化
- EXTIX_Init();//中斷初始化
- while(1);
- }
復制代碼- #include "exti.h"
- #include "led.h"
- #include "beep.h"
- #include "key.h"
- #include "delay.h"
- #include "usart.h"
- //外部中斷初始化函數
- void EXTIX_Init(void)
- {
-
- KEY_Init();//初始化按鍵對應io模式
- Ex_NVIC_Config(GPIO_C,8,FTIR); //下降沿觸發
- Ex_NVIC_Config(GPIO_C,9,FTIR); //下降沿觸發
- MY_NVIC_Init(2,1,EXTI9_5_IRQn,2); //搶占2,子優先級1,組2 對應PC8,PC9
-
- }
- //外部中斷5_9服務中斷程序 pc8,pc9
- void EXTI9_5_IRQHandler(void)
- {
- u8 count;
- //delay_ms(10); //消抖
-
- if(KEY0==0) //KEY0按鍵
- {
- for(count=5;count>0;count--){
- //輸出1Khz的音頻信號
- BEEP=0;
- LED0=0;
- delay_us(500);
- BEEP=1;
- LED0=1;
- delay_us(500);
- }
-
- for(count=5;count>0;count--){
- //輸出500hz的音頻信號
- BEEP=0;
- LED0=0;
- delay_ms(1);
- BEEP=1;
- LED0=1;
- delay_ms(1);
- }
- }
- if(KEY1==0) //KEY1按鍵
- {
- LED0=1;
- BEEP=1;
- }
- EXTI->PR=1<<8; //清除LINE8上的中斷標志位
- EXTI->PR=1<<9; //清除LINE9上的中斷標志位
- }
復制代碼
|
-
-
聲光報警器.7z
2020-11-5 17:24 上傳
點擊文件名下載附件
201.04 KB, 下載次數: 14
|