標(biāo)題: stm8 GPIO輸出芯片流水燈控制源程序 IAR寫的 [打印本頁(yè)]

作者: 小馬駒    時(shí)間: 2018-4-2 16:15
標(biāo)題: stm8 GPIO輸出芯片流水燈控制源程序 IAR寫的
適合stm8初學(xué)者  
流水燈控制
源程序   

單片機(jī)源程序如下:
  1. /*  添加庫(kù)函數(shù)頭文件 */
  2. #include "stm8s.h"


  3. #define     LED1_ON()       GPIO_WriteLow(GPIOD , GPIO_PIN_2) //LED1亮
  4. #define     LED2_ON()       GPIO_WriteLow(GPIOC , GPIO_PIN_7) //LED2亮
  5. #define     LED3_ON()       GPIO_WriteLow(GPIOC , GPIO_PIN_6) //LED3亮
  6. #define     LED4_ON()       GPIO_WriteLow(GPIOC , GPIO_PIN_3) //LED4亮

  7. #define     LED1_OFF()      GPIO_WriteHigh(GPIOD , GPIO_PIN_2) //LED1滅
  8. #define     LED2_OFF()      GPIO_WriteHigh(GPIOC , GPIO_PIN_7) //LED2滅
  9. #define     LED3_OFF()      GPIO_WriteHigh(GPIOC , GPIO_PIN_6) //LED3滅
  10. #define     LED4_OFF()      GPIO_WriteHigh(GPIOC , GPIO_PIN_3) //LED4滅


  11. /*******************************************************************************
  12. **函數(shù)名稱:void delay(unsigned int ms)     Name: void delay(unsigned int ms)
  13. **功能描述:大概延時(shí)
  14. **入口參數(shù):unsigned int ms   輸入大概延時(shí)數(shù)值
  15. **輸出:無(wú)
  16. *******************************************************************************/
  17. void delay(unsigned int ms)
  18. {
  19.   unsigned int x , y;
  20.   for(x = ms; x > 0; x--)           /*  通過(guò)一定周期循環(huán)進(jìn)行延時(shí)*/
  21.     for(y = 3000 ; y > 0 ; y--);
  22. }

  23. /*******************************************************************************
  24. **函數(shù)名稱:void InitLED()
  25. **功能描述:初始化LED函數(shù)
  26. **入口參數(shù):無(wú)
  27. **輸出:無(wú)
  28. *******************************************************************************/
  29. void InitLED()
  30. {
  31.   //設(shè)置PD2為快速推挽輸出 ,LED1
  32.   GPIO_Init(GPIOD , GPIO_PIN_2 , GPIO_MODE_OUT_PP_LOW_FAST);  

  33.   //設(shè)置PC7為快速推挽輸出 ,LED2
  34.   GPIO_Init(GPIOC , GPIO_PIN_7 , GPIO_MODE_OUT_PP_LOW_FAST);  
  35.   
  36.   //設(shè)置PC6為快速推挽輸出 ,LED3
  37.   GPIO_Init(GPIOC , GPIO_PIN_6 , GPIO_MODE_OUT_PP_LOW_FAST);  
  38.   
  39.   //設(shè)置PC3為快速推挽輸出 ,LED4
  40.   GPIO_Init(GPIOC , GPIO_PIN_3 , GPIO_MODE_OUT_PP_LOW_FAST);

  41. }

  42. /* 主函數(shù) */
  43. int main(void)
  44. {
  45.   //內(nèi)部時(shí)鐘為1分頻 = 16Mhz
  46.   CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV1);
  47.   InitLED();              //調(diào)用LED初始化函數(shù)
  48.   while(1)
  49.   {
  50.      LED1_ON();     //點(diǎn)亮LED1
  51.      LED2_ON();     //點(diǎn)亮LED2
  52.      LED3_ON();     //點(diǎn)亮LED3
  53.      LED4_ON();     //點(diǎn)亮LED4
  54.      delay(1000);   //空跑大概延時(shí)
  55.      LED1_OFF();    //點(diǎn)滅LED1
  56.      LED2_OFF();    //點(diǎn)滅LED2
  57.      LED3_OFF();    //點(diǎn)滅LED3
  58.      LED4_OFF();    //點(diǎn)滅LED4
  59.      delay(1000);   //空跑大概延時(shí)
  60.   }
  61. }
復(fù)制代碼

所有資料51hei提供下載:
iar工程.7z (264.06 KB, 下載次數(shù): 30)







歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1