找回密码
 注册

QQ登录

只需一步,快速开始

搜索

基于51单片机的模拟自动门Proteus仿真程序

[复制链接]
coolice 发表于 2020-2-1 16:33:05 | 显示全部楼层 |阅读模式
自动门仿真文件 c语言源码.zip (126.66 KB, 售价: 1 E币)
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. }
复制代码

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|ELEOK |网站地图

GMT+8, 2024-4-26 13:49

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表