找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1658|回复: 0
打印 上一主题 下一主题
收起左侧

单片机步进电机限位开关程序问题

[复制链接]
跳转到指定楼层
楼主
ID:736290 发表于 2020-4-23 18:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教一下各位程序员
设计一个自动窗帘控制器 用四相五线步进电机模拟窗帘转动 求解释这段代码
还有里面是否有限位开关 怎么设计的
有劳大家 感谢感谢
  1. #ifndef _BUJINDIANJI_H_
  2. #define _BUJINDIANJI_H_
  3. void write_eepom_shoudong();
  4. uchar flag_z_f;      
  5. unsigned char code zheng[4]={0xf8,0xf4,0xf2,0xf1}
  6. unsigned char code fan[4]={0xf1,0xf2,0xf4,0xf8}
  7. uint bjdj_value;  
  8. uchar bjdj_zidong;  

  9. void bujindj()  
  10. {
  11. static uchar i;
  12. if(flag_z_f != 0)
  13. {
  14.   if(flag_z_f == 1)   
  15.   {
  16.    if(bjdj_value >= 254)
  17.    {
  18.     flag_z_f = 0;
  19.     bjdj_value = 254;
  20.     P2 = P2 & 0xf0;
  21.     write_eepom();  
  22.    }else
  23.     bjdj_value ++;
  24.   }
  25.   if(flag_z_f == 2)   
  26.   {   
  27.    if(bjdj_value <= 1)
  28.    {
  29.     flag_z_f = 0;
  30.     bjdj_value = 1;
  31.     P2 = P2 & 0xf0;
  32.     write_eepom();
  33.    }else  
  34.     bjdj_value --;
  35.   }
  36.   for(i=0;i<4;i++)      
  37.   {
  38.    if(flag_z_f == 1)  
  39.     P2=zheng[i];// & (P2 | 0xf0);        //
  40.    else if(flag_z_f == 2
  41.     P2=fan[i];// & (P2 | 0xf0);         //
  42.    delay_uint(500);      
  43.   }
  44. }
  45. }
复制代码

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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