單片機用正點原子stm32F103ZET6,驅動模塊用L298N,利用外部中斷按鍵控制電機轉動。如有疑問,請留言。
實驗目的:
學習外部中斷的使用
硬件資源:
1,DS0(連接在PB5),DS1(連接在PE5)
2,蜂鳴器(連接在PB8)
3,按鍵KEY0(PE4)/KEY1(PE3)/KEY_UP(PA0,也稱之為WK_UP)
實驗現象:
本實驗,利用外部中斷,實現與實驗3類似的效果,即:通過開發板上載有的3個按鈕(KEY_UP、KEY0和KEY1),來控制板上的2個LED(DS0和DS1)和蜂鳴器,其中WK_UP控制蜂鳴器,按一次叫,再按一次停;KEY1控制DS1,按一次DS1亮,再按一次DS1滅;KEY0則同時控制DS0和DS1,按一次,他們的狀態就翻轉一次。
單片機源程序如下:
- #include "led.h"
- #include "delay.h"
- #include "key.h"
- #include "sys.h"
- #include "usart.h"
- #include "exti.h"
- #include "beep.h"
- #include "motor.h"
-
- int main(void)
- {
-
- delay_init(); //延時函數初始化
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設置NVIC中斷分組2:2位搶占優先級,2位響應優先級
- uart_init(115200); //串口初始化為115200
- LED_Init(); //初始化與LED連接的硬件接口
- BEEP_Init(); //初始化蜂鳴器IO
- EXTIX_Init(); //初始化外部中斷輸入
- Motor_12_Config();
- LED0=0; //先點亮紅燈
- while(1)
- {
- printf("OK\r\n");
- delay_ms(1000);
- }
- }
復制代碼
所有資料51hei提供下載:
實驗5 外部中斷實驗.rar
(281.52 KB, 下載次數: 47)
2018-11-21 17:08 上傳
點擊文件名下載附件
motor.和motor.h和cexit.c 下載積分: 黑幣 -5
|