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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

自己制作的簡易的 基于51單片機的自動升降電梯簡易模型 與大家分享

  [復制鏈接]
跳轉到指定樓層
樓主
寒假在家閑著無事,想著做點東西,但是畢竟是新手,做不了太厲害的東西,就弄了個這小玩意,純屬個人娛樂之作,與各位分享。

配上幾張圖片 ,全部程序,又做了個小視頻來演示。



主程序預覽:
  1. /**************************************************
  2. /*項目名稱:基于51單片機的自動升降電梯簡易模型
  3. /*主控芯片:STC89C52
  4. /*使用模塊:28BYJ_48步進電機、ULN2003驅動模塊、無源蜂鳴器、紅外發射器、紅外接收頭、4×4軟鍵盤
  5. /*平臺搭建:廢舊泡沫塊、硬紙殼
  6. /*主要功能:裝置供電后,通過按下紅外遙控器或者軟鍵盤選擇樓層所對應的數字,選擇升降方式(只上升、只下降、先升再降)
  7. /*          然后升降電梯(泡沫模擬)停在對應樓層,蜂鳴器發出“叮咚”的聲響。共計16層。
  8. /*引腳說明:步進電機接P1低四位,蜂鳴器IO口接P3^7,紅外接收頭接P3^2,軟鍵盤接P2口;
  9. /*時間:2017年2月3日17時22分
  10. /**************************************************/

  11. /*********************************************
  12. /*包含必要的頭文件
  13. **********************************************/
  14. #include<ring.h>
  15. #include<key.h>
  16. #include<run.h>
  17. #include<red.h>

  18. /*********************************************
  19. /*定義紅外接收必要數據
  20. **********************************************/
  21. unsigned char IrValue[6];
  22. unsigned char Time;
  23. /*********************************************
  24. /*定義變量
  25. **********************************************/
  26. unsigned char s,p;
  27. unsigned int m,a;
  28. /*********************************************
  29. /*主函數
  30. **********************************************/                                                                                                        
  31. void main()                                                               
  32. {
  33.         unsigned int n,w=30000;
  34.         unsigned char b;
  35.         IrInit();
  36.         while(1)
  37.         {
  38.                 if(p==2)
  39.                 {
  40.                         delay(50000);               
  41.                         Z_run(n+15);
  42.                         p=0;
  43.                 }
  44.                 if(p==4)
  45.                 {
  46.                         delay(50000);               
  47.                         Z_run(n+15);
  48.                         p=3;
  49.                 }               
  50.                 while((p!=3)&&(w>0)) w--;
  51.                 if(p==3)
  52.                 {
  53.                         delay(50000);
  54.                         D_run(n);
  55.                         p=0;
  56.                 }
  57.                 n=0;               
  58.                 s=1;
  59.                 while(s)
  60.                 {
  61.                         a=KeyDown();
  62.                 }
  63.                 if(a!=0)
  64.                 {
  65.                         if(a==14)
  66.                         {
  67.                                 a=0;
  68.                                 p=2;
  69.                         }
  70.                         else if(a==15)
  71.                         {
  72.                                 a=0;
  73.                                 p=3;
  74.                         }
  75.                         else  
  76.                         {
  77.                                 b=a;
  78.                                 p=0;
  79.                         }
  80.                         n=b*883;
  81.                 }
  82.                 else        
  83.                 {
  84.                         n=m*883;
  85.                 }
  86.         }         
  87. }


  88. /*********************************************
  89. /*紅外接收,數據處理函數,使用外部中斷0
  90. **********************************************/
  91. void ReadIr() interrupt 0
  92. {
  93.         unsigned char j,k;
  94.         unsigned int err;
  95.         Time=0;                                         
  96.         delay(700);
  97.         if(IRIN==0)        
  98.         {         
  99.                 err=1000;                                
  100.                 while((IRIN==0)&&(err>0))
  101.                 {                        
  102.                         delay(1);
  103.                         err--;
  104.                 }
  105.                 if(IRIN==1)               
  106.                 {
  107.                         err=500;
  108.                         while((IRIN==1)&&(err>0))               
  109.                         {
  110.                                 delay(1);
  111.                                 err--;
  112.                         }
  113.                         for(k=0;k<4;k++)        
  114.                         {                                
  115.                                 for(j=0;j<8;j++)
  116.                                 {

  117.                                         err=60;               
  118.                                         while((IRIN==0)&&(err>0))
  119.                                         {
  120.                                                 delay(1);
  121.                                                 err--;
  122.                                         }
  123.                                         err=500;
  124.                                         while((IRIN==1)&&(err>0))         
  125.                                         {
  126.                                                 delay(10);         
  127.                                                 Time++;
  128.                                                 err--;
  129.                                                 if(Time>30)
  130.                                                 {
  131.                                                         return;
  132.                                                 }
  133.                                         }
  134.                                         IrValue[k]>>=1;         
  135.                                         if(Time>=8)               
  136.                                         {
  137.                                                 IrValue[k]|=0x80;
  138.                                         }
  139.                                         Time=0;                                                               
  140.                                 }
  141.                         }
  142.                 }
  143.                 if(IrValue[2]!=~IrValue[3])
  144.                 {
  145.                         return;
  146.                 }
  147.                 s=0;
  148.                 ding();
  149.                 switch(IrValue[2])
  150.                 {
  151.                         case 0x16:
  152.                         m=0;
  153.                         break;
  154.                         case 0x0c:
  155.                         m=1;
  156.                         break;
  157.                         case 0x18:
  158.                         m=2;
  159.                         break;
  160.                         case 0x5e:
  161.                         m=3;
  162.                         break;
  163.                         case 0x08:
  164.                         m=4;
  165.                         break;
  166.                         case 0x1c:
  167.                         m=5;
  168.                         break;
  169.                         case 0x5a:
  170.                         m=6;
  171.                         break;
  172.                         case 0x42:
  173.                         m=7;
  174.                         break;
  175.                         case 0x52:
  176.                         m=8;
  177.                         break;
  178.                         case 0x4a:
  179.                         m=9;
  180.                         break;
  181.                         case 0x40:
  182.                         p=2;
  183.                         break;
  184.                         case 0x43:
  185.                         p=3;
  186.                         break;
  187.                         case 0x19:
  188.                         p=4;
  189.                         break;
  190.                         case 0x45:
  191.                         m=10;
  192.                         break;
  193.                         case 0x46:
  194.                         m=11;
  195.                         break;
  196.                         case 0x47:
  197.                         m=12;
  198.                         break;
  199.                         case 0x44:
  200.                         m=13;
  201.                         break;
  202.                         case 0x07:
  203.                         m=14;
  204.                         break;
  205.                         case 0x15:
  206.                         m=15;
  207.                         break;
  208.                         case 0x09:
  209.                         m=16;
  210.                         break;
  211.                 }
  212.         }                        
  213. }


