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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 17650|回復(fù): 39
收起左側(cè)

DIY單片機(jī)延時插座(STC15F104W+TM1637)支持延時斷電和延時上電 源程序

  [復(fù)制鏈接]
ID:702386 發(fā)表于 2021-1-24 20:54 | 顯示全部樓層 |閱讀模式
大家好。今天我要分享的是一款DIY延時插座。延時插座并不是新東西,壇子里好幾位前輩分享過類似制作。正是因為看到他們的作品,我才忍不住自己也做一個,這樣才能真正鍛煉自已。先上制作出來的成品圖如下:
成品.jpg


功能:
* 可選擇延時斷電或延時上電工作方式,在開機(jī)前操作黑色的小開關(guān)進(jìn)行設(shè)置。
* 定時時間可設(shè)置范圍:1分鐘~99小時59分鐘。
* 短按按鍵1分鐘加1,長按按鍵1小時加1 ,在停止和啟動狀態(tài)下均可調(diào)整時間。
* 短按按鍵2啟動定時,長按按鍵2復(fù)位。
* 使用繼電器控制插座輸出,250V電壓下額定電流10A,建議實際使用不超過1kW。

為方便快速制作,本設(shè)計選用模塊化零部件,主要模塊包括單片機(jī)STC15F104W、220V轉(zhuǎn)5V電源模塊、TM1637四位時鐘數(shù)碼管模塊、繼電器模塊等。全部材料均可在網(wǎng)上采購,總材料費用30元左右(含盒子和電源線)。

接線圖:
接線圖.png


實物內(nèi)部結(jié)構(gòu):
內(nèi)部接線.jpg


分享經(jīng)驗:
* STC15F104W是一款非常方便實用的小單片機(jī),8個腳的芯片除Vcc和Gnd外6個腳全是IO口,無須外部晶振和復(fù)位,供個電就能直接使用,實用是搞小制作的絕佳選擇。
* TM1637數(shù)碼管模塊使用I2C通信,只占用兩個IO口就行,而且程序非常簡單,再也不用考慮常規(guī)數(shù)碼管的刷新和消隱什么的。加載封裝好的頭文件即可輕松調(diào)用顯示。
* 繼電器選用了可硬件設(shè)置高低電平驅(qū)動的模塊,我使用了高電平驅(qū)動。一開始輸出高電平發(fā)現(xiàn)驅(qū)動不了,原來要把IO口設(shè)置為強(qiáng)推挽模式才能驅(qū)動。
* 因為單片機(jī)IO口數(shù)量限制,需要按鍵復(fù)用,這就引入了長按短按識別機(jī)制。我使用了10ms中斷掃描一次按鍵狀態(tài),使用自己琢磨了一套長按短按機(jī)制,可能有點粗糙,但親測好用。
* 一開始寫的程序顯示倒計時,是直接顯示計時時間,比如倒計時剩不到1分鐘時,數(shù)碼管顯示的是00:00,總感覺這樣不科學(xué)。后來改為只要這一分鐘的秒還沒走到0,就仍算1分鐘。比如只剩20秒時,仍顯示00:01,只有倒計時結(jié)束剩0秒時,才顯示00:00。程序作了相應(yīng)修改實現(xiàn)了此功能。但總感覺還能寫的更簡練。。。
* 制作產(chǎn)品當(dāng)然少不了一個好看的外殼。我經(jīng)常在網(wǎng)上買防水塑料盒,各種規(guī)格都有,這個延時插座使用的盒子尺寸是158mm*90mm*40mm。盒子的切割鉆孔也有技巧。工具方面電鉆當(dāng)然少不了,還有帶倒鉤的割刀也非常實用,盒子在小太陽前烘烤一下會更軟更好切割。
* 這個延時插座沒裝輸出電源指示燈,忘了。。。如有朋友也制作一個的話可以加上。

歡迎朋友們一起交流。

