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

 找回密碼
 注冊
搜索

STM32控制4個LED燈循環點亮源程序和Proteus仿真

[復制鏈接]
樓主
路漫漫 發表于 2020-6-17 01:18:13 | 只看該作者 |只看大圖 |倒序瀏覽 |閱讀模式
源碼和仿真文件.7z (191.99 KB, 售價: 1 E幣)

STM32控制4個LED燈循環點亮源程序和Proteus仿真 1.png
電路原理圖如下:
STM32控制4個LED燈循環點亮源程序和Proteus仿真 132019vc64zdm9zf80966l.png

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

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

  28. void Delay(unsigned int count)                                                  //延時函數
  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依次點亮        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口寫點亮LED的控制碼
  56.                         Delay(20);
  57.                         LED>>=1;        //上一個控制碼左移一位,獲得下一個控制碼
  58.             }
  59.             Delay(20);
  60.         }
  61. }
復制代碼

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規則

手機版|小黑屋|ELEOK |網站地圖

GMT+8, 2026-5-26 04:55

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回復 返回頂部 返回列表