找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機(jī)步進(jìn)電機(jī)限位開關(guān)程序問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:736290 發(fā)表于 2020-4-23 18:20 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
請教一下各位程序員
設(shè)計(jì)一個自動窗簾控制器 用四相五線步進(jìn)電機(jī)模擬窗簾轉(zhuǎn)動 求解釋這段代碼
還有里面是否有限位開關(guān) 怎么設(shè)計(jì)的
有勞大家 感謝感謝
  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. }
復(fù)制代碼

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

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表