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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機(jī)智能車庫(停車場車位管理)系統(tǒng)Proteus仿真程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:634529 發(fā)表于 2021-4-28 17:24 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. #include <reg52.h>                 //調(diào)用單片機(jī)頭文件
  2. #define uchar unsigned char  //無符號字符型 宏定義        變量范圍0~255
  3. #define uint  unsigned int         //無符號整型 宏定義        變量范圍0~65535
  4. #include <intrins.h>
  5.   
  6. sbit K1=P1^0;
  7. sbit K2=P1^1;

  8. sbit K3=P1^2;
  9. sbit K4=P1^3;

  10. sbit beep = P1^7;   //蜂鳴器IO口定義
  11. sbit LED=P3^4;
  12. sbit SH = P3^5;
  13. sbit ST = P3^6;
  14. sbit DS = P3^7;

  15. sbit DCMOTOR=P3^3;  //L298電機(jī)驅(qū)動控制引腳


  16. uchar num_jin;
  17. uchar num_chu;
  18. uchar num_car;

  19.         uchar code zz[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};   //??
  20.         uchar code fz[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};    //??
  21.          
  22.         void DCmotorOpen();
  23.         void DCmotorClose();
  24.         void motor_ting(uint n);
  25. #include "lcd1602.h"

  26. /***********************1ms延時函數(shù)*****************************/
  27. void delay_1ms(uint q)
  28. {
  29.         uint i,j;
  30.         for(i=0;i<q;i++)
  31.                 for(j=0;j<120;j++);
  32. }
  33. /****步進(jìn)電機(jī)驅(qū)動模塊****/
  34. void delay(uint ms)
  35. {  
  36.           uint t;  
  37.     while(ms--)   
  38.    for(t=0;t<120;t++);
  39. }  
  40.    void motor_zz(uint n)
  41. {
  42.          uint i,j;  
  43.    for(i=0;i<5*n;i++)
  44. {
  45.          for(j=0;j<8;j++)  
  46. {      
  47.    P2=zz[j];
  48.    LED=1;   
  49.    delay(20);   
  50.    }   
  51.   }
  52. }   
  53. void motor_fz(uint n)
  54. {  
  55.         uint i,j;  
  56.   for(i=0;i<5*n;i++)  
  57. {
  58.   for(j=0;j<8;j++)
  59. {
  60.   P2=fz[j];
  61.         LED=0;
  62.   delay(20);

  63.   }
  64. }
  65. }
  66. void motor_ting(uint n)
  67. {  
  68.   P2=0x00;
  69.   delay(2000);
  70. }

  71. void write_74hc595(unsigned int num)
  72. {
  73.         int i;       
  74.         ST = 0;
  75.         for(i=0; i<16; i++)
  76.         {
  77.                 SH = 0;
  78.                 if (num & 0x0001)
  79.                 {
  80.                         DS = 1;
  81.                 }
  82.                 else
  83.                 {
  84.                         DS = 0;
  85.                 }
  86.                 SH = 1;
  87.                 num >>= 1;
  88.         }
  89.         ST = 1;
  90. }

  91. unsigned int num_2_led(unsigned int num)
  92. {
  93.         int i;
  94.         unsigned int ret=0;
  95.         if (num >= 16)
  96.             return 0xFFFF;
  97.         for(i=0;i<num;i++)
  98.         {
  99.                 ret |= 1<<i;
  100.         }
  101.         return ret;
  102. }

  103. void key()         //獨(dú)立按鍵程序
  104. {
  105.         if(!K1)               //           汽車進(jìn)入
  106.           {
  107.                 delay_1ms(20);
  108.                 if(!K1)
  109.                   {
  110.             while(!K1);
  111.                                 motor_zz(1);//步進(jìn)電機(jī)啟動開閘門
  112.                                 motor_ting(2);
  113.                         if(num_car==16)       
  114.      {
  115.        beep=0;         delay_1ms(200);  beep=1;
  116.      }
  117.      if(num_car<16)         
  118.      {
  119.       num_car++;
  120.       motor_fz(1);//步進(jìn)電機(jī)啟動開閘門                         
  121.                          if(num_car>=6)
  122.                          {
  123.                                  DCmotorOpen();
  124.                          }
  125.      if(num_jin<=255)
  126.      {
  127.       num_jin++;
  128.      }  
  129.      }
  130.                         write_sfm2(1,4,num_jin);
  131.                         write_sfm2(1,12,num_chu);  
  132.                         write_sfm2(2,4,num_car);
  133.                     write_sfm2(2,12,16-num_car);  
  134.                         write_74hc595(num_2_led(num_car));
  135.                   }
  136.         }       
  137.         if(!K2)               //          //           汽車駛出
  138. {
  139.                 delay_1ms(20);
  140.                 if(!K2)
  141.                   {
  142.             while(!K2);
  143.                                 motor_zz(1);
  144.                                 motor_ting(2);
  145.            if(num_car>=1)
  146.       {       
  147.          num_car--;  
  148.                                 motor_fz(1);
  149.         if(num_chu<=255)
  150.       {   
  151.         num_chu++;
  152.       }  
  153. }       
  154.                     write_sfm2(1,4,num_jin);
  155.                         write_sfm2(1,12,num_chu);  
  156.                         write_sfm2(2,4,num_car);
  157.                     write_sfm2(2,12,16-num_car);  
  158.                         write_74hc595(num_2_led(num_car));
  159.                   }
  160.         }               

  161. /***********************手動修改小區(qū)內(nèi)停車位*************************************/
  162.         if(!K3)               //                    人工調(diào)節(jié)
  163.           {
  164.                 delay_1ms(20);
  165.                 if(!K3)
  166.                   {
  167.             while(!K3);
  168.                    if(num_car<16)       
  169.       {  
  170.        num_car++;
  171.       }
  172.                         write_sfm2(1,4,num_jin);
  173.                         write_sfm2(1,12,num_chu);  
  174.                         write_sfm2(2,4,num_car);
  175.                     write_sfm2(2,12,16-num_car);  
  176.                   }
  177.         }       
  178.         if(!K4)               //          //                    人工調(diào)節(jié)
  179.           {
  180.                 delay_1ms(20);
  181.                 if(!K4)
  182.                   {
  183.             while(!K4);
  184.            if(num_car>=1)
  185.       {         
  186.            num_car--;  
  187.       }       
  188.                     write_sfm2(1,4,num_jin);
  189.                         write_sfm2(1,12,num_chu);  
  190.                         write_sfm2(2,4,num_car);
  191.                     write_sfm2(2,12,16-num_car);  
  192.                   }
  193.         }                               
  194. }                       
  195. void DCmotorOpen()
  196. {
  197. ……………………

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

所有資料51hei提供下載:
滿分51hei設(shè)計單片機(jī)的停車場車位管理系統(tǒng).7z (3.09 MB, 下載次數(shù): 219)

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

使用道具 舉報

沙發(fā)
ID:911601 發(fā)表于 2021-6-4 13:52 | 只看該作者
你好,請問一下那個步進(jìn)電機(jī)如何運(yùn)行?
回復(fù)

使用道具 舉報

板凳
ID:328014 發(fā)表于 2021-6-4 20:41 | 只看該作者
小坤總 發(fā)表于 2021-6-4 13:52
你好,請問一下那個步進(jìn)電機(jī)如何運(yùn)行?

按鍵就動了,看我圖

51hei.gif (319.15 KB, 下載次數(shù): 131)

51hei.gif
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲欧洲精品在线 | 小川阿佐美pgd-606在线 | 亚洲有码转帖 | 9色网站| 黄色网址在线免费播放 | 国产精品视频一二三区 | 日韩在线免费 | 亚洲一区网站 | 久久99视频精品 | 成人国产一区二区三区精品麻豆 | 中国一级特黄毛片大片 | 91视频播放 | 国产成人综合网 | 国产精品欧美精品日韩精品 | 精久久久| 91综合网 | 国产高清一区二区 | 成人免费视频 | 大象视频一区二区 | 国产精品美女www | 国产欧美精品 | 亚洲精品免费看 | 日韩精品视频在线 | www.精品国产 | 99久久99热这里只有精品 | 国产成人区 | av中文天堂 | 国产乱码精品一区二三赶尸艳谈 | 黄a免费网络 | 日韩欧美一区二区三区四区 | 欧美激情久久久久久 | 精品视频一区二区三区 | www.成人在线视频 | 天天激情综合 | 久久高清免费视频 | 99re视频在线 | 欧美成人a∨高清免费观看 色999日韩 | 欧美日在线 | 午夜小电影 | 色一阁| 岛国视频|