適合stm8初學者
流水燈控制
源程序
單片機源程序如下:
- /* 添加庫函數頭文件 */
- #include "stm8s.h"
- #define LED1_ON() GPIO_WriteLow(GPIOD , GPIO_PIN_2) //LED1亮
- #define LED2_ON() GPIO_WriteLow(GPIOC , GPIO_PIN_7) //LED2亮
- #define LED3_ON() GPIO_WriteLow(GPIOC , GPIO_PIN_6) //LED3亮
- #define LED4_ON() GPIO_WriteLow(GPIOC , GPIO_PIN_3) //LED4亮
- #define LED1_OFF() GPIO_WriteHigh(GPIOD , GPIO_PIN_2) //LED1滅
- #define LED2_OFF() GPIO_WriteHigh(GPIOC , GPIO_PIN_7) //LED2滅
- #define LED3_OFF() GPIO_WriteHigh(GPIOC , GPIO_PIN_6) //LED3滅
- #define LED4_OFF() GPIO_WriteHigh(GPIOC , GPIO_PIN_3) //LED4滅
- /*******************************************************************************
- **函數名稱:void delay(unsigned int ms) Name: void delay(unsigned int ms)
- **功能描述:大概延時
- **入口參數:unsigned int ms 輸入大概延時數值
- **輸出:無
- *******************************************************************************/
- void delay(unsigned int ms)
- {
- unsigned int x , y;
- for(x = ms; x > 0; x--) /* 通過一定周期循環進行延時*/
- for(y = 3000 ; y > 0 ; y--);
- }
- /*******************************************************************************
- **函數名稱:void InitLED()
- **功能描述:初始化LED函數
- **入口參數:無
- **輸出:無
- *******************************************************************************/
- void InitLED()
- {
- //設置PD2為快速推挽輸出 ,LED1
- GPIO_Init(GPIOD , GPIO_PIN_2 , GPIO_MODE_OUT_PP_LOW_FAST);
-
- //設置PC7為快速推挽輸出 ,LED2
- GPIO_Init(GPIOC , GPIO_PIN_7 , GPIO_MODE_OUT_PP_LOW_FAST);
-
- //設置PC6為快速推挽輸出 ,LED3
- GPIO_Init(GPIOC , GPIO_PIN_6 , GPIO_MODE_OUT_PP_LOW_FAST);
-
- //設置PC3為快速推挽輸出 ,LED4
- GPIO_Init(GPIOC , GPIO_PIN_3 , GPIO_MODE_OUT_PP_LOW_FAST);
- }
- /* 主函數 */
- int main(void)
- {
- //內部時鐘為1分頻 = 16Mhz
- CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV1);
- InitLED(); //調用LED初始化函數
- while(1)
- {
- LED1_ON(); //點亮LED1
- LED2_ON(); //點亮LED2
- LED3_ON(); //點亮LED3
- LED4_ON(); //點亮LED4
- delay(1000); //空跑大概延時
- LED1_OFF(); //點滅LED1
- LED2_OFF(); //點滅LED2
- LED3_OFF(); //點滅LED3
- LED4_OFF(); //點滅LED4
- delay(1000); //空跑大概延時
- }
- }
復制代碼
所有資料51hei提供下載:
iar工程.7z
(264.06 KB, 下載次數: 30)
2022-12-16 04:49 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|