復制代碼


詳細信息請參照程序(壓縮包中含全部源碼):
基于51的自動升降電梯程序.zip (45.6 KB, 下載次數: 219)

評分

參與人數 5黑幣 +126 收起 理由
柯南的阿嘞嘞 + 5 絕世好帖!
dsjfadsjf + 4 很給力!
沉默的墓碑 + 12 很給力!
啾糾 + 5 很給力!
admin + 100 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:163575 發表于 2017-2-6 16:49 | 只看該作者
有沒有仿真電路圖哇大神
回復

使用道具 舉報

板凳
ID:162229 發表于 2017-2-7 13:32 | 只看該作者
16546 發表于 2017-2-6 16:49
有沒有仿真電路圖哇大神

我不太習慣用protues畫圖,就手畫了一個,其實結構很簡單,畫出來之后竟然就這么一點點

回復

使用道具 舉報

地板
ID:162229 發表于 2017-2-7 18:44 | 只看該作者

回復

使用道具 舉報

5#
ID:162229 發表于 2017-2-7 18:44 | 只看該作者

回復

使用道具 舉報

6#
ID:162229 發表于 2017-2-7 18:47 來自手機 | 只看該作者
抱歉,剛剛電腦出毛病了,圖片發不上去

14864644122140.21675697640962244.jpg (42.5 KB, 下載次數: 251)

14864644122140.21675697640962244.jpg
回復

使用道具 舉報

7#
ID:99341 發表于 2017-2-7 22:49 | 只看該作者
樓主給一個詳細的電路圖吧!
回復

使用道具 舉報

8#
ID:162229 發表于 2017-2-8 09:18 來自手機 | 只看該作者
YBZYBZ 發表于 2017-2-7 22:49
樓主給一個詳細的電路圖吧!

