|
實(shí)驗(yàn)軟件設(shè)計(jì)
1、外部中斷檢測急停按鍵:流程圖和程序(包括主函數(shù)中主要程序片段和中斷服務(wù)函數(shù)源文件)。
2、定時(shí)驅(qū)動(dòng) LED 提示報(bào)警閃爍:流程圖和程序(包括主函數(shù)中主要程序片段和中斷服務(wù)函數(shù)源文件)。
3、利用串口傳輸信息到 PC 機(jī):流程圖和程序(包括主函數(shù)中主要程序片段和中斷服務(wù)函數(shù)源文件)。
4、綜合各模塊功能,通過外部中斷檢測急停按鈕狀態(tài),利用串口傳輸信息到 PC 機(jī),同時(shí)實(shí)現(xiàn)警示 LED 閃爍和繼電器輸出控制;即實(shí)現(xiàn)工業(yè)急停模擬系統(tǒng)功能:
(1 )未按下緊急按鍵時(shí),將正常運(yùn)行信息通過串口發(fā)生至上位機(jī);警示 LED常亮;
(2 )當(dāng)按下緊急按鍵時(shí),警示 LED 定時(shí)閃爍;將急停信息通過串口發(fā)生至上位機(jī);并將輸出控制的繼電器切斷(可用 LED 代替)。設(shè)計(jì)流程圖和程序(包括主函數(shù)中主要程序片段和中斷服務(wù)函數(shù)源文件)
單片機(jī)源程序如下:
- /*
- STM32 開發(fā)板 庫函數(shù)部分 */
- // 中斷實(shí)驗(yàn) 通過外部中斷線 到 按鍵 PA.0 PD.2上 并配置為下降沿觸發(fā) 具體設(shè)置在exti.c中
- //按鍵按下則產(chǎn)生中斷 PA.0(S4)產(chǎn)生中斷 控制板載LED亮 PD.2(S3)產(chǎn)生中斷 控制板載LED滅
- //并且串口 也將不停的打印數(shù)據(jù) 以表示程序正在運(yùn)行
- #include "delay.h"
- #include "led.h"
- #include "key.h"
- #include "usart.h"
- #include "exti.h"
- int main(void)
- {
- delay_init(); //延時(shí)函數(shù)初始化
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設(shè)置NVIC中斷分組為組2 2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
- //一旦定義 即不要輕易改變
- uart_init(9600); //串口初始化為9600
- LED_Init(); //初始化與LED連接的硬件接口
- KEY_Init(); // 按鍵端口初始化
- EXTIX_Init(); //外部中斷初始化
-
- while(1)
- {
- printf("ELH 啟光電子\r\n");
- delay_ms(1000);
- }
- }
復(fù)制代碼
原理圖: 無
仿真: 無
代碼:
STM32F103C8T6 外部中斷程序.7z
(182.34 KB, 下載次數(shù): 16)
2023-10-20 22:21 上傳
點(diǎn)擊文件名下載附件
|
|