国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee

 找回密碼
 注冊
搜索

基于51單片機的模擬自動門Proteus仿真程序

[復制鏈接]
樓主
coolice 發表于 2020-2-1 16:33:05 | 只看該作者 |只看大圖 |倒序瀏覽 |閱讀模式
自動門仿真文件 c語言源碼.zip (126.66 KB, 售價: 1 E幣)
基于51單片機的模擬自動門Proteus仿真程序 172649eystee3gns37kaas.png
單片機源程序如下:
  1. /*****************步進電機控制口定義*******************/
  2. #define BYJ48 P2      
  3. /****************步進電機控制數組定義******************/
  4. //uchar code FFW[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};  //四相八拍正轉編碼
  5. //uchar code REV[8]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};  ////四相八拍反轉編碼
  6. uchar code FFW[4] ={0x08,0x04,0x02,0x01};//正轉 電機導通相序 D-C-B-A
  7. uchar code REV[4]={0x01,0x02,0x04,0x08};//反轉 電機導通相序 A-B-C-D
  8. /********************************************************
  9. 函數名稱:void delay2(uint t)
  10. 函數作用:毫秒延時函數
  11. 參數說明:
  12. ********************************************************/
  13. void delay2(uint t)
  14. {                           
  15.    uint k;
  16.    while(t--)
  17.    {
  18.      for(k=0; k<90; k++)
  19.      { }
  20.    }
  21. }
  22. /********************************************************
  23. 函數名稱:void  motor_z()
  24. 函數作用:步進電機正轉
  25. 參數說明:轉5.625°角度
  26. ********************************************************/
  27. void  motor_z()
  28. {
  29.         uchar i;
  30.         uint  j;
  31.         for (j=0; j<4; j++)                //8*8=64個脈沖轉5.625°
  32.         {
  33.                 for (i=0; i<4; i++)      
  34.                 {
  35.                         BYJ48 = ((P2&0xf0)|FFW[i]);//取數據
  36. //                        delay2(5);                 //調節轉速
  37.                 }
  38.         }
  39. }

  40. /********************************************************
  41. 函數名稱:void  motor_f()
  42. 函數作用:步進電機反轉
  43. 參數說明:轉5.625°角度
  44. ********************************************************/
  45. void  motor_f()
  46. {
  47.         uchar i;
  48.         uint  j;
  49.         for (j=0; j<4; j++)                //8*8=64個脈沖轉5.625°
  50.         {
  51.                 for (i=0; i<4; i++)      
  52.                 {
  53.                         BYJ48 = ((P2&0xf0)|REV[i]);//取數據
  54. //                        delay2(5);                 //調節轉速
  55.                 }
  56.         }
  57. }
復制代碼

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

本版積分規則

手機版|小黑屋|ELEOK |網站地圖

GMT+8, 2026-5-26 01:10

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回復 返回頂部 返回列表