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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 5111|回復(fù): 3
收起左側(cè)

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

[復(fù)制鏈接]
ID:634529 發(fā)表于 2021-4-28 17:24 | 顯示全部樓層 |閱讀模式
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.png 51hei.png 51hei.png

單片機(jī)源程序如下:
  1. #include <reg52.h>                 //調(diào)用單片機(jī)頭文件
  2. #define uchar unsigned char  //無(wú)符號(hào)字符型 宏定義        變量范圍0~255
  3. #define uint  unsigned int         //無(wú)符號(hào)整型 宏定義        變量范圍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ū)動(dòng)控制引腳


  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í)函數(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ū)動(dòng)模塊****/
  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ī)啟動(dòng)開(kāi)閘門
  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ī)啟動(dòng)開(kāi)閘門                         
  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. /***********************手動(dòng)修改小區(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. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

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

回復(fù)

使用道具 舉報(bào)

ID:911601 發(fā)表于 2021-6-4 13:52 | 顯示全部樓層
你好,請(qǐng)問(wèn)一下那個(gè)步進(jìn)電機(jī)如何運(yùn)行?
回復(fù)

使用道具 舉報(bào)

ID:328014 發(fā)表于 2021-6-4 20:41 | 顯示全部樓層
小坤總 發(fā)表于 2021-6-4 13:52
你好,請(qǐng)問(wèn)一下那個(gè)步進(jìn)電機(jī)如何運(yùn)行?

按鍵就動(dòng)了,看我圖
51hei.gif
回復(fù)

使用道具 舉報(bào)

ID:344646 發(fā)表于 2025-5-14 23:51 | 顯示全部樓層
挺好的,加了個(gè)步進(jìn)電機(jī)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品亚洲一区 | 久久99精品久久久久久青青日本 | 91精品国产一区二区 | 国产香蕉视频 | 中文字幕精品一区二区三区精品 | 男人天堂免费在线 | 午夜精品一区二区三区在线观看 | 亚洲精品中文字幕 | 亚洲一二三在线 | 亚洲成人999 | 操视频网站 | 免费色网址 | 91看片网站 | 日韩精品久久久 | 久久人体视频 | 亚洲第一视频网 | 久久99精品久久久 | 色资源站 | 日韩欧美国产综合 | 精品日韩一区二区 | 黄色三级免费网站 | 超碰国产在线 | 日韩欧美不卡 | 懂色av蜜桃av | 美美女高清毛片视频免费观看 | 日本福利在线观看 | 精品欧美一区免费观看α√ | 人人澡人人射 | 亚洲成人久久久 | 一区二区三区回区在观看免费视频 | 成人av免费播放 | 国产精品视频免费播放 | 久操伊人 | 天天精品在线 | 午夜电影福利 | 亚洲精品一区二区三区蜜桃久 | 91精品国产91久久久久久不卞 | 国产精品久久久久久久久久久新郎 | 日韩精品区 | 欧美日韩一区精品 | 欧美一级片免费看 |