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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7125|回復: 11
打印 上一主題 下一主題
收起左側

單片機4層電梯控制程序

  [復制鏈接]
跳轉到指定樓層
樓主
ID:153353 發表于 2016-12-9 00:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
全部源碼下載:
C語言程序.rar (34.08 KB, 下載次數: 84)


程序預覽:
  1. #include "reg51.h"
  2. #define uchar unsigned char
  3. #define uint unsigned int

  4. sbit Up_LED                 = P1^0;        //上行LED定義
  5. sbit Down_LED                 = P1^1;        //下行LED定義

  6. sbit Open_LED       = P1^2; //開門狀態LED

  7. sbit First                         = P3^7; //1樓叫上按鍵
  8. sbit Second_Down         = P3^6;        //2樓叫下按鍵
  9. sbit Second_Up                 = P3^5; //2樓叫上按鍵
  10. sbit Third_Down         = P3^4; //3樓叫下按鍵
  11. sbit Third_Up                 = P3^3;        //3樓叫上按鍵
  12. sbit Fourth                 = P3^2;        //4樓叫下按鍵            

  13. sbit Container1  = P2^4;        //電梯內1樓按鍵
  14. sbit Container2  = P2^5;        //電梯內2樓按鍵
  15. sbit Container3  = P2^6;        //電梯內3樓按鍵
  16. sbit Container4  = P2^7;        //電梯內4樓按鍵

  17. sbit Arm         = P1^3;         //電梯內報警按鈕
  18. sbit Arm_Beep    = P1^4;         //電梯外報警器

  19. sbit  Moto1        = P2^0;   //步進電機
  20. sbit  Moto2        = P2^1;   //步進電機
  21. sbit  Moto3        = P2^2;   //步進電機
  22. sbit  Moto4        = P2^3;   //步進電機

  23. uchar Key_Enable[10]; //按鍵存儲


  24. uchar code Tab[]={0x14,0xD7,0x32,0x52,0xD4,0x38};        //數碼管數字定義

  25. uchar Tab_Up[]={0,0,0};                //存儲上行呼叫記錄
  26. uchar Tab_Down[]={0,0,0};        //存儲下行呼叫記錄
  27. uchar Tab_Nei[]={0,0,0,0};        //存儲電梯內部呼叫記錄
  28. uchar Now=1;                                //當前所在樓層
  29.        
  30. void delay_Arm(uint t)           //延時函數
  31. {
  32.         while(t--);
  33. }

  34. void Keyboard()                         //按鍵掃描函數
  35. {
  36.         uchar i;
  37.         if(!Key_Enable[0])if(!First){Tab_Up[0]=1;}                  //1樓有人按下,存儲到上行呼叫表
  38.         if(!Key_Enable[1])if(!Second_Up){Tab_Up[1]=1;}          //2樓上行有人按下,存儲到上行呼叫表
  39.         if(!Key_Enable[2])if(!Third_Up){Tab_Up[2]=1;}          //3樓上行有人按下,存儲到上行呼叫表

  40.         if(!Key_Enable[5])if(!Fourth){Tab_Down[2]=1;  }  //4樓有人按下,存儲到下行呼叫表
  41.         if(!Key_Enable[4])if(!Third_Down){Tab_Down[1]=1;} //3樓下行有人按下,存儲到下行呼叫表
  42.         if(!Key_Enable[3])if(!Second_Down){Tab_Down[0]=1;}        //2樓下行有人按下,存儲到下行呼叫表

  43.         if(!Key_Enable[6])if(!Container1){Tab_Nei[0]=1;}        //1樓有人按下,存儲到電梯內呼叫表
  44.         if(!Key_Enable[7])if(!Container2){Tab_Nei[1]=1;}        //2樓有人按下,存儲到電梯內呼叫表
  45.         if(!Key_Enable[8])if(!Container3){Tab_Nei[2]=1;}        //3樓有人按下,存儲到電梯內呼叫表
  46.         if(!Key_Enable[9])if(!Container4){Tab_Nei[3]=1;}        //4樓有人按下,存儲到電梯內呼叫表

  47.         First=!Tab_Up[0];        //如果有人按下就點亮對應LED

  48.         Second_Up=!Tab_Up[1]; //如果有人按下就點亮對應LED
  49.         Second_Down=!Tab_Down[0]; //如果有人按下就點亮對應LED

  50.         Third_Up=!Tab_Up[2];  //如果有人按下就點亮對應LED
  51.         Third_Down=!Tab_Down[1];//如果有人按下就點亮對應LED
  52.        
  53.         Fourth=!Tab_Down[2]; //如果有人按下就點亮對應LED

  54.         Container1=!Tab_Nei[0];         //如果有人按下就點亮對應LED
  55.         Container2=!Tab_Nei[1];        //如果有人按下就點亮對應LED
  56.         Container3=!Tab_Nei[2];        //如果有人按下就點亮對應LED
  57.         Container4=!Tab_Nei[3];        //如果有人按下就點亮對應LED

  58.         if(!Arm)                  
  59.         {
  60.                 P0=Tab[5];
  61.                 delay_Arm(4000);        //報警器延時
  62.                 while(!Arm); //等待按鍵釋放
  63.                 delay_Arm(2000);   //報警器延時
  64.                 while(1)
  65.                 {
  66.                         delay_Arm(100);         //去抖動
  67.                         i++;
  68.                         if(i>200)
  69.                         {
  70.                                 i=0;
  71.                                 Arm_Beep=!Arm_Beep;          //取反
  72.                         }
  73.                         if(!Arm)
  74.                         {
  75.                                 Arm_Beep=1;
  76.                                 break;
  77.                         }
  78.                 }
  79.                 delay_Arm(4000);   //報警器延時
  80.                 while(!Arm); //等待按鍵釋放
  81.                 delay_Arm(20000);  //報警器延時
  82.                 P0=Tab[Now];
  83.         }
  84. }

  85. void delay(uint t)
  86. {
  87.         while(t--)
  88.         Keyboard();
  89. }

  90. /**wai_flag=1代表下行wai_flag=2代表上行*********
  91. nei_flag=1代表內部請求,nei_flag=0代表無內部請求
  92. **********num第幾層樓****************/
  93. void open(uchar wai_flag,uchar nei_flag,uchar num)           //開門對應閃爍LED
  94. {
  95.         uchar i;
  96.         Open_LED=0;  //點亮開門LED
  97.         Arm_Beep=0;          //蜂鳴器提示到達
  98.         for(i=0;i<12;i++)          //閃爍對應的呼叫LED
  99.         {
  100.                 if(wai_flag==1)//如果是下行就閃爍對應樓層的LED
  101.                 {
  102.                         Tab_Down[num-2]=!Tab_Down[num-2]; //按鍵碼處理
  103.                         Key_Enable[num+1]=1;                          //按鍵碼處理
  104.                 }
  105.                 if(wai_flag==2)//如果是上行就閃爍對應樓層的LED
  106.                 {
  107.                         Tab_Up[num-1]=!Tab_Up[num-1];         //按鍵碼處理
  108.                         Key_Enable[num-1]=1;                         //按鍵碼處理
  109.                 }
  110.                 if(nei_flag==1)//如果是內部就閃爍對應樓層的LED
  111.                 {
  112.                         Tab_Nei[num-1]=!Tab_Nei[num-1];          //按鍵碼處理
  113.                         Key_Enable[num+5]=1;                          //按鍵碼處理
  114.                 }
  115.                 delay(2000);
  116.                 if(i>1)Arm_Beep=1;//關閉蜂鳴器
  117.         }
  118.         for(i=0;i<10;i++)Key_Enable[i]=0;          //清空按鍵碼

  119.         if(wai_flag==1)//如果是下行就閃爍對應樓層的LED
  120.         {
  121.                 Tab_Down[num-2]=0;
  122.                 if(num==4)Fourth=1;
  123.                 if(num==3)Third_Down=1;
  124.                 if(num==2)Second_Down=1;
  125.         }
  126.         if(wai_flag==2)//如果是上行就閃爍對應樓層的LED
  127.         {
  128.                 Tab_Up[num-1]=0;
  129.                 if(num==1)First=1;
  130.                 if(num==2)Second_Up=1;
  131.                 if(num==3)Third_Up=1;
  132.         }
  133.         if(nei_flag==1)//如果是內部就閃爍對應樓層的LED
  134.         {
  135.                 Tab_Nei[num-1]=0;
  136.                 if(num==1)Container1=1;
  137.                 if(num==2)Container2=1;
  138.                 if(num==3)Container3=1;
  139.                 if(num==4)Container4=1;
  140.         }
  141.         Open_LED=1;  //關閉開門LED
  142.                
  143. }
  144. void ting()                  
  145. {
  146.         Moto1=Moto2=Moto3=Moto4=0;        //步進電機停止轉動
  147. }
  148. void zheng(uint t)
  149. {
  150.         while(t--)
  151.         {
  152.                 Moto1=1;Moto2=Moto3=Moto4=0; delay(15);        //步進電機8個節拍循環旋轉
  153.                 Moto2=Moto1=1;Moto3=Moto4=0; delay(15);        //步進電機8個節拍循環旋轉
  154.        
  155.                 Moto2=1;Moto1=Moto3=Moto4=0; delay(15);         //步進電機8個節拍循環旋轉
  156.                 Moto3=Moto2=1;Moto1=Moto4=0; delay(15);         //步進電機8個節拍循環旋轉
  157.        
  158.                 Moto3=1;Moto2=Moto1=Moto4=0; delay(15);         //步進電機8個節拍循環旋轉
  159.                 Moto4=Moto3=1;Moto2=Moto1=0; delay(15);         //步進電機8個節拍循環旋轉
  160.        
  161.                 Moto4=1;Moto2=Moto3=Moto1=0; delay(15);         //步進電機8個節拍循環旋轉
  162.                 Moto4=Moto1=1;Moto2=Moto3=0; delay(15);         //步進電機8個節拍循環旋轉
  163.         }
  164.         ting();
  165. }

  166. void fan(uint t)
  167. {         
  168.         while(t--)
  169.         {
  170.                 Moto4=Moto1=1;Moto2=Moto3=0; delay(15);        //步進電機8個節拍循環旋轉
  171.                 Moto4=1;Moto2=Moto3=Moto1=0; delay(15);        //步進電機8個節拍循環旋轉
  172.                
  173.                 Moto4=Moto3=1;Moto2=Moto1=0; delay(15);        //步進電機8個節拍循環旋轉
  174.                 Moto3=1;Moto2=Moto1=Moto4=0; delay(15);        //步進電機8個節拍循環旋轉
  175.                
  176.                 Moto3=Moto2=1;Moto1=Moto4=0; delay(15);        //步進電機8個節拍循環旋轉
  177.                 Moto2=1;Moto1=Moto3=Moto4=0; delay(15);        //步進電機8個節拍循環旋轉
  178.                
  179.                 Moto2=Moto1=1;Moto3=Moto4=0; delay(15);         //步進電機8個節拍循環旋轉
  180.                 Moto1=1;Moto2=Moto3=Moto4=0; delay(15);         //步進電機8個節拍循環旋轉
  181.         }
  182.         ting();
  183. }
  184. void Upward()           //電梯上行步進電機正轉
  185. {
  186.         Up_LED=0;                 //打開上行LED
  187.         Down_LED=1;                 //關閉下行LED
  188.         zheng(256);
  189. }
  190. void Downward()                //電梯下行步進電機反轉
  191. {
  192.         Down_LED=0;                 //打開下行LED
  193.         Up_LED=1;                 //關閉上行LED
  194.         fan(256);
  195. }



  196. void  Fourth_Process()          //四樓的處理函數
  197. {
  198.         if(Tab_Down[2])         //查表如果第四層外部有人按下按鈕
  199.         {
  200.                 if(Tab_Nei[3])        //查表如果第四層內部也有人按下按鈕
  201.                 open(1,1,4);//第四層開門-外部進電梯
  202.                 else
  203.                 open(1,0,4);//第四層開門-外部進電梯
  204.                 Tab_Down[2]=0;//清除第四層標志
  205.         }       
  206.        
  207.         if(Tab_Nei[3])        //查表如果第四層內部有人按下按鈕
  208.         {
  209.                 open(0,1,4);//第四層開門-內部出電梯
  210.                 Tab_Nei[3]=0;//清除第四層轎廂標志       
  211.         }
  212.         if(Tab_Nei[2]||Tab_Nei[1]||Tab_Nei[0])//查表看內部下行請求
  213.         {               
  214.                 Downward();
  215.                 Now = 3;//下一層
  216.                 P0=Tab[Now];           //顯示當前樓層
  217.         }
  218.         else if(Tab_Up[0]||Tab_Up[1]||Tab_Up[2]||Tab_Down[0]||Tab_Down[1])        //查表有外部有請求
  219.         {               
  220.                 Downward();
  221.                 Now = 3;//下一層
  222.                 P0=Tab[Now];        //顯示當前樓層               
  223.         }
  224.         else
  225.         {
  226.                 Up_LED=Down_LED=1;   //關閉上下行LED   
  227.         }
  228. }

  229. void Third_Process()         //三樓的處理函數
  230. {
  231.         if(Down_LED==0)//下行中
  232.         {
  233.                 delay(1);
  234.                 if(Tab_Down[1])//本層有人按下下行按鍵
  235.                 {       
  236.                         if(Tab_Nei[2]) //本層有人出電梯
  237.                         open(1,1,3);//第三層下行呼叫開門
  238.                         else
  239.                         open(1,0,3);//第三層下行呼叫開門
  240.                         Tab_Down[1]=0;//清除第三層下行標志       
  241.                 }
  242.                 if(Tab_Nei[2]) //本層有人出電梯
  243.                 {
  244.                         open(0,1,3);//第三層出電梯開門
  245.                         Tab_Nei[2]=0;//清除第三層轎廂標志
  246.                 }
  247.                 if(Tab_Nei[1]||Tab_Nei[0])//內部下行請求
  248.                 {               
  249.                         Downward();
  250.                         Now = 2;//下一層
  251.                         P0=Tab[Now];
  252.                 }
  253.                 else if(Tab_Up[0]||Tab_Up[1]||Tab_Down[0])        //外部請求
  254.                 {         
  255.                         Downward();
  256.                         Now = 2;//下一層
  257.                         P0=Tab[Now];                       
  258.                 }
  259.                 else
  260.                 {
  261.                         Down_LED=1;     //關閉下行LED
  262.                         Up_LED=1;    //關閉上行LED
  263.                 }       
  264.         }
  265.         else if(Up_LED==0)        //上行中
  266.         {
  267.                  if(Tab_Up[2])
  268.                 {
  269.                         if(Tab_Nei[2])//本層有人出電梯
  270.                         open(2,1,3);//第三層上行呼叫開門
  271.                         else
  272.                         open(2,0,3);//第三層上行呼叫開門
  273.                         Tab_Up[2]=0;//清除第三層上行標志       
  274.                 }
  275.                 if(Tab_Nei[2]) //本層有人出電梯
  276.                 {
  277.                         open(0,1,3);//第三層出電梯開門
  278.                         Tab_Nei[2]=0;//清除第三層轎廂標志
  279.                 }
  280.                 if(Tab_Nei[3])         //查表
  281.                 {          
  282.                         Upward();
  283.                         Now=4;
  284.                         P0=Tab[Now];
  285.                 }
  286.                 else if(Tab_Down[2])        //外部請求
  287.                 {          
  288.                         Upward();
  289.                         Now = 4;//向上運行一層
  290.                         P0=Tab[Now];    //顯示當前樓層                       
  291.                 }
  292.                 else
  293.                 {
  294.                         Down_LED=1;     //關閉下行LED
  295.                         Up_LED=1;    //關閉上行LED
  296.                 }
  297.         }
  298.         else                //電梯停在本層
  299.         {
  300.                 if(Tab_Down[1])           //查表
  301.                 {
  302.                         if(Tab_Nei[2])          //查表
  303.                         open(1,1,3);//第三層開門-外部進電梯
  304.                         else
  305.                         open(1,0,3);//第三層開門-外部進電梯
  306.                         Tab_Down[1]=0;//清除第三層標志
  307.                 }
  308.                 if(Tab_Up[2])//本層上
  309.                 {
  310.                         if(Tab_Nei[2])          //查表
  311.                         open(2,1,3);//第三層下行呼叫開門
  312.                         else
  313.                         open(2,0,3);//第三層下行呼叫開門
  314.                         Tab_Up[2]=0;//清除第三層下行標志       
  315.                 }       
  316.                
  317.                 if(Tab_Nei[2])          //查表
  318.                 {
  319.                         open(0,1,3);//第三層開門-內部出電梯
  320.                         Tab_Nei[2]=0;//清除第三層轎廂標志       
  321.                 }
  322.                 if(Tab_Nei[3])         //查表
  323.                 {          
  324.                         Upward();
  325.                         Now = 4;//上一層
  326.                         P0=Tab[Now];    //顯示當前樓層       
  327.                 }
  328.                 else if(Tab_Nei[1]||Tab_Nei[0])//內部下行請求
  329.                 {          
  330.                         Downward();
  331.                         Now = 2;//下一層
  332.                         P0=Tab[Now];    //顯示當前樓層
  333.                 }
  334.                 else if(Tab_Up[0]||Tab_Up[1]||Tab_Down[0])        //外部請求
  335.                 {          
  336.                         Downward();
  337.                         Now = 2;//下一層
  338.                         P0=Tab[Now];    //顯示當前樓層                       
  339.                 }
  340.                 else if(Tab_Down[2])   //查表
  341.                 {         
  342.                         Upward();
  343.                         Now = 4;//上一層
  344.                         P0=Tab[Now];    //顯示當前樓層       
  345.                 }
  346.         }

  347.        
  348. }

  349. void Second_Process()           //二樓的處理函數
  350. {
  351.         if(Down_LED==0)//下行中
  352.         {
  353.                 if(Tab_Down[0])//本層下
  354.                 {
  355.                         if(Tab_Nei[1]) //本層有人出電梯
  356.                         open(1,1,2);//第二層下行呼叫開門
  357.                         else
  358.                         open(1,0,2);//第二層下行呼叫開門
  359.                         Tab_Down[0]=0;//清除第二層下行標志       
  360.                 }
  361.                
  362.                 if(Tab_Nei[1]) //本層有人出電梯
  363.                 {
  364.                         open(0,1,2);//第二層出電梯開門
  365.                         Tab_Nei[1]=0;//清除第二層轎廂標志
  366.                 }
  367.                
  368.                 if(Tab_Nei[0])//內部下行請求
  369.                 {       
  370.                         Downward();       
  371.                         Now = 1;//下一層
  372.                         P0=Tab[Now];    //顯示當前樓層
  373.                 }
  374.                 else if(Tab_Up[0])        //外部請求
  375.                 {          
  376.                         Downward();
  377.                         Now = 1;//下一層
  378.                         P0=Tab[Now];    //顯示當前樓層                       
  379.                 }
  380.                 else
  381.                 {
  382.                         Down_LED=1;     //關閉下行LED
  383.                         Up_LED=1;    //關閉上行LED
  384.                 }       
  385.         }
  386.         else if(Up_LED==0)          //上行中
  387.         {
  388.                  if(Tab_Up[1])        //查表
  389.                 {
  390.                         if(Tab_Nei[1]) //本層有人出電梯
  391.                         open(2,1,2);//第二層上行呼叫開門
  392.                         else
  393.                         open(2,0,2);//第二層上行呼叫開門
  394.                         Tab_Up[1]=0;//清除第二層上行標志       
  395.                 }
  396.                 if(Tab_Nei[1]) //本層有人出電梯
  397.                 {
  398.                         open(0,1,2);//第二層出電梯開門
  399.                         Tab_Nei[1]=0;//清除第二層轎廂標志
  400.                 }
  401.                 if(Tab_Nei[2]||Tab_Nei[3])        //轎廂內有人去3或4樓
  402.                 {       
  403.                         Upward();
  404.                         Now=3;          //向上運行一層
  405.                         P0=Tab[Now];    //顯示當前樓層
  406.                 }
  407.                 else if(Tab_Down[2]||Tab_Down[1]||Tab_Up[2])        //外部請求
  408.                 {       
  409.                         Upward();
  410.                         Now = 3;//向上運行一層
  411.                         P0=Tab[Now];    //顯示當前樓層                       
  412.                 }
  413.                 else
  414.                 {
  415.                         Down_LED=1;     //關閉下行LED
  416.                         Up_LED=1;    //關閉上行LED
  417.                 }
  418.         }
  419.         else                //電梯停在本層
  420.         {
  421.                 if(Tab_Down[0])
  422.                 {
  423.                         if(Tab_Nei[1])
  424.                         open(1,1,2);//第二層開門-外部進電梯
  425.                         else
  426.                         open(1,0,2);//第二層開門-外部進電梯
  427.                         Tab_Down[0]=0;//清除第二層標志
  428.                 }
  429.                 if(Tab_Up[1])//本層上
  430.                 {
  431.                         if(Tab_Nei[1])
  432.                         open(2,1,2);//第二層下行呼叫開門
  433.                         else
  434.                         open(2,0,2);//第二層下行呼叫開門
  435.                         Tab_Up[1]=0;//清除第二層下行標志       
  436.                 }       
  437.                
  438.                 if(Tab_Nei[1])
  439.                 {
  440.                         open(0,1,2);//第二 層開門-內部出電梯
  441.                         Tab_Nei[1]=0;//清除第二層轎廂標志       
  442.                 }
  443.                 if(Tab_Nei[2]||Tab_Nei[3])
  444.                 {          
  445.                         Upward();
  446.                         Now = 3;//上一層
  447.                         P0=Tab[Now];    //顯示當前樓層       
  448.                 }
  449.                 else if(Tab_Nei[0])//內部下行請求
  450.                 {         
  451.                         Downward();
  452.                         Now = 1;//下一層
  453.                         P0=Tab[Now];    //顯示當前樓層
  454.                 }
  455.                 else if(Tab_Up[0])        //外部請求
  456.                 {          
  457.                         Downward();
  458.                         Now = 1;//下一層
  459.                         P0=Tab[Now];    //顯示當前樓層                       
  460.                 }
  461.                 else if(Tab_Down[1]||Tab_Down[2]||Tab_Up[2])
  462.                 {          
  463.                         Upward();
  464.                         Now = 3;//上一層
  465.                         P0=Tab[Now];    //顯示當前樓層       
  466.                 }
  467.         }
  468. }


  469. void  First_Process()          //一樓的處理函數
  470. {
  471.         if(Tab_Up[0])          //查表
  472.         {
  473.                 if(Tab_Nei[0])           //查表
  474.                 open(2,1,1);//第一層開門-外部進電梯
  475.                 else
  476.                 open(2,0,1);//第一層開門-外部進電梯
  477.                 Tab_Up[0]=0;//清除第一層標志
  478.         }       
  479.        
  480.         if(Tab_Nei[0])           //查表
  481.         {
  482.                 open(0,1,1);//第一層開門-內部出電梯
  483.                 Tab_Nei[0]=0;//清除第一層轎廂標志       
  484.         }
  485.         if(Tab_Nei[2]||Tab_Nei[1]||Tab_Nei[3])//內部上行請求
  486.         {          
  487.                 Upward();
  488.                 Now = 2;//向上運行一層
  489.                 P0=Tab[Now];    //顯示當前樓層
  490.         }
  491.         else if(Tab_Up[1]||Tab_Up[2]||Tab_Down[0]||Tab_Down[1]||Tab_Down[2])        //外部請求
  492.         {       
  493.                 Upward();    //打開上行LED  
  494.                 Now = 2;//向上運行一層
  495.                 P0=Tab[Now];    //顯示當前樓層                       
  496.         }
  497.         else
  498.         {
  499.                 Up_LED=Down_LED=1;   //關閉上下行LED     //關閉下行LED
  500.         }
  501. }

  502. void main()
  503. {               
  504.         P0=Tab[Now];//開機電梯在1樓
  505.         while(1)
  506.         {
  507.                 Keyboard(); //掃描鍵盤
  508.                 P0=Tab[Now];    //顯示當前樓層

  509.                 if(Now==4)//電梯在4樓處理方法
  510.                 {
  511.                         Fourth_Process();       
  512.                 }

  513.                 if(Now==3)        //電梯在3樓處理方法
  514.                 {
  515.                         Third_Process();       
  516.                 }
  517.                 if(Now==2)        //電梯在2樓處理方法
  518.                 {
  519.                         Second_Process();
  520.                 }
  521.                 if(Now==1) //電梯在1樓處理方法
  522.                 {
  523.                         First_Process();
  524.                 }
  525.         }
  526. }
