久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2529|回復: 1
收起左側

STC15W104單片機領航燈制作 附程序

[復制鏈接]
ID:1081016 發表于 2023-8-3 01:05 | 顯示全部樓層 |閱讀模式
(原創設計)使用STC15W104單片機實現領航燈效果,已修改到v1.5版本。
1、效果;行車時正常運行,LED隔一秒閃2次,當踩下剎車時LED一秒閃5次(閃爍頻率逐漸加快)。
2、適用領域;汽車、電動車、摩托車等!3、注意!注意!注意!本電路設計僅限于電子DIY研究討論。

電路原理圖如下:
屏幕截圖 2023-08-03 010756.png
屏幕截圖 2023-08-03 010900.png

單片機源程序如下:
  1. #include <reg51.h>
  2. #include <intrins.h>

  3. sbit LED = P3^5; // LED連接在P3.5
  4. sbit KEY1 = P3^3; // 外部中斷0按鍵連接在P3.3
  5. sbit KEY2 = P3^3; // 外部中斷1按鍵連接在P3.5

  6. //*********延時函數***********//
  7. void delay(unsigned int a )
  8. {
  9.     unsigned int i;
  10.     while (--a !=0)
  11.     {
  12.      for (i=0; i<=600; i++);
  13.     }
  14. }
  15. //*********主程序***********//
  16. void main()
  17. {
  18.     IT0 = 0; // 設置外部中斷0觸發方式為下降沿觸發
  19.     EX0 = 1; // 使能外部中斷0
  20.     IT1 = 0; // 設置外部中斷1觸發方式為下降沿觸發
  21.     EX1 = 1; // 使能外部中斷1

  22.     EA = 1; // 使能總中斷

  23.     while(1)
  24.     {
  25.         if(KEY1 == 0) // 當按鍵1按下時
  26.         {
  27.             delay(10); // 去抖
  28.             if(KEY1 == 0)
  29.             {
  30.                         LED = 1; // LED亮
  31.                         delay(60);
  32.                         LED = 0; // LED滅
  33.                         delay(60);
  34.                         LED = 1; // LED亮
  35.                         delay(40);
  36.                         LED = 0; // LED滅
  37.                         delay(40);
  38.                         LED = 1; // LED亮
  39.                         delay(30);
  40.                         LED = 0; // LED滅
  41.                         delay(30);
  42.                         LED = 1; // LED亮
  43.                         delay(20);
  44.                         LED = 0; // LED滅
  45.                         delay(520);        //延時
  46.             }
  47.                         else
  48.                         {
  49.                          delay(10);        //延時
  50.                          return; //返回主程序
  51.                         }
  52.         }

  53.         if(KEY2 == 1) // 當按鍵2按下時
  54.         {
  55.             delay(10); // 去抖
  56.             if(KEY2 == 1)
  57.             {
  58.                         LED = 1; // LED亮
  59.                         delay(80);
  60.                         LED = 0; // LED滅
  61.                         delay(160);
  62.                         LED = 1; // LED亮
  63.                         delay(80);
  64.                         LED = 0; // LED滅
  65.                         delay(1600); //延時
  66.             }
  67.                         else
  68.                         {
  69.                         delay(10); //延時
  70.                         return; //返回主程序
  71.                         }
  72.         }
  73.     }
  74. }

  75. // 外部中斷0服務程序
  76. void exint0_isr() interrupt 0
  77. {
  78.     //LED = 0; // LED熄滅
  79. }

  80. // 外部中斷1服務程序
  81. void exint1_isr() interrupt 2
  82. {
  83.     //LED = 1; // LED常亮
  84.         while(1)
  85.     {
  86.         if(KEY1 == 0)
  87.                 {
  88.                 LED = 1; // LED亮
  89.                 delay(60);
  90.                 LED = 0; // LED滅
  91.                 delay(60);
  92.                 LED = 1; // LED亮
  93.                 delay(40);
  94.                 LED = 0; // LED滅
  95.                 delay(40);
  96.                 LED = 1; // LED亮
  97.                 delay(30);
  98.                 LED = 0; // LED滅
  99.                 delay(30);
  100.                 LED = 1; // LED亮
  101.                 delay(20);
  102.                 LED = 0; // LED滅
  103.                 delay(520);        //延時
  104.         }
  105.                 else
  106.                 {
  107.                 delay(10); //延時
  108.                 return; //返回主程序
  109.                 }      
  110.         }
  111. }
復制代碼

視頻演示;https://www.bilibili.com/video/BV1Ma4y1w7YG/?spm_id_from=333.999.0.0&vd_source=7c41c74f2ce7d06eff98e5d460711c5e

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:161164 發表于 2023-8-3 12:00 | 顯示全部樓層
???
在中斷里用while(1)而且重復了主函數的代碼?
回復

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产一级视屏 | 91精品中文字幕一区二区三区 | 色.com| 毛片国产 | 先锋资源在线 | 国产精品成人一区二区三区夜夜夜 | 亚洲视频中文字幕 | 亚洲国产精品久久久久久 | 影音先锋中文字幕在线观看 | 中文字字幕一区二区三区四区五区 | 日韩中文字幕一区 | 亚洲欧美中文日韩在线v日本 | 95国产精品 | 日韩国产一区二区三区 | 久久久国产一区二区三区 | 日日噜噜噜夜夜爽爽狠狠视频, | 国产精品中文在线 | 日韩精品 电影一区 亚洲 | 99色在线视频 | 黄色免费在线观看 | 不卡在线一区 | 一道本不卡视频 | 拍拍无遮挡人做人爱视频免费观看 | 亚洲精品视频导航 | 中文字幕 国产精品 | 久久久久久国产精品 | 一区二区免费 | 99久久精品免费看国产小宝寻花 | 日本免费一区二区三区四区 | 国产一级特黄视频 | 日韩一区二区三区av | 99精品99| 欧美区在线观看 | 欧美精品第一页 | 美女黄网 | 欧美日本一区 | 精品久久久久久久久久久久 | 欧美日韩不卡 | 深夜福利亚洲 | 欧美aⅴ| 亚洲视频中文字幕 |