單片機(jī)源程序:
  1. /*********************************************/
  2. /*                     DIY延時插座                     */
  3. /*                     創(chuàng)建者 :sven                   */
  4. /*                     創(chuàng)建時間:2021/1/23             */
  5. /*********************************************/
  6. #include "STC15.H"
  7. #include "TM1637.H"
  8. #include "intrins.h"

  9. sbit key1=P3^0;                //按鍵1,時間設(shè)置:短按分鐘+,長按小時+
  10. sbit key2=P3^1;                //按鍵2,短按啟動,長按復(fù)位
  11. sbit key3=P3^2;                //開關(guān)按鍵3,切換延時斷電/延時上電功能,只在開機(jī)時檢測
  12. sbit relay=P3^3;        //繼電器觸發(fā)信號,硬件設(shè)置為高電平時線圈通電

  13. unsigned char mode=0;                //mode為工作模式0,1 分別表示停止模式和運行模式        
  14. unsigned char hour=0,minute=0,second=0,time_count=0;   //真實計時的時,分,秒,10ms計數(shù)器
  15. unsigned char show[6]={0,0,0,0,0,0}; //TM1637四位數(shù)碼管顯示數(shù)組:小時的十位和個位,分鐘的十位和個位,最后兩個為小時和分鐘。
  16. unsigned int uiKeyTimeCnt1;   //按鍵1計數(shù)
  17. unsigned int uiKeyTimeCnt2;   //按鍵2計數(shù)

  18. bit ShortTouchFlag1=0;     //按鍵1短按按鍵有效標(biāo)志
  19. bit LongTouchFlag1=0;      //按鍵1長按按鍵有效標(biāo)志
  20. bit LongTouchRelease1=1;   //按鍵1長按釋放過的標(biāo)志
  21. bit ShortTouchFlag2=0;     //按鍵2短按按鍵有效標(biāo)志
  22. bit LongTouchFlag2=0;      //按鍵2長按按鍵有效標(biāo)志
  23. bit LongTouchRelease2=1;   //按鍵2長按釋放過的標(biāo)志
  24. bit delay_OnOff=0;                   //延時上電和延時斷電選擇位,開機(jī)檢查Key3設(shè)置此位,0表示延時斷電,1表示延時上電。
  25. bit flag_1s=1;                //秒任務(wù)標(biāo)志位
  26. bit flag_500ms=1;        //半秒標(biāo)志位
  27. bit stat_500ms=0;        //半秒狀態(tài)位,控制時間冒號閃爍


  28. /******************************
  29. 函數(shù)說明:延時函數(shù),STC_ISP軟件給出 @6MHz 1T單片機(jī)
  30. 入口參數(shù):us=延時微秒數(shù)
  31. 出口參數(shù):無
  32. ******************************/
  33. void Delay_US(unsigned int us)
  34. {
  35.    while(us--)
  36.    {
  37.                 _nop_();
  38.                 _nop_();
  39.                 _nop_();
  40.                 _nop_();
  41.                 _nop_();
  42.                 _nop_();
  43.         }
  44. }

  45. /******************************
  46. 函數(shù)說明:定時器0初始化,12T自動重裝模式,定時10毫秒
  47. ******************************/
  48. void Timer0Init(void)        //10毫秒@6.000MHz
  49. {
  50.         AUXR &= 0x7F;                //定時器時鐘12T模式
  51.         TMOD &= 0xF0;                //設(shè)置定時器模式
  52.         TL0 = 0x78;                        //設(shè)置定時初值
  53.         TH0 = 0xEC;                        //設(shè)置定時初值
  54.         TF0 = 0;                        //清除TF0標(biāo)志
  55.         TR0 = 1;                        //定時器0開始計時
  56.         ET0=1;                                //允許T0中斷
  57.         EA=1;                                //開全局中斷
  58. }

  59. /******************************
  60. 函數(shù)說明:按鍵短按長按檢測
  61. ******************************/
  62. void Key_scan(void)                //在中斷里調(diào)用,每10ms檢查一次按鍵狀態(tài)
  63. {
  64.         if(key1==0)                        //如果按鍵1按下
  65.         {
  66.             uiKeyTimeCnt1++; //累加按鍵計時
  67.         }
  68.         if(uiKeyTimeCnt1>200&&LongTouchRelease1==1)         //當(dāng)按鍵超過2秒且此前釋放過一次時
  69.         {
  70.                 LongTouchFlag1=1;         //長按標(biāo)志位置1,用于長按2秒后立即處理長按動作
  71.                 LongTouchRelease1=0; //長按釋放標(biāo)志置0,表示長按未釋放
  72.         }
  73.         if(key1==1)          //當(dāng)按鍵松開(也可能是抖動彈開)
  74.         {
  75.                 if(uiKeyTimeCnt1>2&&uiKeyTimeCnt1<=200)         //只有大于20mS,且小于2秒,才判為短按
  76.                 {
  77.                         uiKeyTimeCnt1=0;        //清零按鍵計時
  78.                         ShortTouchFlag1=1;        //短按標(biāo)志位置1
  79.                         LongTouchFlag1=0;        //長按標(biāo)志位置0        
  80.                 }
  81.                 if(uiKeyTimeCnt1>200)        //如果松開按鍵時按鍵超過2秒,則為長按釋放
  82.                 {
  83.                         uiKeyTimeCnt1=0;        //清零按鍵計時
  84.                         LongTouchRelease1=1; //長按釋放標(biāo)志位置1,表示長按已釋放
  85.                 }        
  86.         }

  87.         if(key2==0)                  //如果按鍵2按下
  88.         {
  89.             uiKeyTimeCnt2++; //累加按鍵計時
  90.         }
  91.         if(uiKeyTimeCnt2>200&&LongTouchRelease2==1)          //當(dāng)按鍵超過2秒且此前釋放過一次時
  92.         {
  93.                 LongTouchFlag2=1;                //長按標(biāo)志位置1,用于長按2秒后立即處理長按動作
  94.                 LongTouchRelease2=0;        //長按釋放標(biāo)志置0,表示長按未釋放
  95.         }
  96.         if(key2==1)                  //當(dāng)按鍵松開(也可能是抖動彈開)
  97.         {
  98.                 if(uiKeyTimeCnt2>2&&uiKeyTimeCnt2<=200)          //只有大于20mS,且小于2秒,才判為短按
  99.                 {
  100.                         uiKeyTimeCnt2=0;        //清零按鍵計時
  101.                         ShortTouchFlag2=1;        //短按標(biāo)志位置1
  102.                         LongTouchFlag2=0;        //長按標(biāo)志位置0        
  103.                 }
  104.                 if(uiKeyTimeCnt2>200)        //如果松開按鍵時按鍵超過2秒,則為長按釋放
  105.                 {
  106.                         uiKeyTimeCnt2=0;        //清零按鍵計時
  107.                         LongTouchRelease2=1; //長按釋放標(biāo)志位置1,表示長按已釋放
  108.                 }        
  109.         }
  110. }

  111. /******************************
  112. 函數(shù)說明:按鍵處理
  113. ******************************/
  114. void Key_process(void)
  115. {
  116.         if(ShortTouchFlag1==1)         //當(dāng)按鍵1短按標(biāo)志位為1時進(jìn)行按鍵1短按處理
  117.         {
  118.                 ShortTouchFlag1=0;        //清除短按標(biāo)志位
  119.                 minute++;                        //短按按鍵1的效果:分鐘加1
  120.                 if(minute==60)                //如果設(shè)置分鐘達(dá)到60分
  121.                         minute=0;                //將分鐘清零
  122.                 if(second>0)                //以下將實際計時的小時和分鐘轉(zhuǎn)換為數(shù)碼管顯示的小時和分鐘。比如計時還有00:00:20秒時,數(shù)碼管顯示的是00:01。
  123.                         show[5]=minute+1;  //只要秒不為零,則顯示出來的分鐘應(yīng)該比實際計時的分鐘加1
  124.                 else
  125.                         show[5]=minute;           //只有秒為零時,顯示的分鐘才和計時的分鐘一致
  126.                 if(show[5]==60)                   //如果顯示的分鐘為60分,則顯示的小時比實際計時的小時+1。
  127.                 {
  128.                         show[5]=0;
  129.                         show[4]=hour+1;
  130.                 }
  131.                 else
  132.                         show[4]=hour;           //如果顯示的分鐘比實際的加1后還不到60分鐘,則顯示的小時和計時的小時一致。
  133.                 show[0]=show[4]/10%10; //顯示的小時十位數(shù)
  134.                 show[1]=show[4]%10;           //顯示的小時個位數(shù)
  135.                 show[2]=show[5]/10%10; //顯示的分鐘十位數(shù)
  136.                 show[3]=show[5]%10;           //顯示的分鐘個位數(shù)                        
  137.                 TM1637_display(show[0],show[1],show[2],show[3],1); //顯示定時時間。在按鍵調(diào)時狀態(tài)下,時間的冒號固定顯示不閃爍。
  138.         }
  139.         if(LongTouchFlag1==1)         //當(dāng)按鍵1長按標(biāo)志位為1時進(jìn)行按鍵1長按處理
  140.         {
  141.                 LongTouchFlag1=0;        //清除長按標(biāo)志位
  142.                 hour++;                                //按鍵1長按的效果:小時加1
  143.                 if(hour==100)                //如果設(shè)定的小時到100了
  144.                         hour=0;                        //小時清零。定時時間最高只能設(shè)定99小時59分鐘。
  145.                 if(second>0)                //以下將實際計時的小時和分鐘轉(zhuǎn)換為數(shù)碼管顯示的小時和分鐘,同上。
  146.                         show[5]=minute+1;
  147.                 else
  148.                         show[5]=minute;
  149.                 if(show[5]==60)
  150.                 {
  151.                         show[5]=0;
  152.                         show[4]=hour+1;
  153.                 }
  154.                 else
  155.                         show[4]=hour;
  156.                 show[0]=show[4]/10%10;        //顯示的小時十位數(shù)
  157.                 show[1]=show[4]%10;                //顯示的小時個位數(shù)
  158.                 show[2]=show[5]/10%10;        //顯示的分鐘十位數(shù)
  159.                 show[3]=show[5]%10;                //顯示的分鐘個位數(shù)               
  160.                 TM1637_display(show[0],show[1],show[2],show[3],1); //顯示定時時間。在按鍵調(diào)時狀態(tài)下,時間的冒號固定顯示不閃爍。
  161.         }        
  162.         if(ShortTouchFlag2==1)        //按鍵2短按處理,在停止?fàn)顟B(tài)下短按為啟動運行
  163.         {
  164.                 ShortTouchFlag2=0;        //清除短按標(biāo)志位
  165.                 if(mode==0&&(minute>0||hour>0))         //只在停止?fàn)顟B(tài)下且設(shè)定了有效的定時時間,才能響應(yīng)短按
  166.                 {
  167.                         mode=1;                        //短按的效果:啟動定時
  168.                         relay=~delay_OnOff;         //開始定時后,根據(jù)開機(jī)時設(shè)定的延時斷電或延時上電,繼電器進(jìn)行相應(yīng)動作。如設(shè)定的是延時斷電(delay_OnOff為0),啟動后繼電器應(yīng)該先通電動作。
  169.                 }
  170.         }
  171.         if(LongTouchFlag2==1)        //按鍵2長按處理,長按為復(fù)位。在運行和停止?fàn)顟B(tài)下均可長按復(fù)位。
  172.         {
  173.                 LongTouchFlag2=0;        //清除長按標(biāo)志位
  174.                 mode=0;                                //復(fù)位后狀態(tài)為停止?fàn)顟B(tài)
  175.                 relay=0;                        //繼電器釋放
  176.                 hour=minute=second=0;        //計時時間清0
  177.                 TM1637_display(0,0,0,0,1);        //數(shù)碼管顯示時間00:00,時間冒號不閃爍
  178.         }
  179. }

  180. void main(void)
  181. {
  182.         P3M1&=~(1<<3);           //將繼電器驅(qū)動腳P3.3設(shè)置為推挽輸出
  183.         P3M0|=(1<<3);
  184.         relay=0;                   //繼電器硬件選擇為高電平驅(qū)動,開機(jī)后默認(rèn)插座無電
  185.         delay_OnOff=key3;  //延時斷電或延時上電選擇。1:延時上電,0:延時斷電。只在開機(jī)前操作Key3有效。
  186.         TM1637_display(0,0,0,0,1); //上電后默認(rèn)顯示00:00
  187.         Timer0Init();           //定時器T0初始化并啟動
  188.         while(1)
  189.         {
  190.                 Key_process();          //調(diào)用按鍵處理函數(shù)
  191.                 if(flag_500ms==1)        //每500毫秒進(jìn)行一次顯示處理,主要是為了實現(xiàn)時間冒號的閃爍
  192.                 {
  193.                         flag_500ms=0;        //清除半秒標(biāo)志位
  194.                         stat_500ms=~stat_500ms;         //時間冒號每秒亮滅一次
  195.                         if(mode==1)                //只在啟動定時的狀態(tài)下刷新顯示時間
  196.                         {
  197.                                 if(second>0) //以下為將實際計時的時間轉(zhuǎn)換為數(shù)碼管顯示的時間。比如定時還剩20秒時,數(shù)碼管實際顯示的是00:01。
  198.                                         show[5]=minute+1;
  199.                                 else
  200.                                         show[5]=minute;
  201.                                 if(show[5]==60)
  202.                                 {
  203.                                         show[5]=0;
  204.                                         show[4]=hour+1;
  205.                                 }
  206.                                 else
  207.                                         show[4]=hour;
  208.                                 show[0]=show[4]/10%10;         //顯示的小時十位數(shù)
  209.                                 show[1]=show[4]%10;                 //顯示的小時個位數(shù)
  210.                                 show[2]=show[5]/10%10;         //顯示的分鐘十位數(shù)
  211.                                 show[3]=show[5]%10;                 //顯示的分鐘個位數(shù)               
  212.                                 TM1637_display(show[0],show[1],show[2],show[3],stat_500ms);        //顯示時間,冒號位是0還是1由stat_500ms確定,每半秒變化一次。
  213.                         }
  214.                         if(mode==1&&flag_1s==1)                 //以下為定時狀態(tài)下更新計時時間,當(dāng)秒任務(wù)標(biāo)志位為1時進(jìn)行倒計時
  215.                         {
  216.                                 flag_1s=0;         //清除秒任務(wù)標(biāo)志位
  217.                                 if(second>0) //如果秒大于0,則減1秒
  218.                                 {
  219.                                         second--;
  220.                                 }
  221.                                 else if(minute>0) //如果秒等于0,則從分鐘借位,分鐘減1,秒變?yōu)?9
  222.                                 {
  223.                                         minute--;
  224.                                         second=59;
  225.                                 }
  226.                                 else if(hour>0)          //如果秒和分鐘都為0,則從小時借位,小時減1,分鐘和秒都為59
  227.                                 {
  228.                                         hour--;
  229.                                         minute=59;
  230.                                         second=59;
  231.                                 }
  232.                                 else                          //如果時分秒都為0
  233.                                 {
  234.                                         mode=0;                  //倒計時結(jié)束,進(jìn)入停止?fàn)顟B(tài)
  235.                                         relay=delay_OnOff;        //依據(jù)開機(jī)時設(shè)置的延時斷電或延時上電,設(shè)置計時完成后的繼電器狀態(tài)。如果設(shè)置的是延時斷電,計時到后繼電器驅(qū)動為0。
  236.                                         TM1637_display(0,0,0,0,1);        //計時到后時間顯示00:00,時間冒號不閃爍
  237.                                 }
  238.                         }
  239.                 }//半秒任務(wù)結(jié)束
  240.         }//while(1)結(jié)束
  241. }//main函數(shù)結(jié)束


  242. void time0(void) interrupt 1   //T0中斷服務(wù),每10ms響應(yīng)一次
  243. {
  244.         time_count++;                 //計數(shù)加1
  245.         Key_scan();                         //每10ms掃描一次按鍵狀態(tài)
  246.         if(time_count==50)         //每500ms時設(shè)置一次半秒標(biāo)志位
  247.                 flag_500ms=1;
  248.         if(time_count==100)         //每1秒設(shè)置一次半秒標(biāo)志位和秒任務(wù)標(biāo)志位
  249.         {
  250.                 time_count=0;
  251.                 flag_500ms=1;
  252.                 flag_1s=1;
  253.         }  
  254. }