復制代碼



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

使用道具 舉報

沙發
ID:1 發表于 2017-1-7 20:46 | 只看該作者
好資料,51黑有你更精彩!!!
回復

使用道具 舉報

板凳
ID:73030 發表于 2017-1-7 21:10 來自觸屏版 | 只看該作者
好復雜,學習一下。
回復

使用道具 舉報

地板
ID:71233 發表于 2017-1-7 21:15 | 只看該作者
為大家提供一個電梯好思路,不錯,很感謝.
回復

使用道具 舉報

5#
ID:161446 發表于 2017-1-12 13:24 | 只看該作者
看過別的電梯程序,你的讓我眼前一亮。學習了。感謝分享
回復

使用道具 舉報

6#
ID:47652 發表于 2017-2-14 09:43 | 只看該作者
雖然與真實電梯管理程序有一定差距,但對于學習51來說有一定現實意義
回復

使用道具 舉報

7#
ID:130231 發表于 2017-3-18 13:52 | 只看該作者
不錯!。感謝分享,源碼我比較喜歡51的。
回復

使用道具 舉報

8#
ID:182843 發表于 2017-3-25 20:26 | 只看該作者
好復雜,學習一下。
回復

使用道具 舉報

9#
ID:209556 發表于 2017-6-9 15:17 | 只看該作者
感覺可以學到東西
回復

