欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 自己制作的簡易的 基于51單片機的自動升降電梯簡易模型 與大家分享 [打印本頁]

作者: fx283    時間: 2017-2-3 19:43
標題: 自己制作的簡易的 基于51單片機的自動升降電梯簡易模型 與大家分享
寒假在家閑著無事,想著做點東西,但是畢竟是新手,做不了太厲害的東西,就弄了個這小玩意,純屬個人娛樂之作,與各位分享。

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

http://player.youku.com/player.php/sid/XMjQ5NTE3MTUwNA==/v.swf

主程序預覽:
  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)


作者: 16546    時間: 2017-2-6 16:49
有沒有仿真電路圖哇大神
作者: fx283    時間: 2017-2-7 13:32
16546 發表于 2017-2-6 16:49
有沒有仿真電路圖哇大神

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


作者: fx283    時間: 2017-2-7 18:44
[attach]47865[/attach]

作者: fx283    時間: 2017-2-7 18:44
[attach]47843[/attach]

作者: fx283    時間: 2017-2-7 18:47
抱歉,剛剛電腦出毛病了,圖片發不上去

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

14864644122140.21675697640962244.jpg

作者: YBZYBZ    時間: 2017-2-7 22:49
樓主給一個詳細的電路圖吧!
作者: fx283    時間: 2017-2-8 09:18
YBZYBZ 發表于 2017-2-7 22:49
樓主給一個詳細的電路圖吧!

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

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

mmexport1486516601474.jpg

作者: 啾糾    時間: 2017-2-11 22:33
樓主能給份原件清單嗎
作者: 啾糾    時間: 2017-2-11 23:10
啾糾 發表于 2017-2-11 22:33
樓主能給份原件清單嗎

比如PCB版是用的成品最小系統吧?
作者: fx283    時間: 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
硬紙板×若干
杜邦線×若干

作者: bbxyzzj    時間: 2017-3-9 08:29
不錯的文件,頂一下。
作者: chenyan    時間: 2017-4-22 15:30
可不可以用大功率的電機啊

作者: wh150    時間: 2017-4-27 08:49
怎么聯系你啊大神
作者: fx283    時間: 2017-5-6 23:31
wh150 發表于 2017-4-27 08:49
怎么聯系你啊大神

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

作者: fx283    時間: 2017-5-6 23:34
chenyan 發表于 2017-4-22 15:30
可不可以用大功率的電機啊

如果你要做大的系統的話,可以改用大功率電機,同樣驅動也要更換,我做的就是個小的模擬的東西,隨便玩玩
作者: zhaoshuai    時間: 2017-6-5 19:05
大神能加一下好友嗎

作者: 沉默的墓碑    時間: 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();這又是什么意思
作者: ggg620    時間: 2017-6-6 22:33
支持樓主,感謝分享!
作者: ggg620    時間: 2017-6-6 22:34
感謝樓主,多謝分享!!
作者: wyx863163257    時間: 2017-6-21 17:26
為什么電機會來回轉 一直抖動,求指教
作者: 我要學習dpj    時間: 2018-1-16 23:32
還在嗎?  請求添加q1771716122  我也想做一個求幫忙
作者: DevilC51    時間: 2018-3-14 17:15
你好,請求添加q1161329168,關于這個電梯的制作遇到了困難,請求大神幫助
作者: xingzhe8    時間: 2018-3-26 10:38
做的不錯  值得學習學習
作者: zsw7758521    時間: 2018-5-19 12:30
大神,我借鑒你這個做課程設計,指導一下嗎,謝謝,可以的話請給我留下聯系方式,謝謝
作者: 丑東西    時間: 2018-5-22 13:11
謝謝原理圖
作者: 新視野    時間: 2018-5-23 11:39
話說樓主這個怎么知道他是到達那一層樓了,是怎么知道的,很疑惑,你沒有有什么傳感器去檢測它啊?
作者: dukecheng    時間: 2018-5-23 16:11
學習下
作者: ymc1001    時間: 2018-5-24 13:03
那個模擬高樓,一層大概幾厘米?
作者: 古城1234    時間: 2018-8-31 15:09
你好  樓主   
作者: 古城1234    時間: 2018-8-31 15:11
樓主  你好   我要做一個畢業設計的模型   我要用到一個升降機 能向你請教一些問題嗎
作者: 古城1234    時間: 2018-8-31 15:24
樓主你好    想向你請教一些問題
作者: 古城1234    時間: 2018-9-3 08:49
樓主   你好
作者: 快樂眼淚    時間: 2018-10-8 19:45
感謝樓主分享!!!
作者: 古城1234    時間: 2018-10-16 15:53
bbxyzzj 發表于 2017-3-9 08:29
不錯的文件,頂一下。

我這里下載怎么程序有問題
作者: Roy-BIN    時間: 2018-12-2 23:34
樓主,怎么判斷到達第幾樓呢,用步進電機的步數去計算的嗎?
作者: mynetroom    時間: 2019-1-13 13:47
紅外測距,好厲害.正常電梯是測試編碼反饋的,中間有速度平穩控制
作者: mynetroom    時間: 2019-1-14 15:34
用普中HC6800 ES V2.0實驗板,會不會簡單點?接口都現成的.
作者: 李海林    時間: 2019-3-15 21:26
有沒有大神懂基于單片機電梯模型設計的,借鑒LZ這個做個畢設,加355052629
作者: 李海林    時間: 2019-4-9 11:42
LZ可以加個好友嗎,我也是做的升降,您是怎么讓升一層大概3CM左右的,我QQ35505269
作者: 斯達    時間: 2019-4-29 15:39
大神 請問下那個參數代表上升樓層
作者: 創青春    時間: 2020-1-13 14:38
大哥哥 如果我想做一個東西向兩個電梯上下運動的那種  你會嗎  可否加個qq3025684068  我有問題問你
作者: 單片機求帶    時間: 2020-2-2 08:51
從開始設計到實際運用實現升降是怎么做到的,有教一下我這個青銅嗎




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1