復(fù)制代碼
完整程序可從附件下載。
DIY延時插座.rar (372.65 KB, 下載次數(shù): 394)

評分

參與人數(shù) 4黑幣 +136 收起 理由
piplxh + 6
老愚童63 + 15
luliang02003 + 15 贊一個!
admin + 100 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:848824 發(fā)表于 2021-1-25 16:24 | 顯示全部樓層
感謝分享,很好用啊,哪天我也找個盒子裝上
回復(fù)

使用道具 舉報

ID:862648 發(fā)表于 2021-1-25 16:45 | 顯示全部樓層
還是很實用的
回復(fù)

使用道具 舉報

ID:848824 發(fā)表于 2021-1-25 20:23 | 顯示全部樓層
圖是怎么畫的真偏亮
回復(fù)

使用道具 舉報

ID:702386 發(fā)表于 2021-1-26 08:45 | 顯示全部樓層

圖是先在AD中畫好線路和元器件,然后在畫圖軟件中貼上模塊實物圖并挪動線路對齊。有點混搭風(fēng)格吧n :-)

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:620287 發(fā)表于 2021-1-30 22:24 來自觸屏版 | 顯示全部樓層
時間跑的太快了,數(shù)碼管設(shè)定1分鐘,實際上用30秒左右就結(jié)束了,如果要定時10分鐘就要設(shè)定運行時間為20分鐘才夠10分鐘
回復(fù)

