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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機智能路燈控制系統(tǒng)(proteus仿真+keil源程序+原理圖)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:753405 發(fā)表于 2020-6-12 15:05 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
用于學(xué)習(xí)的一個智能路燈控制系統(tǒng),功能還是比較全的。有自行設(shè)置工作時間段,人體車輛紅外檢測,光照閾值的光敏檢測,手動自動控制路燈亮滅。

LCD1602顯示
DS1302系統(tǒng)時間
按鍵設(shè)定系統(tǒng)時間、工作時間、光照閾值(默認(rèn)開始時間為16點,結(jié)束時間為5點)
工作時間內(nèi)路燈點亮,凌晨12點后路燈關(guān)閉,有人或車通過是,路燈點亮10s
非工作時間光照強度低于閾值,路燈點亮
狀態(tài)檢測,路燈應(yīng)亮未亮,聲光報警(通過檢測LED串聯(lián)電阻的電壓值,當(dāng)有電壓值時,證明線路正常,無電壓值時,線路故障)
手動和自動模式可通過按鍵自己手動切換,手動模式下由開關(guān)控制路燈亮滅。(自動模式不再執(zhí)行)

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1.                                    /******定義頭文件**************/
  2. #include<reg52.h>
  3. #include <INTRINS.H>
  4. #include"lcd.h"
  5. #include "ds1302.h"
  6. /******類型重定義*************/
  7. typedef unsigned char uchar;
  8. typedef unsigned int  uint;
  9. /******引腳定義***************/
  10. sbit key_1 = P1^0;                        //定義4個按鍵
  11. sbit key_2 = P1^1;
  12. sbit key_3 = P1^2;
  13. sbit key_4 = P1^3;
  14. sbit key_5=P3^0;//手動/自動模式切換
  15. sbit key_6=P3^1;//手動模式路燈開關(guān)

  16. sbit led_1 = P1^4;
  17. sbit Beep = P2^3;                                        //定義聲光報警
  18. sbit AD_clk = P3^4;                                        //定義ADC0832                
  19. sbit AD_do = P3^5;
  20. sbit AD_di = P3^5;
  21. sbit AD_cs = P3^6;
  22. sbit red_sr = P3^7;                                        //紅外檢測

  23. /******定義變量***************/
  24. char hour,min,sec;                                                //定義小時、分鐘、秒變量
  25. char time;
  26. char work_time_Start = 16,work_time_End = 5;                //設(shè)定起始、結(jié)束時間
  27. bit light_flag;
  28. uchar light;                                                        //定義光照強度
  29. uchar light_limit;                                                //定義光照閾值
  30. uchar Data;
  31. /******聲明函數(shù)***************/
  32. void delayms(unsigned int x);                        //延時函數(shù)
  33. void display();                                                         //顯示
  34. void Read_time();
  35. void set_work_time();                                        //設(shè)定工作時間
  36. void set_limit_light();                                        //設(shè)定光照閾值
  37. void work();                                                        //工作狀態(tài)
  38. void set_time();                                                //設(shè)定時間
  39. void delay10ms(int d);
  40. void InitTimer0(void);                                        //T0定時器初始化程序
  41. uchar AD(bit Channel);                                        //ADC0832程序

  42. void kongzhi()
  43. {
  44.         if(key_6==0)
  45. {
  46.         led_1=1;
  47. }
  48. else
  49.         {
  50.                 led_1=0;
  51.         }
  52. }

  53. void qiehaun()
  54. {
  55.         if(key_5==0)
  56. {
  57.         kongzhi();
  58. }
  59. else
  60.         {
  61.         work();
  62. //                if(red_sr==1)
  63. //        {
  64. //        led_1=1;
  65. //        }
  66. //        if(red_sr==0)
  67. //        {
  68. //        led_1=0;
  69. //        }
  70. }
  71. }
  72. void main()
  73. {
  74.         Beep = led_1 = 0;                                        //聲光報警,LED關(guān)閉
  75.         InitTimer0();                                                //T0定時器初始化程序
  76.         LcdInit();                                                        //lcd1602初始化
  77.         while(1)
  78.         {
  79.                 Ds1302ReadTime();                                //讀取時間
  80.                 set_work_time();                                //設(shè)定工作時間
  81.                 set_limit_light();                                //設(shè)定光照閾值
  82.                 set_time();
  83.                 light = AD(0);                                        //讀取ADC0832數(shù)值                                        
  84.                 display();                                                 //顯示
  85.                 qiehaun();
  86. //                work();                                                        //工作狀態(tài)
  87.         }
  88. }
  89. void Timer0Interrupt(void) interrupt 1
  90. {
  91.         static uchar count;
  92.     TH0 = 0x0D8;
  93.     TL0 = 0x0F0;
  94.         count ++;
  95.         if(count>=100)
  96.         {
  97.                 time ++;
  98.                 count = 0;
  99.     }
  100.         //add your code here
  101. }
  102. /*******************************************************************************
  103. * 函數(shù)名         : InitTimer0()
  104. * 函數(shù)功能                 : T0定時器初始化程序
  105. * 輸入           : 無
  106. * 輸出                  : 無
  107. *******************************************************************************/
  108. void InitTimer0(void)
  109. {
  110.     TMOD = 0x01;
  111.     TH0 = 0x0D8;
  112.     TL0 = 0x0F0;
  113.     EA = 0;
  114.     ET0 = 1;
  115.     TR0 = 1;
  116. }
  117. /*******************************************************************************
  118. * 函數(shù)名         : work()
  119. * 函數(shù)功能                 : 工作狀態(tài)
  120. * 輸入           : 無
  121. * 輸出                  : 無
  122. *******************************************************************************/
  123. void work()
  124. {
  125.         Read_time();                                        //轉(zhuǎn)換時間
  126.         if(work_time_End!=0 && work_time_Start!=0)                        //工作時間已設(shè)置
  127.         {
  128.                 if(hour >= work_time_Start)                                                //當(dāng)前時間大于起始時間,如起始時間為19:00,當(dāng)前時間為21:00。
  129.                 {
  130.                         Data = AD(1);
  131.                         led_1 = 1;                                                                        //點亮LED
  132.                         if(Data < 50)                                                                //未檢測到LED點亮
  133.                                 Beep = 1;                                                                //聲光報警
  134.                         else                                                                                //檢測到Led點亮
  135.                                 Beep = 0;                                                                //停止報警
  136.                 }
  137.                 else if(hour < work_time_End)         //當(dāng)前時間小于結(jié)束時間,如結(jié)束時間為06:00,當(dāng)前時間為04:00。
  138.                 {
  139.                         if(red_sr)                                        //檢測到人或車
  140.                         {
  141.                                 time = 0;
  142.                                 light_flag = 1;                        //LED標(biāo)志置1,開始T0定時器計時,點亮LED,10s后LED標(biāo)志清零,LED熄滅
  143.                         }
  144.                         if(light_flag)                                        //LED標(biāo)志置1,檢測到人或車
  145.                         {
  146.                                 led_1 = 1;                                        //點亮LED
  147.                                 EA = 1;                                                //開啟中斷
  148.                                 if(time > 10)                                //10s后
  149.                                 {
  150.                                         light_flag = 0;                        //LED標(biāo)志清零
  151.                                         EA = 0;                                           //關(guān)中斷
  152.                                         time = 0;                                 //計時清零
  153.                                 }
  154.                                 Data = AD(1);
  155.                                 if(Data < 50)                                //未檢測到LED點亮
  156.                                         Beep = 1;                                //聲光報警
  157.                                 else                                                //檢測到Led點亮
  158.                                         Beep = 0;                                //停止報警               
  159.                            }
  160.                         else
  161.                                 led_1 = 0;
  162.                 }
  163.                 else
  164.                 {
  165.                         if(light < light_limit)
  166.                         {
  167.                                 led_1 = 1;
  168.                                 Data = AD(1);
  169.                                 if(Data < 50)                                                                //未檢測到LED點亮
  170.                                         Beep = 1;                                                                //聲光報警
  171.                                 else                                                                                //檢測到Led點亮
  172.                                         Beep = 0;                                                                //停止報警
  173.                         }
  174.                         else
  175.                                 led_1 = Beep = 0;
  176.                 }
  177.         }               
  178. }
  179. /*******************************************************************************
  180. * 函數(shù)名         : set_work_time()
  181. * 函數(shù)功能                 : 設(shè)定工作時間
  182. * 輸入           : 無
  183. * 輸出                  : 無
  184. *******************************************************************************/
  185. void set_work_time()
  186. {
  187.         if(key_2 == 0)                                                                                   //設(shè)置鍵按下
  188.         {
  189.                 delayms(10);                                                                        //延時消抖
  190.                 if(key_2 == 0)                                                                          //再次判斷
  191.                 {
  192.                         while(key_2 == 0);
  193.                         LcdWriteCom(0x01);                                                         //清屏
  194.                         delayms(10);
  195.                         LcdWriteCom(0x80);                                                //顯示
  196.                           LcdWriteData('S');
  197.                         LcdWriteData('E');
  198.                         LcdWriteData('T');
  199.                         LcdWriteData('-');
  200.                         LcdWriteData('w');
  201.                         LcdWriteData('o');
  202.                         LcdWriteData('r');
  203.                         LcdWriteData('k');
  204.                         LcdWriteData(' ');
  205.                         LcdWriteData('t');
  206.                         LcdWriteData('i');
  207.                         LcdWriteData('m');
  208.                         LcdWriteData('e');
  209.                         for(;;)                                                                                   //設(shè)定工作時間段
  210.                         {
  211.                                 LcdWriteCom(0xc0);
  212.                                 LcdWriteData('s');
  213.                                 LcdWriteData('t');
  214.                                 LcdWriteData('a');
  215.                                 LcdWriteData('r');
  216.                                 LcdWriteData('t');
  217.                                 LcdWriteData(':');
  218.                                 LcdWriteCom(0xca);
  219.                                 LcdWriteData(0x30+work_time_Start%100/10);
  220.                                 LcdWriteData(0x30+work_time_Start%10);
  221.                                 if(key_2 == 0)                                                        //按鍵2按下,每按一次+5
  222.                                 {
  223.                                         delayms(10);
  224.                                         if(key_2 == 0)
  225.                                         {
  226.                                                 while(key_2 == 0);
  227.                                                 work_time_Start+=1;
  228.                                                 if(work_time_Start > 24)
  229.                                                         work_time_Start = 24;
  230.                                         }
  231.                                 }
  232.                                 if(key_3 == 0)                                                        //按鍵3按下,每按一次-5
  233.                                 {
  234.                                         delayms(10);
  235.                                         if(key_3 == 0)
  236.                                         {
  237.                                                 while(key_3 == 0);
  238.                                                 work_time_Start -=1;
  239.                                                 if(work_time_Start<=work_time_End)                 //禁止起始時間小于結(jié)束時間
  240.                                                         work_time_Start = work_time_End;
  241.                                         }
  242.                                 }
  243.                                 if(key_4 == 0)                                                         //按鍵4按下,輸入下一項
  244.                                 {
  245.                                         delayms(10);
  246.                                         if(key_4 == 0)
  247.                                         {
  248.                                                 while(key_4 == 0);
  249.                                                 LcdWriteCom(0x01);
  250.                                                 break;
  251.                                         }
  252.                                 }
  253.                         }
  254.                         for(;;)                                                                                   //設(shè)定工作時間段
  255.                         {
  256.                                 LcdWriteCom(0xc0);
  257.                                 LcdWriteData('s');
  258.                                 LcdWriteData('t');
  259.                                 LcdWriteData('o');
  260.                                 LcdWriteData('p');
  261.                                 LcdWriteData(' ');
  262.                                 LcdWriteData(':');
  263.                                 LcdWriteCom(0xca);
  264.                                 LcdWriteData(0x30+work_time_End%100/10);
  265.                                 LcdWriteData(0x30+work_time_End%10);
  266.                                 if(key_2 == 0)
  267.                                 {
  268.                                         delayms(10);
  269.                                         if(key_2 == 0)
  270.                                         {
  271.                                                 while(key_2 == 0);
  272.                                                 work_time_End += 1;
  273.                                                 if(work_time_End > work_time_Start)                //禁止結(jié)束時間大于開始時間
  274.                                                         work_time_End = work_time_Start;
  275.                                         }
  276.                                 }
  277.                                 if(key_3 == 0)
  278.                                 {
  279.                                         delayms(10);
  280.                                         if(key_3 == 0)
  281.                                         {
  282.                                                 while(key_3 == 0);
  283.                                                 work_time_End -=1;
  284.                                                 if(work_time_End < 0)
  285.                                                         work_time_End = 0;
  286.                                         }
  287.                                 }
  288.                                 if(key_4 == 0)
  289.                                 {
  290.                                         delayms(10);
  291.                                         if(key_4 == 0)
  292.                                         {
  293.                                                 while(key_4 == 0);
  294.                                                 LcdWriteCom(0x01);
  295.                                                 break;
  296.                                         }
  297.                                 }
  298.                         }
  299.                 }
  300.         }       
  301. }
  302. /*******************************************************************************
  303. * 函數(shù)名         : set_limit_light()
  304. * 函數(shù)功能                 : 設(shè)定光照閾值
  305. * 輸入           : 無
  306. * 輸出                  : 無
  307. *******************************************************************************/
  308. void set_limit_light()
  309. {
  310.         if(key_3 == 0)                                                                                   //鍵3按下
  311.         {
  312.                 delayms(10);                                                                        //延時消抖
  313.                 if(key_3 == 0)                                                                          //再次判斷
  314.                 {
  315.                         while(key_3 == 0);
  316.                         LcdWriteCom(0x01);                                                         //清屏
  317.                         delayms(10);
  318.                         LcdWriteCom(0x80);                                                //顯示
  319.                           LcdWriteData('S');
  320.                         LcdWriteData('E');
  321.                         LcdWriteData('T');
  322.                         LcdWriteData('-');
  323.                         LcdWriteData('L');
  324.                         LcdWriteData('i');
  325.                         LcdWriteData('g');
  326.                         LcdWriteData('h');
  327.                         LcdWriteData('t');
  328.                         LcdWriteData('-');
  329.                         LcdWriteData('L');
  330.                         LcdWriteData('i');
  331.                         LcdWriteData('m');
  332.                         LcdWriteData('i');
  333.                         LcdWriteData('t');
  334.                         for(;;)                                                                                   //設(shè)定光照閾值
  335.                         {
  336.                                 LcdWriteCom(0xc0);
  337.                                 LcdWriteData('D');
  338.                                 LcdWriteData('a');
  339.                                 LcdWriteData('t');
  340.                                 LcdWriteData('a');
  341.                                 LcdWriteData(':');
  342.                                 LcdWriteCom(0xca);
  343.                                 LcdWriteData(0x30+light_limit%1000/100);
  344.                                 LcdWriteData(0x30+light_limit%100/10);
  345.                                 LcdWriteData(0x30+light_limit%10);
  346.                                 if(key_2 == 0)                                                        //按鍵2按下,每按一次+5
  347.                                 {
  348.                                         delayms(10);
  349.                                         if(key_2 == 0)
  350.                                         {
  351.                                                 while(key_2 == 0);
  352.                                                 light_limit += 5;
  353.                                                 if(light_limit > 250)
  354.                                                         light_limit = 250;
  355.                                         }
  356.                                 }
  357.                                 if(key_3 == 0)                                                        //按鍵3按下,每按一次-5
  358.                                 {
  359.                                         delayms(10);
  360.                                         if(key_3 == 0)
  361.                                         {
  362.                                                 while(key_3 == 0);
  363.                                                 light_limit -= 5;
  364.                                                 if(light_limit < 10)
  365.                                                         light_limit = 10;
  366.                                         }
  367.                                 }
  368.                                 if(key_4 == 0)                                                         //按鍵4按下,輸入下一項
  369.                                 {
  370.                                         delayms(10);
  371.                                         if(key_4 == 0)
  372.                                         {
  373.                                                 while(key_4 == 0);
  374.                                                 LcdWriteCom(0x01);
  375.                                                 break;
  376.                                         }
  377.                                 }
  378.                         }
  379.                 }
  380.         }       
  381. }
  382. /*******************************************************************************
  383. * 函數(shù)名         : read_time()
  384. * 函數(shù)功能                 : 轉(zhuǎn)換時間
  385. * 輸入           : 無
  386. * 輸出                  : 無
  387. *******************************************************************************/
  388. void Read_time()
  389. {
  390.         hour = (Time_1[2]/16)*10 + (Time_1[2]&0x0f);
  391.         min = (Time_1[1]/16)*10 + (Time_1[1]&0x0f);
  392.         sec = (Time_1[0]/16)*10 + (Time_1[0]&0x0f);
  393. }
  394. /*******************************************************************************
  395. * 函數(shù)名         : display()
  396. * 函數(shù)功能                 : 主界面顯示函數(shù)
  397. * 輸入           : 無
  398. * 輸出                  : 無
  399. *******************************************************************************/
  400. void display()
  401. {
  402.         LcdWriteCom(0x80);       
  403.         LcdWriteData('2');
  404.         LcdWriteData('0');
  405.         LcdWriteData('0'+Time_1[6]/16);                        //年
  406.         LcdWriteData('0'+(Time_1[6]&0x0f));
  407.         LcdWriteData('-');
  408.         LcdWriteData('0'+Time_1[4]/16);                        //月
  409.         LcdWriteData('0'+(Time_1[4]&0x0f));
  410.         LcdWriteData('-');
  411.         LcdWriteData('0'+Time_1[3]/16);                        //日
  412.         LcdWriteData('0'+(Time_1[3]&0x0f));
  413.         LcdWriteData(' ');

  414.         LcdWriteCom(0x8e);
  415.         LcdWriteData('0'+time%100/10);
  416.         LcdWriteData('0'+time%10);
  417.        
  418.        
  419.         LcdWriteCom(0xc0);       
  420.         LcdWriteData('0'+Time_1[2]/16);                        //時
  421.         LcdWriteData('0'+(Time_1[2]&0x0f));
  422.         LcdWriteData(':');
  423.         LcdWriteData('0'+Time_1[1]/16);                        //分
  424.         LcdWriteData('0'+(Time_1[1]&0x0f));
  425.         LcdWriteData(':');
  426.         LcdWriteData('0'+Time_1[0]/16);                        //秒
  427.         LcdWriteData('0'+(Time_1[0]&0x0f));       

  428.         LcdWriteCom(0xcd);                                                 //顯示當(dāng)前光照強度
  429.         LcdWriteData('0'+light/100);
  430.         LcdWriteData('0'+light%100/10);
  431.         LcdWriteData('0'+light%10);
  432. }
  433. /*******************************************************************************
  434. * 函數(shù)名         : delayms()
  435. * 函數(shù)功能                 : 延時函數(shù),ms級別
  436. * 輸入           : 無
  437. * 輸出                  : 無
  438. *******************************************************************************/
  439. void delayms(unsigned int x)   //0.14ms誤差 0us
  440. {
  441.         unsigned char i;
  442.         while(x--)
  443.         {
  444.                 for (i = 0; i<13; i++)
  445.                 {}
  446.         }
  447. }
  448. /*************************************************************
  449. * 函 數(shù) 名         : delay10ms
  450. * 函數(shù)功能                   : 延時函數(shù),延時時間10ms*d
  451. * 輸    入         : 無
  452. * 輸    出         : 無
  453. *************************************************************/
  454. void delay10ms(int d)   //誤差 0us
  455. {
  456.     unsigned char a,b,c;
  457.     for(c=d;c>0;c--)
  458.         for(b=38;b>0;b--)
  459.             for(a=130;a>0;a--);
  460. }
  461. /*************************************************************
  462. * 函 數(shù) 名         : set_time()
  463. * 函數(shù)功能                   : 設(shè)置時間
  464. * 輸    入         : 無
  465. * 輸    出         : 無
  466. *************************************************************/
  467. void set_time()                                                               
  468. {
  469.         char time_flag = 0;                         //定義一個時間變量
  470.         char time_flag_1 = 0;
  471.            if(key_1==0)                                //進入設(shè)置時間
  472.            {
  473.                    while(key_1==0);
  474.                 //設(shè)置年
  475.                 time_flag = Time_1[6]/16;                //取出DS1302 年的十位
  476.                 time_flag_1 = (Time_1[6]&0x0f);
  477.                 for(;;)
  478.                 {                               
  479.                         LcdWriteCom(0x82);  //顯示坐標(biāo)         
  480.                         LcdWriteCom(0x0e);  //光標(biāo)
  481.                         delay10ms(50);       
  482.                         LcdWriteCom(0x0c);  //光標(biāo)                       
  483.                         if(key_2 ==0)
  484.                         {
  485.                                 while(key_2==0);                         //時間加
  486.                                 time_flag++;
  487.                         }
  488.                         if(key_3 ==0)                                       
  489.                         {
  490.                                 while(key_3==0);                  //時間減
  491.                                 time_flag--;
  492.                         }
  493.                         if(time_flag>=9)                                           //顯示范圍
  494.                                 time_flag = 9;
  495.                         else if(time_flag<=0)
  496.                                 time_flag = 0;

  497.                         LcdWriteData(time_flag+'0');   //在lcd1602進行顯示
  498.                        
  499.                         if(key_4 ==0)                                        //確認(rèn)
  500.                         {
  501.                                 while(key_4==0);                  //時間減
  502.                                 Time_1[6] = time_flag*16;                        //時間寫入數(shù)組
  503.                                 break;
  504.                         }
  505.                 }
  506.                
  507.                 for(;;)
  508.                 {
  509.                         LcdWriteCom(0x83);  //顯示坐標(biāo)         
  510.                         LcdWriteCom(0x0e);  //光標(biāo)
  511.                         delay10ms(50);       
  512.                         LcdWriteCom(0x0c);  //光標(biāo)       

  513.                        
  514.                         if(key_2 ==0)
  515.                         {
  516.                                 while(key_2==0);                         //時間加
  517.                                 time_flag_1++;
  518.                         }
  519.                         if(key_3 ==0)                                       
  520.                         {
  521.                                 while(key_3==0);                  //時間減
  522.                                 time_flag_1--;
  523.                         }
  524.                         if(time_flag_1>=9)                                           //顯示范圍
  525.                                 time_flag_1 = 9;
  526.                         else if(time_flag_1<=0)
  527.                                 time_flag_1 = 0;

  528.                         LcdWriteData(time_flag_1+'0');   //在lcd1602進行顯示
  529.                        
  530.                         if(key_4 ==0)                                        //確認(rèn)
  531.                         {
  532.                                 while(key_4==0);                  //時間減
  533.                                 Time_1[6] += time_flag_1;        //時間寫入數(shù)組
  534.                                 break;
  535.                         }
  536.                 }

  537.                 //設(shè)置月
  538.                 time_flag = Time_1[4]/16;                //取出DS1302 月的十位
  539.                 time_flag_1 = (Time_1[4]&0x0f);
  540.                 for(;;)
  541.                 {
  542.                         LcdWriteCom(0x85);  //顯示坐標(biāo)         
  543.                         LcdWriteCom(0x0e);  //光標(biāo)
  544.                         delay10ms(50);       
  545.                         LcdWriteCom(0x0c);  //光標(biāo)       

  546.                        
  547.                         if(key_2 ==0)
  548.                         {
  549.                                 while(key_2==0);                         //時間加
  550.                                 time_flag++;
  551.                         }
  552.                         if(key_3 ==0)                                       
  553.                         {
  554.                                 while(key_3==0);                  //時間減
  555.                                 time_flag--;
  556.                         }
  557.                         if(time_flag>=9)                                           //顯示范圍
  558.                                 time_flag = 9;
  559.                         else if(time_flag<=0)
  560.                                 time_flag = 0;

  561.                         LcdWriteData(time_flag+'0');   //在lcd1602進行顯示
  562.                        
  563.                         if(key_4 ==0)                                        //確認(rèn)
  564.                         {
  565.                                 while(key_4==0);                  //時間減
  566.                                 Time_1[4] = time_flag*16;                        //時間寫入數(shù)組
  567.                                 break;
  568.                         }
  569.                 }

  570.                
  571. ……………………

  572. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
智能路燈.7z (202.86 KB, 下載次數(shù): 662)


評分

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

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:532512 發(fā)表于 2020-6-19 12:55 | 只看該作者
太謝謝了
回復(fù)

使用道具 舉報

板凳
ID:982149 發(fā)表于 2021-11-19 00:22 來自手機 | 只看該作者
你好,有BOM嗎
回復(fù)

使用道具 舉報

地板
ID:838393 發(fā)表于 2022-1-14 18:25 | 只看該作者
我看了一下,做得特別認(rèn)真仔細(xì),功能也非常豐富,謝謝了
回復(fù)

使用道具 舉報

5#
ID:1028987 發(fā)表于 2022-5-29 16:50 | 只看該作者
很好,制作完美
回復(fù)

使用道具 舉報

6#
ID:1031013 發(fā)表于 2022-6-1 12:58 | 只看該作者
感謝老哥的分享
回復(fù)

使用道具 舉報

7#
ID:1031013 發(fā)表于 2022-6-1 21:29 | 只看該作者
設(shè)計有思路了,感謝老哥
回復(fù)

使用道具 舉報

8#
ID:63541 發(fā)表于 2022-6-21 19:58 | 只看該作者
為什么我下載你的文件仿真時文本標(biāo)注的漢字都是亂碼,下載其他人的就不會亂碼。
回復(fù)

使用道具 舉報

9#
ID:1063726 發(fā)表于 2023-2-21 13:10 | 只看該作者
厲害,功能齊全,要是能加一個檢測光強實現(xiàn)pwm調(diào)光就好了
回復(fù)

使用道具 舉報

10#
ID:1089141 發(fā)表于 2024-3-6 18:17 | 只看該作者
內(nèi)容很豐富,為我提供了思路
回復(fù)

使用道具 舉報

11#
ID:1089141 發(fā)表于 2024-3-7 19:29 | 只看該作者
這DS1302中的時間斷電后不變是怎么實現(xiàn)的
回復(fù)

使用道具 舉報

12#
ID:1140909 發(fā)表于 2024-12-23 10:09 | 只看該作者
我有個問題,這個設(shè)計他需要什么需要買的傳感器或者控制模塊之類的嗎
回復(fù)

使用道具 舉報

13#
ID:402677 發(fā)表于 2024-12-23 11:04 | 只看該作者
前些時候?qū)W校的紅綠燈壞了,我用STC15F104W單片機做了一個,運行正常
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日日夜夜精品视频 | 亚洲男人天堂 | 中文字幕av在线播放 | 嫩草黄色影院 | 五月香婷婷 | 精精久久| 欧美日一区二区 | 色婷婷亚洲国产女人的天堂 | 欧美久久一级特黄毛片 | 久久精品成人 | 亚洲国产成人精品女人久久久 | 欧美性网| 一区二区三区四区在线视频 | 在线免费黄色小视频 | 亚洲精品4 | av大片在线观看 | 中文天堂在线观看 | 日本三级在线 | 免费观看一级视频 | 色视频在线免费观看 | 国产免费一区二区 | 国产在线精品一区二区 | 国产精品69毛片高清亚洲 | xxxxxx国产| 91精品国产综合久久香蕉922 | 91色视频在线观看 | 午夜视频一区二区三区 | 国产成人精品一区二 | 日韩在线成人 | 国产91在线播放 | 亚洲成人网在线观看 | 91久久婷婷| 久久精品国产99国产 | 99国产精品一区二区三区 | 色婷婷综合久久久中字幕精品久久 | 久久久久久国产精品免费免费男同 | 久久久久精 | www.色.com| 欧美精品久久久久久久久老牛影院 | 国产精品一区二区av | 一区欧美 |