STM32之流水灯。
◆实验目的:
学习GPIO作为输出的使用
◆硬件资源:
1,LED PB口(0~15)
◆实验现象:
本实验通过代码控制STM32开发板上的16个LED左移/右移闪烁,实现流水灯的效果。
STM32单片机源程序如下:
- #include "sys.h"
- #include "delay.h"
- #include "usart.h"
- #include "led.h"
-
-
-
- //*******************下面注释掉的代码是通过 直接操作寄存器 方式实现IO口控制**************************************
- int main(void)
- {
- u8 i;
- delay_init(); //初始化延时函数
- LED_Init(); //初始化LED端口
- while(1)
- {
- GPIOB->BSRR=GPIO_Pin_All;//LED0灭
- for(i=0;i<17;i++)
- {
-
- delay_ms(100);
- GPIOB->BRR=(GPIO_Pin_0<<i);//LED左移1位
- }
- GPIOB->BSRR=GPIO_Pin_All;//LED0灭
- for(i=0;i<17;i++)
- {
-
- delay_ms(100);
- GPIOB->BRR=(GPIO_Pin_15>>i);//LED0右移1位
- }
-
-
- }
- }
- //**************************************************************************************************
复制代码
所有资料51hei提供下载:
LED左移右移.rar
(1.98 MB, 下载次数: 81)
|