剛剛畫了一個,不太會用這個protues,電路基本上就是這樣了。

mmexport1486516601474.jpg (47.56 KB, 下載次數: 305)

mmexport1486516601474.jpg
回復

使用道具 舉報

9#
ID:164282 發表于 2017-2-11 22:33 | 只看該作者
樓主能給份原件清單嗎
回復

使用道具 舉報

10#
ID:164282 發表于 2017-2-11 23:10 | 只看該作者
啾糾 發表于 2017-2-11 22:33
樓主能給份原件清單嗎

比如PCB版是用的成品最小系統吧?
回復

使用道具 舉報

11#
ID:162229 發表于 2017-2-12 13:06 | 只看該作者
啾糾 發表于 2017-2-11 23:10
比如PCB版是用的成品最小系統吧?

51單片機最小系統(STC89C52)×1
ULN2003驅動模塊×1
28BYJ-348步進電機×1
4×4軟鍵盤×1
VS1838B一體化紅外接收頭×1
紅外遙控器×1
無源蜂鳴器模塊×1
電源、電源線×1
泡沫底板×1
硬紙板×若干
杜邦線×若干
回復

使用道具 舉報

12#
ID:96326 發表于 2017-3-9 08:29 | 只看該作者
不錯的文件,頂一下。
回復

使用道具 舉報

13#
ID:192333 發表于 2017-4-22 15:30 | 只看該作者
可不可以用大功率的電機啊
回復

使用道具 舉報

14#
ID:194070 發表于 2017-4-27 08:49 來自手機 | 只看該作者
怎么聯系你啊大神
回復

使用道具 舉報

15#
ID:162229 發表于 2017-5-6 23:31 | 只看該作者
wh150 發表于 2017-4-27 08:49
怎么聯系你啊大神

不不不,不敢當,小白一枚。
回復

使用道具 舉報

16#
ID:162229 發表于 2017-5-6 23:34 | 只看該作者
chenyan 發表于 2017-4-22 15:30
可不可以用大功率的電機啊

如果你要做大的系統的話,可以改用大功率電機,同樣驅動也要更換,我做的就是個小的模擬的東西,隨便玩玩
回復

使用道具 舉報

17#
ID:195259 發表于 2017-6-5 19:05 | 只看該作者
大神能加一下好友嗎
回復

使用道具 舉報

18#
ID:207997 發表于 2017-6-6 09:50 | 只看該作者
#include<ring.h>
/*********************************************
/*電梯到達提示音
**********************************************/
void ring()
{
        unsigned int c;
        for(c=0;c<140;c++)
        {
                bee=!bee;
                delay(130);
        }
        for(c=0;c<100;c++)
        {
                bee=!bee;
                delay(200);
        }
}
bee是什么意思
                        s=0;
                        ting();
                }
        }
        switch(KeyValue)
        {
                case(1):return 1;
                case(2):return 2;
                case(3):return 3;
                case(4):return 10;
                case(5):return 4;
                case(6):return 5;
                case(7):return 6;
                case(8):return 11;
                case(9):return 7;
                case(10):return 8;
                case(11):return 9;
                case(12):return 12;
                case(13):return 14;
                case(14):return 0;
                case(15):return 15;
                case(16):return 13;
                default:return 0;
        }
S=0;ting();這又是什么意思
回復

使用道具 舉報

19#
ID:202308 發表于 2017-6-6 22:33 | 只看該作者
支持樓主,感謝分享!
回復

使用道具 舉報

20#
ID:202308 發表于 2017-6-6 22:34 | 只看該作者
感謝樓主,多謝分享!!
回復

使用道具 舉報

21#
ID:209556 發表于 2017-6-21 17:26 | 只看該作者
為什么電機會來回轉 一直抖動,求指教
回復

使用道具 舉報

22#
ID:276794 發表于 2018-1-16 23:32 來自手機 | 只看該作者
還在嗎?  請求添加q1771716122  我也想做一個求幫忙
回復

使用道具 舉報

23#
ID:250673 發表于 2018-3-14 17:15 | 只看該作者
你好,請求添加q1161329168,關于這個電梯的制作遇到了困難,請求大神幫助
回復

使用道具 舉報

24#
ID:98926 發表于 2018-3-26 10:38 | 只看該作者
做的不錯  值得學習學習
回復

