国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee

ELEOK

標(biāo)題: STM32控制4個(gè)LED燈循環(huán)點(diǎn)亮源程序和Proteus仿真 [打印本頁(yè)]

作者: 路漫漫    時(shí)間: 2020-6-17 01:18
標(biāo)題: STM32控制4個(gè)LED燈循環(huán)點(diǎn)亮源程序和Proteus仿真
源碼和仿真文件.7z (191.99 KB, 售價(jià): 1 E幣)


電路原理圖如下:


部分源碼:
  1. void Delay(unsigned int count);                                                  //延時(shí)函數(shù)

  2. //int main(void)
  3. //{                 
  4. //      
  5. //        LED_Init();         //初始化與LED連接的硬件接口
  6. //    while(1)
  7. //        {
  8. //           u32 LED=0x00000001;//設(shè)置初始控制碼      
  9. //           //逐一點(diǎn)亮
  10. //           for(u8 i=0;i<4;i++)
  11. //           {
  12. //                        GPIOC->ODR&=~LED;        //向GPIOC口寫(xiě)點(diǎn)亮LED的控制碼
  13. //                        Delay(30);
  14. //                        LED<<=1;        //上一個(gè)控制碼左移一位,獲得下一個(gè)控制碼
  15. //            }
  16. //        Delay(30);
  17. //                LED>>=1;
  18. //           // 逐一熄滅
  19. //           for(u8 j=0;j<4;j++)
  20. //           {
  21. //                        GPIOC->ODR|=LED;        //向GPIOC口寫(xiě)點(diǎn)亮LED的控制碼
  22. //                        Delay(30);
  23. //                        LED>>=1;        //上一個(gè)控制碼左移一位,獲得下一個(gè)控制碼
  24. //            }
  25. //            Delay(30);
  26. //        }
  27. //}

  28. void Delay(unsigned int count)                                                  //延時(shí)函數(shù)
  29. {
  30.         unsigned int i;
  31.         for(;count!=0;count--)
  32.         {
  33.                 i=5000;
  34.                 while(i--);
  35.         }      
  36. }


  37. int main(void){
  38.     LED_Init();         //初始化與LED連接的硬件接口
  39.     u8 LED=0X00;
  40.         while(1){
  41.                 for(u8 i=0;i<4;i++)
  42.                 {
  43.                         LED++;        //00000001   00000011
  44.                         GPIOC->BRR = LED;//pc0=0 PC1=0
  45.                         Delay(20);
  46.                         LED<<=1;//LED依次點(diǎn)亮        00000010
  47.                 }
  48.                 LED++;      
  49.                 GPIOC->BRR = LED;
  50.                 Delay(20);
  51.                 LED=0XF8;
  52.            // 逐一熄滅
  53.            for(u8 j=0;j<4;j++)
  54.            {
  55.                         GPIOC->BSRR=LED;        //向GPIOC口寫(xiě)點(diǎn)亮LED的控制碼
  56.                         Delay(20);
  57.                         LED>>=1;        //上一個(gè)控制碼左移一位,獲得下一個(gè)控制碼
  58.             }
  59.             Delay(20);
  60.         }
  61. }
復(fù)制代碼






歡迎光臨 ELEOK (http://m.afoofa.cn/) Powered by Discuz! X5.0