使用道具 舉報

10#
ID:312541 發表于 2018-11-10 14:14 | 只看該作者
有原理圖嗎
回復

使用道具 舉報

11#
ID:424947 發表于 2018-12-2 00:13 | 只看該作者
對我的幫助太大了,感謝樓主
回復

使用道具 舉報

12#
ID:520605 發表于 2020-4-29 13:45 | 只看該作者
謝謝樓主,學習學習
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99精品久久 | 亚洲一区二区电影在线观看 | 99精品欧美一区二区三区综合在线 | av日日操 | 亚洲精品91 | 九九热在线视频观看这里只有精品 | 日韩在线视频免费观看 | 国产日韩欧美二区 | 99精品视频在线观看免费播放 | 一区二区三区视频在线 | 久久艹免费视频 | 一区二区精品电影 | 天天操天天射综合网 | 日韩中文字幕在线观看视频 | 亚洲成人动漫在线观看 | 欧美日韩国产一区二区三区 | 精品国产成人 | 日韩1区2区 | 欧美亚洲综合久久 | 亚洲精品视频免费 | 麻豆av在线免费观看 | 五月激情婷婷在线 | 日韩国产精品一区二区三区 | 亚洲精品视频免费观看 | 精品国产一区一区二区三亚瑟 | 羞羞视频在线观看免费观看 | 超碰8| 91久久精品国产91久久性色tv | 国产精品久久久久久久久免费桃花 | 一区二区免费在线视频 | 日韩成人专区 | 欧美日韩综合视频 | 天堂网色 | 国产激情视频在线观看 | 在线视频亚洲 | 国产精品99久久久久久久久久久久 | 国产伦精品 | 欧美网址在线观看 | 成人欧美在线 | 日韩视频一区二区三区 | 一级做a爰片性色毛片16 |