使用道具 舉報

ID:702386 發(fā)表于 2021-1-30 22:48 | 顯示全部樓層
22583596 發(fā)表于 2021-1-30 22:24
時間跑的太快了,數(shù)碼管設(shè)定1分鐘,實際上用30秒左右就結(jié)束了,如果要定時10分鐘就要設(shè)定運行時間為20分鐘 ...

燒錄時選擇時鐘頻率為6MHz。你可能默認(rèn)選的是12MHz,當(dāng)然要快1倍。
回復(fù)

使用道具 舉報

ID:815949 發(fā)表于 2021-3-22 22:28 | 顯示全部樓層
樓主的設(shè)計不錯,這個用在產(chǎn)品的測試很有用處,我之前做過一個可以控制三路的,用的是pic單片機(jī)實現(xiàn)的,但是我的繼電器選用的是固態(tài)繼電器,已經(jīng)老化使用一年,相當(dāng)穩(wěn)定。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:848824 發(fā)表于 2021-3-24 11:03 | 顯示全部樓層
什么畫圖軟件畫的,真牛
回復(fù)

使用道具 舉報

ID:702386 發(fā)表于 2021-3-25 18:09 | 顯示全部樓層
zhangleixbyl 發(fā)表于 2021-3-24 11:03
什么畫圖軟件畫的,真牛

