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)
2017-8-24 15:53 上傳
點擊文件名下載附件
|