|
PB8-PB15分別控制一個LED燈,循環顯示形成流水燈- /**
- ******************************************************************************
- * @file Main/main.c
- * @author Foron
- * @version V1.0
- * @date 2016.08.14
- * @brief 主函數文件
- */
- /* Includes ------------------------------------------------------------------*/
- #include "stm32f10x.h"
- /* define 宏定義------------------------------------------------------------*/
- #define LED_1_ON GPIO_SetBits(GPIOB,GPIO_Pin_8)
- #define LED_1_OFF GPIO_ResetBits(GPIOB,GPIO_Pin_8)
- #define LED_2_ON GPIO_SetBits(GPIOB,GPIO_Pin_9)
- #define LED_2_OFF GPIO_ResetBits(GPIOB,GPIO_Pin_9)
- #define LED_3_ON GPIO_SetBits(GPIOB,GPIO_Pin_10)
- #define LED_3_OFF GPIO_ResetBits(GPIOB,GPIO_Pin_10)
- #define LED_4_ON GPIO_SetBits(GPIOB,GPIO_Pin_11)
- #define LED_4_OFF GPIO_ResetBits(GPIOB,GPIO_Pin_11)
- #define LED_5_ON GPIO_SetBits(GPIOB,GPIO_Pin_12)
- #define LED_5_OFF GPIO_ResetBits(GPIOB,GPIO_Pin_12)
- #define LED_6_ON GPIO_SetBits(GPIOB,GPIO_Pin_13)
- #define LED_6_OFF GPIO_ResetBits(GPIOB,GPIO_Pin_13)
- #define LED_7_ON GPIO_SetBits(GPIOB,GPIO_Pin_14)
- #define LED_7_OFF GPIO_ResetBits(GPIOB,GPIO_Pin_14)
- #define LED_8_ON GPIO_SetBits(GPIOB,GPIO_Pin_15)
- #define LED_8_OFF GPIO_ResetBits(GPIOB,GPIO_Pin_15)
- /**
- * @brief 延時函數
- * @param val:值越大 延時越長
- * @retval 無
- */
- void delay(int time)
- {
- int i;
- for(;time>0;time--)
- for(i=1000;i>0;i--);
- }
- /**
- * @brief LED初始化函數
- * @param val:值越大 延時越長
- * @retval 無
- */
- void LED_Init(void)
- {
- /* 定義一個GPIO_InitTypeDef類型的結構體 */
- GPIO_InitTypeDef GPIO_InitStructure;
- /* 開啟GPIOB、GPIOB和GPIOE的外設時鐘 */
- RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE);
- /* 設置引腳模式為通用推挽輸出 */
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
- /* 設置引腳速率為50MHz */
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
-
- /* 選擇要控制的GPIOB引腳 */
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
- /* 調用庫函數,初始化GPIOB8引腳 */
- GPIO_Init(GPIOB, &GPIO_InitStructure);
-
- /* 選擇要控制的GPIOB引腳 */
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
- /* 調用庫函數,初始化GPIOB9引腳 */
- GPIO_Init(GPIOB, &GPIO_InitStructure);
-
- /* 選擇要控制的GPIOB引腳 */
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
- /* 調用庫函數,初始化GPIOB10引腳 */
- GPIO_Init(GPIOB, &GPIO_InitStructure);
-
- /* 選擇要控制的GPIOB引腳 */
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
- /* 調用庫函數,初始化GPIOB11引腳 */
- GPIO_Init(GPIOB, &GPIO_InitStructure);
-
- /* 選擇要控制的GPIOB引腳 */
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
- /* 調用庫函數,初始化GPIOB12引腳 */
- GPIO_Init(GPIOB, &GPIO_InitStructure);
-
- /* 選擇要控制的GPIOB引腳 */
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
- /* 調用庫函數,初始化GPIOB13引腳 */
- GPIO_Init(GPIOB, &GPIO_InitStructure);
-
- /* 選擇要控制的GPIOB引腳 */
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14;
- /* 調用庫函數,初始化GPIOB14引腳 */
- GPIO_Init(GPIOB, &GPIO_InitStructure);
-
- /* 選擇要控制的GPIOB引腳 */
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;
- /* 調用庫函數,初始化GPIOB15引腳 */
- GPIO_Init(GPIOB, &GPIO_InitStructure);
-
- /* GPIOB5輸出低電平,關閉LED1 */
- GPIO_ResetBits(GPIOB, GPIO_Pin_8);
- /* GPIOB5輸出低電平,關閉LED2 */
- GPIO_ResetBits(GPIOB, GPIO_Pin_9);
- /* GPIOB5輸出低電平,關閉LED3 */
- GPIO_ResetBits(GPIOB, GPIO_Pin_10);
- /* GPIOB5輸出低電平,關閉LED4 */
- GPIO_ResetBits(GPIOB, GPIO_Pin_11);
- /* GPIOB5輸出低電平,關閉LED5 */
- GPIO_ResetBits(GPIOB, GPIO_Pin_12);
- /* GPIOB5輸出低電平,關閉LED6 */
- GPIO_ResetBits(GPIOB, GPIO_Pin_13);
- /* GPIOB5輸出低電平,關閉LED7 */
- GPIO_ResetBits(GPIOB, GPIO_Pin_14);
- /* GPIOB5輸出低電平,關閉LED8 */
- GPIO_ResetBits(GPIOB, GPIO_Pin_15);
-
-
- }
- /**
- * @brief 主函數
- * @param 無
- * @retval 無
- */
- int main(void)
- {
- LED_Init();
- while(1)
- {
- LED_1_ON;
- delay(10000);
- LED_1_OFF;
-
- LED_2_ON;
- delay(10000);
- LED_2_OFF;
-
- LED_3_ON;
- delay(10000);
- LED_3_OFF;
-
- LED_4_ON;
- delay(10000);
- LED_4_OFF;
-
- LED_5_ON;
- delay(10000);
- LED_5_OFF;
-
- LED_6_ON;
- delay(10000);
- LED_6_OFF;
-
- LED_7_ON;
- delay(10000);
- LED_7_OFF;
-
- LED_8_ON;
- delay(10000);
- LED_8_OFF;
- delay(10000);
- // GPIOA->BRR |=(1<<5)|(1<<6);
- }
- }
復制代碼
|
-
所用引腳.png
(46.46 KB, 下載次數: 59)
下載附件
2016-8-17 07:54 上傳
所用的引腳
-
-
STM32f103C8-流水燈.zip
2016-8-17 07:52 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
1.44 MB, 下載次數: 39, 下載積分: 黑幣 -5
源程序
評分
-
查看全部評分
|