用Win10自帶的畫圖軟件畫的。牛就談不上了,就是有一點創(chuàng)意,結(jié)合了altium畫的原理圖和實物照片,看起來直觀一點。
回復(fù)

使用道具 舉報

ID:456690 發(fā)表于 2021-3-26 20:49 | 顯示全部樓層
按鍵長按短按檢測程序?qū)懙暮茫瑢W(xué)習(xí)了
回復(fù)

使用道具 舉報

ID:140489 發(fā)表于 2021-5-8 15:40 | 顯示全部樓層
樓主代碼是吳堅鴻的代碼風(fēng)格
回復(fù)

使用道具 舉報

ID:59830 發(fā)表于 2021-5-8 17:32 | 顯示全部樓層
看了一下,挺好.
不過制作過程 安全問題有2點建議(做來用的):
1. 220V   繼電器控制 單線火線,要三點插頭 分清 火線, 或 改控制 雙線繼電器.
2.  5V 電源模塊  熱熔膠  遇到熱融化,熱熔膠與模塊的間距大些,
回復(fù)

使用道具 舉報

ID:702386 發(fā)表于 2021-5-10 08:40 | 顯示全部樓層
lids 發(fā)表于 2021-5-8 15:40
樓主代碼是吳堅鴻的代碼風(fēng)格

