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

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

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

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

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

主程序預(yù)覽:
  1. /**************************************************
  2. /*項目名稱:基于51單片機的自動升降電梯簡易模型
  3. /*主控芯片:STC89C52
  4. /*使用模塊:28BYJ_48步進(jìn)電機、ULN2003驅(qū)動模塊、無源蜂鳴器、紅外發(fā)射器、紅外接收頭、4×4軟鍵盤
  5. /*平臺搭建:廢舊泡沫塊、硬紙殼
  6. /*主要功能:裝置供電后,通過按下紅外遙控器或者軟鍵盤選擇樓層所對應(yīng)的數(shù)字,選擇升降方式(只上升、只下降、先升再降)
  7. /*          然后升降電梯(泡沫模擬)停在對應(yīng)樓層,蜂鳴器發(fā)出“叮咚”的聲響。共計16層。
  8. /*引腳說明:步進(jìn)電機接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. /*定義紅外接收必要數(shù)據(jù)
  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. /*主函數(shù)
  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. /*紅外接收,數(shù)據(jù)處理函數(shù),使用外部中斷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. }


復(fù)制代碼


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


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

我不太習(xí)慣用protues畫圖,就手畫了一個,其實結(jié)構(gòu)很簡單,畫出來之后竟然就這么一點點[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
抱歉,剛剛電腦出毛病了,圖片發(fā)不上去

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

14864644122140.21675697640962244.jpg

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

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

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

mmexport1486516601474.jpg

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

比如PCB版是用的成品最小系統(tǒng)吧?
作者: fx283    時間: 2017-2-12 13:06
啾糾 發(fā)表于 2017-2-11 23:10
比如PCB版是用的成品最小系統(tǒng)吧?

51單片機最小系統(tǒng)(STC89C52)×1
ULN2003驅(qū)動模塊×1
28BYJ-348步進(jìn)電機×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
怎么聯(lián)系你啊大神
作者: fx283    時間: 2017-5-6 23:31
wh150 發(fā)表于 2017-4-27 08:49
怎么聯(lián)系你啊大神

不不不,不敢當(dāng),小白一枚。

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

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

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

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




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 中国一级毛片免费看 | 97在线免费观看 | 国产精品国产三级国产专区52 | 久久精品在线观看 | 综合伊人| 色片网址 | 22精品一区二区三区 | 美国特色黄a大片 | 天天操夜夜摸 | 日韩精品久久久久 | 成人三级在线观看 | 99热99re6国产在线播放 | 国产三级黄色 | 在线欧美日韩 | 天天干夜夜操 | 欧美综合激情 | 亚洲午夜在线观看 | 国产欧美在线观看 | 人人干人人艹 | 在线一区视频 | 国产亚洲精品码 | 四虎影院www| 91手机看片 | 天天干天天舔 | 久久不射网 | 久久综合久久鬼 | 天堂资源 | 日韩一区在线播放 | 免费看黄色一级片 | 国产日韩av在线 | 国产精品成人国产乱一区 | 91亚洲一区 | av网址在线播放 | 91国产视频在线观看 | 九九热这里| av免费观看网站 | 少妇高潮久久久久久潘金莲 | 久久综合国产 | 国产精品一区二区三区免费 | 日韩色网站 | 亚洲iv一区二区三区 |