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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 17479|回復(fù): 39
打印 上一主題 下一主題
收起左側(cè)

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

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
大家好。今天我要分享的是一款DIY延時(shí)插座。延時(shí)插座并不是新東西,壇子里好幾位前輩分享過(guò)類似制作。正是因?yàn)榭吹剿麄兊淖髌罚也湃滩蛔∽约阂沧鲆粋(gè),這樣才能真正鍛煉自已。先上制作出來(lái)的成品圖如下:



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

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

接線圖:



實(shí)物內(nèi)部結(jié)構(gòu):



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

歡迎朋友們一起交流。

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

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

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

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


  28. /******************************
  29. 函數(shù)說(shuō)明:延時(shí)函數(shù),STC_ISP軟件給出 @6MHz 1T單片機(jī)
  30. 入口參數(shù):us=延時(shí)微秒數(shù)
  31. 出口參數(shù):無(wú)
  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ù)說(shuō)明:定時(shí)器0初始化,12T自動(dòng)重裝模式,定時(shí)10毫秒
  47. ******************************/
  48. void Timer0Init(void)        //10毫秒@6.000MHz
  49. {
  50.         AUXR &= 0x7F;                //定時(shí)器時(shí)鐘12T模式
  51.         TMOD &= 0xF0;                //設(shè)置定時(shí)器模式
  52.         TL0 = 0x78;                        //設(shè)置定時(shí)初值
  53.         TH0 = 0xEC;                        //設(shè)置定時(shí)初值
  54.         TF0 = 0;                        //清除TF0標(biāo)志
  55.         TR0 = 1;                        //定時(shí)器0開(kāi)始計(jì)時(shí)
  56.         ET0=1;                                //允許T0中斷
  57.         EA=1;                                //開(kāi)全局中斷
  58. }

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

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

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

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

評(píng)分

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

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏55 分享淘帖 頂4 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:848824 發(fā)表于 2021-1-25 16:24 | 只看該作者
感謝分享,很好用啊,哪天我也找個(gè)盒子裝上
回復(fù)

使用道具 舉報(bào)

板凳
ID:862648 發(fā)表于 2021-1-25 16:45 | 只看該作者
還是很實(shí)用的
回復(fù)

使用道具 舉報(bào)

地板
ID:848824 發(fā)表于 2021-1-25 20:23 | 只看該作者
圖是怎么畫(huà)的真偏亮
回復(fù)

使用道具 舉報(bào)

5#
ID:702386 發(fā)表于 2021-1-26 08:45 | 只看該作者
zhangleixbyl 發(fā)表于 2021-1-25 20:23
圖是怎么畫(huà)的真偏亮

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

評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

6#
ID:620287 發(fā)表于 2021-1-30 22:24 來(lái)自手機(jī) | 只看該作者
時(shí)間跑的太快了,數(shù)碼管設(shè)定1分鐘,實(shí)際上用30秒左右就結(jié)束了,如果要定時(shí)10分鐘就要設(shè)定運(yùn)行時(shí)間為20分鐘才夠10分鐘
回復(fù)

使用道具 舉報(bào)

7#
ID:702386 發(fā)表于 2021-1-30 22:48 | 只看該作者
22583596 發(fā)表于 2021-1-30 22:24
時(shí)間跑的太快了,數(shù)碼管設(shè)定1分鐘,實(shí)際上用30秒左右就結(jié)束了,如果要定時(shí)10分鐘就要設(shè)定運(yùn)行時(shí)間為20分鐘 ...

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

使用道具 舉報(bào)

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

評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

9#
ID:848824 發(fā)表于 2021-3-24 11:03 | 只看該作者
什么畫(huà)圖軟件畫(huà)的,真牛
回復(fù)

使用道具 舉報(bào)

10#
ID:702386 發(fā)表于 2021-3-25 18:09 | 只看該作者
zhangleixbyl 發(fā)表于 2021-3-24 11:03
什么畫(huà)圖軟件畫(huà)的,真牛

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

使用道具 舉報(bào)