我是初學(xué)者,不講風(fēng)格哈。代碼能跑就行。
回復(fù)

使用道具 舉報

ID:702386 發(fā)表于 2021-5-10 08:42 | 顯示全部樓層
yygdzjs 發(fā)表于 2021-5-8 17:32
看了一下,挺好.
不過制作過程 安全問題有2點建議(做來用的):
1. 220V   繼電器控制 單線火線,要三點 ...

非常感謝寶貴建議!安全方面確實欠考慮了,繼電器斷開的時候仍可能存在火線有電的情況。
回復(fù)

使用道具 舉報

ID:892864 發(fā)表于 2021-6-16 00:05 | 顯示全部樓層
我最近也想做一個,不過要比樓主做的簡單
回復(fù)

使用道具 舉報

ID:424598 發(fā)表于 2021-7-18 14:35 來自觸屏版 | 顯示全部樓層
贊,比我早期做的好多了,論壇就需要這種新鮮血液。
回復(fù)

使用道具 舉報

ID:444215 發(fā)表于 2021-7-26 14:10 | 顯示全部樓層
贊,也不錯了,支持下,下載下來研究研究
回復(fù)

使用道具 舉報

ID:476415 發(fā)表于 2021-7-27 12:25 來自觸屏版 | 顯示全部樓層
沒用過這種單片機(jī),看介紹確實是適合DIY!!
回復(fù)

