因为STM32程序太多,所以展示的程序只是main.c的程序,如果你需要修改程序所实现的功能也是在main.c程序里面改(需要实现的把前面的双斜杠去掉,不需要的加上双斜杠就是)。32端口自己去看程序就可以了。
单片机源程序如下:
- #include "sys.h"
- #include "delay.h"
- #include "usart.h"
- #include "led.h"
- #include "KEY.H"
- #include "HC595.H"
- #include "bell.h"
- #include "exti.h"
- #include "LED_Task.h"
- #include "KEY_Task.h"
- #include "HC595_Task.h"
- #include "UART_Task.h"
- #include "EXTI_Task.h"
- #include "timer.h"
- #include "Timer_Task.h"
- #include "WDG_Task.h"
- int main(void)
- {
- Delay_SysTick_Init(72); //延时函数初始化
- LED_Init(); //LED初始化
- KEY_Init(); //按键初始化
- HC595_Init();
- BELL_Init();
- UART1_Init(115200);
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
-
- while(1)
- {
- //LED_Task1_1(); //单只LED闪烁(位带操作,ODR寄存器)
- //LED_Task1_2(); //单只LED闪烁(操作BRR、BSRR寄存器)
- //LED_Task1_3(); //单只LED闪烁(操作库函数)
-
- LED_Task2(); //八位LED从左到右依次点亮
- //LED_Task3(); //八位LED从左到右依次点亮,然后从右到左依次点亮,往复循环
- //LED_Task4(); //八位LED二进制方式数值指示器
- //KEY_Task1_1(); //按键状态指示,(1)采用switch语句
- //KEY_Task1_2(); //按键状态指示,(2)采用if语句
- //KEY_Task2_1(); //八位二进制计数器
-
- //HC595_Task1(); //数码管闪烁
- //HC595_Task2(); //2位秒表(软件延时)
- //HC595_Task3(); //显示学号
- //HC595_Task4(); //两只数码管显示0-99,按键控制
- //HC595_Task5(); //数码管交替显示0-3位小数
-
- //HC595_Task6_1(); //4位秒表,分辨率0.1S,带按键启动、暂停、清零控制
- //HC595_Task6_2(); //4位秒表,分辨率0.01S,带按键启动、暂停、清零控制。每隔1S蜂鸣器蜂鸣
- // UART_Task1_1(); //串口数据回传(立即回传)
- //UART_Task1_2(); //串口数据回传(协议回传)
-
- //UART_Task2(); //发送按键状态至上位机(printf函数)
-
- //UART_Task3_1(); //发送秒表计时至上位机(1S精度)
- //UART_Task3_2(); //发送秒表计时至上位机(0.1S精度,带按键控制)
-
- //UART_Task4_1(); //上位机发送指令控制单只数码管显示(1位定长)
- //UART_Task4_2(); //上位机发送指令控制四只数码管显示(4位定长)
- //UART_Task4_3(); //上位机发送指令控制四只数码管显示(任意长度)
-
- //UART_Task5(); //上位机通过指令控制LED灯闪烁
-
- //EXTI_Task1(); //按键点亮LED(中断方式)
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
STM32开发板多种例程.rar
(3.83 MB, 下载次数: 41)
|