11#
ID:456690 發(fā)表于 2021-3-26 20:49 | 只看該作者
按鍵長(zhǎng)按短按檢測(cè)程序?qū)懙暮茫瑢W(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

12#
ID:140489 發(fā)表于 2021-5-8 15:40 | 只看該作者
樓主代碼是吳堅(jiān)鴻的代碼風(fēng)格
回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

14#
ID:702386 發(fā)表于 2021-5-10 08:40 | 只看該作者
lids 發(fā)表于 2021-5-8 15:40
樓主代碼是吳堅(jiān)鴻的代碼風(fēng)格

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

使用道具 舉報(bào)

15#
ID:702386 發(fā)表于 2021-5-10 08:42 | 只看該作者
yygdzjs 發(fā)表于 2021-5-8 17:32
看了一下,挺好.
不過(guò)制作過(guò)程 安全問(wèn)題有2點(diǎn)建議(做來(lái)用的):
1. 220V   繼電器控制 單線火線,要三點(diǎn) ...

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

使用道具 舉報(bào)

16#
ID:892864 發(fā)表于 2021-6-16 00:05 | 只看該作者
我最近也想做一個(gè),不過(guò)要比樓主做的簡(jiǎn)單
回復(fù)

使用道具 舉報(bào)

17#
ID:424598 發(fā)表于 2021-7-18 14:35 來(lái)自手機(jī) | 只看該作者
贊,比我早期做的好多了,論壇就需要這種新鮮血液。
回復(fù)

使用道具 舉報(bào)

18#
ID:444215 發(fā)表于 2021-7-26 14:10 | 只看該作者
贊,也不錯(cuò)了,支持下,下載下來(lái)研究研究
回復(fù)

使用道具 舉報(bào)

19#
ID:476415 發(fā)表于 2021-7-27 12:25 來(lái)自手機(jī) | 只看該作者
沒(méi)用過(guò)這種單片機(jī),看介紹確實(shí)是適合DIY!!
回復(fù)

使用道具 舉報(bào)

20#
ID:880987 發(fā)表于 2021-8-16 10:39 | 只看該作者
樓主,TM1637有按鍵掃描功能,支持2X8=16個(gè)按鍵掃描,節(jié)約單片機(jī)IO口
回復(fù)

使用道具 舉報(bào)

21#
ID:961072 發(fā)表于 2021-8-18 11:55 | 只看該作者
新手前來(lái)學(xué)習(xí)一下~學(xué)學(xué)思路和程序
回復(fù)

使用道具 舉報(bào)

22#
ID:15726 發(fā)表于 2021-12-19 22:01 | 只看該作者
我好象用過(guò)同款的盒子
回復(fù)

使用道具 舉報(bào)

23#
ID:686536 發(fā)表于 2022-6-26 17:10 | 只看該作者
我想搞一個(gè)終于有個(gè)參考樣了,感謝謝。
回復(fù)

使用道具 舉報(bào)

24#
ID:292518 發(fā)表于 2022-7-4 17:27 | 只看該作者
新手前來(lái)學(xué)習(xí)一下~學(xué)學(xué)思路和程序
回復(fù)

使用道具 舉報(bào)

25#
ID:1037212 發(fā)表于 2022-7-6 05:45 | 只看該作者
新手前來(lái)學(xué)習(xí)一下,從頭開(kāi)始。
回復(fù)

使用道具 舉報(bào)

26#
ID:941129 發(fā)表于 2022-9-16 14:49 | 只看該作者
實(shí)用,好評(píng)
回復(fù)

使用道具 舉報(bào)

27#
ID:941129 發(fā)表于 2022-9-16 15:04 | 只看該作者
編程用的是keil嗎
回復(fù)

使用道具 舉報(bào)

28#
ID:941129 發(fā)表于 2022-9-16 15:22 | 只看該作者
這個(gè)單片機(jī)我在keil4上沒(méi)有找到,請(qǐng)問(wèn)大神用什么軟件編程
回復(fù)

使用道具 舉報(bào)

29#
ID:507641 發(fā)表于 2022-9-21 09:26 | 只看該作者
貼近生活工作的應(yīng)用與技巧,創(chuàng)新源自于生活工需求原來(lái)是真的
回復(fù)

使用道具 舉報(bào)

30#
ID:1045132 發(fā)表于 2022-9-21 15:40 | 只看該作者
可以做定時(shí)器了
回復(fù)

使用道具 舉報(bào)

31#
ID:849826 發(fā)表于 2022-12-12 11:01 來(lái)自手機(jī) | 只看該作者
3523485271 發(fā)表于 2022-9-16 15:22
這個(gè)單片機(jī)我在keil4上沒(méi)有找到,請(qǐng)問(wèn)大神用什么軟件編程

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

使用道具 舉報(bào)

32#
ID:491875 發(fā)表于 2022-12-12 12:46 | 只看該作者
不錯(cuò)的實(shí)用制作,圖也很清晰。電源指示燈可以考慮使用一只雙向LED,這樣可以省略一只4007。
回復(fù)

使用道具 舉報(bào)

33#
ID:833307 發(fā)表于 2023-7-19 14:56 | 只看該作者
能不能倒計(jì)時(shí)顯示,以秒為單位
回復(fù)

使用道具 舉報(bào)

34#
ID:200118 發(fā)表于 2023-12-21 18:14 | 只看該作者
很好,學(xué)習(xí)一下。。。
回復(fù)

使用道具 舉報(bào)

35#
ID:372579 發(fā)表于 2023-12-22 21:06 | 只看該作者
不錯(cuò)不錯(cuò),做一個(gè)玩玩
回復(fù)

使用道具 舉報(bào)

36#
ID:67678 發(fā)表于 2023-12-24 10:17 | 只看該作者
不錯(cuò)不錯(cuò),做一個(gè)玩玩
回復(fù)

使用道具 舉報(bào)

37#
ID:316162 發(fā)表于 2023-12-27 07:47 來(lái)自手機(jī) | 只看該作者
很好,值得學(xué)習(xí),設(shè)計(jì)思路清晰,代碼工整,關(guān)鍵是注釋也清晰明了
回復(fù)

使用道具 舉報(bào)

38#
ID:156094 發(fā)表于 2024-2-24 20:27 | 只看該作者
新手前來(lái)學(xué)習(xí)一下~
回復(fù)

使用道具 舉報(bào)

39#
ID:232366 發(fā)表于 2024-12-12 19:01 | 只看該作者
感謝共享作品!!好用是好用但就是有一個(gè)BUG!!!!!!!!!!!
呈現(xiàn)問(wèn)題為:比如定時(shí):05:00分啟動(dòng)后此時(shí)再按分鐘加1這時(shí)數(shù)碼管會(huì)顯示04:01而不是定時(shí)5小時(shí)了!!!!!!!!!!!!!!!!!!!!!!
回復(fù)

使用道具 舉報(bào)

40#
ID:430492 發(fā)表于 2025-2-20 17:49 | 只看該作者
這個(gè)設(shè)計(jì)還是很實(shí)用的!!!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: h片在线观看网站 | 久久婷婷国产麻豆91 | 久久精品一 | 国产成人精品亚洲日本在线观看 | 日韩免费看视频 | 黄色免费av | 丝袜美腿一区二区三区动态图 | 国产精品成人在线播放 | 欧美a级成人淫片免费看 | 午夜影视 | 人人干在线视频 | 亚洲精品国产一区 | 久久小视频 | 伊人网在线看 | 在线免费观看一区二区 | 日韩 欧美 二区 | 黄色一级大片在线免费看产 | 黄视频免费 | 超碰导航 | av福利网 | 久久精品视频一区二区三区 | 精产国产伦理一二三区 | 日日操操 | 久久成人免费观看 | 91在线视频国产 | 精品日韩一区二区 | 午夜影院在线观看 | 国产综合精品一区二区三区 | 日韩电影免费在线观看中文字幕 | 99影视| 国产成人精品一区 | 日韩不卡三区 | 国产精品一区二区在线免费观看 | 毛片毛片毛片毛片毛片 | 久久久国产精品网站 | 夜夜精品视频 | 日本精品一区二区三区四区 | 少妇一级淫片免费播放 | 最新日韩精品 | 欧美综合视频 | 男女网站免费观看 |