使用道具 舉報

ID:880987 發(fā)表于 2021-8-16 10:39 | 顯示全部樓層
樓主,TM1637有按鍵掃描功能,支持2X8=16個按鍵掃描,節(jié)約單片機(jī)IO口
回復(fù)

使用道具 舉報

ID:961072 發(fā)表于 2021-8-18 11:55 | 顯示全部樓層
新手前來學(xué)習(xí)一下~學(xué)學(xué)思路和程序
回復(fù)

使用道具 舉報

ID:15726 發(fā)表于 2021-12-19 22:01 | 顯示全部樓層
我好象用過同款的盒子
回復(fù)

使用道具 舉報

ID:686536 發(fā)表于 2022-6-26 17:10 | 顯示全部樓層
我想搞一個終于有個參考樣了,感謝謝。
回復(fù)

使用道具 舉報

ID:292518 發(fā)表于 2022-7-4 17:27 | 顯示全部樓層
新手前來學(xué)習(xí)一下~學(xué)學(xué)思路和程序
回復(fù)

使用道具 舉報

ID:1037212 發(fā)表于 2022-7-6 05:45 | 顯示全部樓層
新手前來學(xué)習(xí)一下,從頭開始。
回復(fù)

使用道具 舉報

ID:941129 發(fā)表于 2022-9-16 14:49 | 顯示全部樓層
實用,好評
回復(fù)

使用道具 舉報

ID:941129 發(fā)表于 2022-9-16 15:04 | 顯示全部樓層
編程用的是keil嗎
回復(fù)

使用道具 舉報

ID:941129 發(fā)表于 2022-9-16 15:22 | 顯示全部樓層
這個單片機(jī)我在keil4上沒有找到,請問大神用什么軟件編程
回復(fù)