使用道具 舉報

25#
ID:329032 發表于 2018-5-19 12:30 來自手機 | 只看該作者
大神,我借鑒你這個做課程設計,指導一下嗎,謝謝,可以的話請給我留下聯系方式,謝謝
回復

使用道具 舉報

26#
ID:335581 發表于 2018-5-22 13:11 | 只看該作者
謝謝原理圖
回復

使用道具 舉報

27#
ID:317116 發表于 2018-5-23 11:39 | 只看該作者
話說樓主這個怎么知道他是到達那一層樓了,是怎么知道的,很疑惑,你沒有有什么傳感器去檢測它啊?
回復

使用道具 舉報

28#
ID:294865 發表于 2018-5-23 16:11 | 只看該作者
學習下
回復

使用道具 舉報

29#
ID:335251 發表于 2018-5-24 13:03 來自手機 | 只看該作者
那個模擬高樓,一層大概幾厘米?
回復

使用道具 舉報

30#
ID:392019 發表于 2018-8-31 15:09 來自手機 | 只看該作者
你好  樓主   
回復

使用道具 舉報

31#
ID:392019 發表于 2018-8-31 15:11 來自手機 | 只看該作者
樓主  你好   我要做一個畢業設計的模型   我要用到一個升降機 能向你請教一些問題嗎
回復

使用道具 舉報

32#
ID:392019 發表于 2018-8-31 15:24 來自手機 | 只看該作者
樓主你好    想向你請教一些問題
回復

使用道具 舉報

33#
ID:392019 發表于 2018-9-3 08:49 來自手機 | 只看該作者
樓主   你好
回復

使用道具 舉報

34#
ID:399179 發表于 2018-10-8 19:45 來自手機 | 只看該作者
感謝樓主分享!!!
回復

使用道具 舉報

35#
ID:392019 發表于 2018-10-16 15:53 來自手機 | 只看該作者
bbxyzzj 發表于 2017-3-9 08:29
不錯的文件,頂一下。

我這里下載怎么程序有問題
回復

使用道具 舉報

36#
ID:438033 發表于 2018-12-2 23:34 | 只看該作者
樓主,怎么判斷到達第幾樓呢,用步進電機的步數去計算的嗎?
回復

使用道具 舉報

37#
ID:467353 發表于 2019-1-13 13:47 | 只看該作者
紅外測距,好厲害.正常電梯是測試編碼反饋的,中間有速度平穩控制
回復

使用道具 舉報

38#
ID:467353 發表于 2019-1-14 15:34 | 只看該作者
用普中HC6800 ES V2.0實驗板,會不會簡單點?接口都現成的.
回復

使用道具 舉報

39#
ID:273674 發表于 2019-3-15 21:26 | 只看該作者
有沒有大神懂基于單片機電梯模型設計的,借鑒LZ這個做個畢設,加355052629
回復

使用道具 舉報

40#
ID:273674 發表于 2019-4-9 11:42 | 只看該作者
LZ可以加個好友嗎,我也是做的升降,您是怎么讓升一層大概3CM左右的,我QQ35505269
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 荷兰欧美一级毛片 | 91免费看片 | 久久精品视频网站 | 国产黄色精品 | 在线观看国产视频 | 毛片入口| 免费在线播放黄色 | 蜜桃视频在线观看免费视频网站www | 国产精品久久久久永久免费观看 | 日韩中文在线视频 | 国产精品伦理一区二区三区 | 国产毛片视频 | 欧美日韩一区二区在线播放 | 午夜精品久久久久久久久久久久久 | 91国在线观看 | 国产福利视频在线观看 | 日韩一区二区在线视频 | 国产精品国产三级国产aⅴ无密码 | 欧美精品1区 | 亚洲国产欧美在线人成 | 中文字幕一区在线 | 韩国毛片一区二区三区 | 密桃av | 韩三级在线观看 | 国产精品亚洲片在线播放 | 国产欧美日韩一区 | 在线国产小视频 | 国产一区二区精品自拍 | caoporn免费| 男女黄网站 | 国产专区在线 | 伊人成人免费视频 | 91在线视频免费观看 | 欧美区日韩区 | www.久久精品 | av免费网址 | 视频一区二区国产 | 国产在线观看一区二区三区 | 日韩精品一区二区三区视频播放 | 国产一区在线免费 | 一区二区国产精品 |