標題:
STM32F407跑馬燈實驗程序 DS0和DS1交替閃爍
[打印本頁]
作者:
ktye1
時間:
2017-12-4 13:52
標題:
STM32F407跑馬燈實驗程序 DS0和DS1交替閃爍
F407 跑馬燈實驗工程,好大作用
本實驗將實現(xiàn)如下功能:本實驗通過代碼控制STM32F407開發(fā)板上的兩個LED:DS0和DS1交替閃爍,實現(xiàn)類似跑馬燈的效果。
單片機源程序如下:
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
//跑馬燈實驗 -庫函數(shù)版本
//STM32F4工程-庫函數(shù)版本
int main(void)
{
delay_init(168); //初始化延時函數(shù)
LED_Init(); //初始化LED端口
/**下面是通過直接操作庫函數(shù)的方式實現(xiàn)IO控制**/
while(1)
{
GPIO_ResetBits(GPIOF,GPIO_Pin_9); //LED0對應引腳GPIOF.9拉低,亮 等同LED0=0;
GPIO_SetBits(GPIOF,GPIO_Pin_10); //LED1對應引腳GPIOF.10拉高,滅 等同LED1=1;
delay_ms(500); //延時300ms
GPIO_SetBits(GPIOF,GPIO_Pin_9); //LED0對應引腳GPIOF.0拉高,滅 等同LED0=1;
GPIO_ResetBits(GPIOF,GPIO_Pin_10); //LED1對應引腳GPIOF.10拉低,亮 等同LED1=0;
delay_ms(500); //延時300ms
}
}
/**
*******************下面注釋掉的代碼是通過 位帶 操作實現(xiàn)IO口控制**************************************
int main(void)
{
delay_init(168); //初始化延時函數(shù)
LED_Init(); //初始化LED端口
while(1)
{
LED0=0; //LED0亮
LED1=1; //LED1滅
delay_ms(500);
LED0=1; //LED0滅
LED1=0; //LED1亮
delay_ms(500);
}
}
**************************************************************************************************
**/
/**
*******************下面注釋掉的代碼是通過 直接操作寄存器 方式實現(xiàn)IO口控制**************************************
int main(void)
{
delay_init(168); //初始化延時函數(shù)
LED_Init(); //初始化LED端口
while(1)
{
GPIOF->BSRRH=GPIO_Pin_9;//LED0亮
GPIOF->BSRRL=GPIO_Pin_10;//LED1滅
delay_ms(500);
GPIOF->BSRRL=GPIO_Pin_9;//LED0滅
GPIOF->BSRRH=GPIO_Pin_10;//LED1亮
delay_ms(500);
}
}
**************************************************************************************************
**/
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
//跑馬燈實驗 -庫函數(shù)版本
//STM32F4工程-庫函數(shù)版本
//淘寶店鋪:http://mcudev.taobao.com
int main(void)
{
delay_init(168); //初始化延時函數(shù)
LED_Init(); //初始化LED端口
/**下面是通過直接操作庫函數(shù)的方式實現(xiàn)IO控制**/
while(1)
{
GPIO_ResetBits(GPIOF,GPIO_Pin_9); //LED0對應引腳GPIOF.9拉低,亮 等同LED0=0;
GPIO_SetBits(GPIOF,GPIO_Pin_10); //LED1對應引腳GPIOF.10拉高,滅 等同LED1=1;
delay_ms(500); //延時300ms
GPIO_SetBits(GPIOF,GPIO_Pin_9); //LED0對應引腳GPIOF.0拉高,滅 等同LED0=1;
GPIO_ResetBits(GPIOF,GPIO_Pin_10); //LED1對應引腳GPIOF.10拉低,亮 等同LED1=0;
delay_ms(500); //延時300ms
}
}
/**
*******************下面注釋掉的代碼是通過 位帶 操作實現(xiàn)IO口控制**************************************
int main(void)
{
delay_init(168); //初始化延時函數(shù)
LED_Init(); //初始化LED端口
while(1)
{
LED0=0; //LED0亮
LED1=1; //LED1滅
delay_ms(500);
LED0=1; //LED0滅
LED1=0; //LED1亮
delay_ms(500);
}
}
**************************************************************************************************
**/
/**
*******************下面注釋掉的代碼是通過 直接操作寄存器 方式實現(xiàn)IO口控制**************************************
int main(void)
{
delay_init(168); //初始化延時函數(shù)
LED_Init(); //初始化LED端口
while(1)
{
GPIOF->BSRRH=GPIO_Pin_9;//LED0亮
GPIOF->BSRRL=GPIO_Pin_10;//LED1滅
delay_ms(500);
GPIOF->BSRRL=GPIO_Pin_9;//LED0滅
GPIOF->BSRRH=GPIO_Pin_10;//LED1亮
delay_ms(500);
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
F407 跑馬燈實驗.rar
(506.11 KB, 下載次數(shù): 24)
2017-12-4 13:42 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1