使用道具 舉報

ID:507641 發(fā)表于 2022-9-21 09:26 | 顯示全部樓層
貼近生活工作的應(yīng)用與技巧,創(chuàng)新源自于生活工需求原來是真的
回復(fù)

使用道具 舉報

ID:1045132 發(fā)表于 2022-9-21 15:40 | 顯示全部樓層
可以做定時器了
回復(fù)

使用道具 舉報

ID:849826 發(fā)表于 2022-12-12 11:01 來自觸屏版 | 顯示全部樓層
3523485271 發(fā)表于 2022-9-16 15:22
這個單片機(jī)我在keil4上沒有找到,請問大神用什么軟件編程

用51的頭文件就可以
回復(fù)

使用道具 舉報

ID:491875 發(fā)表于 2022-12-12 12:46 | 顯示全部樓層
不錯的實用制作,圖也很清晰。電源指示燈可以考慮使用一只雙向LED,這樣可以省略一只4007。
回復(fù)

使用道具 舉報

ID:833307 發(fā)表于 2023-7-19 14:56 | 顯示全部樓層
能不能倒計時顯示,以秒為單位
回復(fù)

使用道具 舉報

ID:200118 發(fā)表于 2023-12-21 18:14 | 顯示全部樓層
很好,學(xué)習(xí)一下。。。
回復(fù)

使用道具 舉報

ID:372579 發(fā)表于 2023-12-22 21:06 | 顯示全部樓層
不錯不錯,做一個玩玩
回復(fù)

使用道具 舉報

ID:67678 發(fā)表于 2023-12-24 10:17 | 顯示全部樓層
不錯不錯,做一個玩玩
回復(fù)

使用道具 舉報

ID:316162 發(fā)表于 2023-12-27 07:47 來自觸屏版 | 顯示全部樓層
很好,值得學(xué)習(xí),設(shè)計思路清晰,代碼工整,關(guān)鍵是注釋也清晰明了
回復(fù)

使用道具 舉報

ID:156094 發(fā)表于 2024-2-24 20:27 | 顯示全部樓層
新手前來學(xué)習(xí)一下~
回復(fù)

使用道具 舉報

ID:232366 發(fā)表于 2024-12-12 19:01 | 顯示全部樓層
感謝共享作品!!好用是好用但就是有一個BUG!!!!!!!!!!!
呈現(xiàn)問題為:比如定時:05:00分啟動后此時再按分鐘加1這時數(shù)碼管會顯示04:01而不是定時5小時了!!!!!!!!!!!!!!!!!!!!!!
回復(fù)

使用道具 舉報

ID:430492 發(fā)表于 2025-2-20 17:49 | 顯示全部樓層
這個設(shè)計還是很實用的!!!
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 天天操夜夜操 | 国产精品久久久久久52avav | 成人在线视频一区 | 国产婷婷综合 | 国产69精品久久久久777 | 日本在线精品视频 | 亚洲精品成人免费 | 国产影音先锋 | 精品国产乱码久久久久久蜜臀 | 91福利电影在线观看 | 久久久精品国产 | 欧美一级片在线看 | 成人毛片在线观看 | 亚洲日本欧美 | 亚洲欧美一区二区在线观看 | 亚洲精视频| a级毛片毛片免费观看久潮喷 | 婷婷91 | 国产特级毛片 | 亚洲一区二区在线播放 | 在线视频成人 | 国产精品一区久久久 | 日本精品久久久久久久 | 午夜影院在线观看 | 蜜月va乱码一区二区三区 | 免费日本视频 | av色在线 | 亚欧精品| 免费在线成人 | 国产精品免费大片 | 午夜精品视频 | 四虎最新| 91在线一区二区三区 | 在线国产一区二区 | 国产在线精品免费 | 在线视频中文字幕 | 一区二区三区视频在线免费观看 | 欧美一级二级三级视频 | 国产精品视频中文字幕 | 久久www免费视频 | 五月天婷婷综合 |