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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4409|回復: 1
打印 上一主題 下一主題
收起左側

51單片機控制步進電機正反轉及加減速控制程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:559684 發表于 2019-6-11 10:03 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
交流一下,分享好東西
51單片機控制步進電機正反轉及加減速控制

單片機源程序如下:
  1. #include "reg51.h"
  2. #define uchar unsigned char
  3. #define uint unsigned int

  4. sbit PUL=P1^0;                 //脈沖輸出
  5. sbit DIR2=P2^1;                 //正反轉控制
  6. sbit zz=P3^0;                 //正轉按鍵zz
  7. sbit fz=P3^1;                 //反轉按鍵fz
  8. //sbit hw=P1^1;                  //紅外接收
  9. sbit k1=P3^2;                 //加速
  10. sbit k2=P3^3;                 //減速

  11. sbit LED1=P2^5;
  12. sbit LED2=P2^6;
  13. sbit LED3=P2^7;
  14. uchar k=0;

  15.    

  16.         void delay(uint i)             //延時函數(P1^0口PWM輸出)
  17. {
  18.                 while(i--);
  19. }

  20.                                                                
  21.         void motorsd(void)                                  //電機調速,分4檔頻率分別為5HZ、7HZ、12.5HZ、50HZ
  22. {

  23.         if(k1==0)
  24.         {
  25.                 delay(2000);
  26.                         if(k1==0)
  27.                         {
  28.                                 if(k<60)
  29.                                 {
  30.                                         k=k+20;
  31.                                 }
  32.                                 else{k=0;}
  33.                          while(!k1);
  34.                         }
  35.                 //while(!k1);

  36.          }
  37. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  38.         if(k2==0)
  39.         {
  40.                         delay(2000);
  41.                         if(k2==0)
  42.                         {
  43.                                 if(k>0)
  44.                                 {
  45.                                         k=k-20;
  46.                                 }
  47.                                         else{k=60;}
  48.                                               while(!k2) ;
  49.                                 }
  50.                         //           while(!k2) ;
  51.                         }
  52. }  




  53.         void main()                                          //主函數
  54. {       


  55.                 if(zz==0)                         //正轉按下,LED1亮,電機正轉
  56.                 {
  57.                         LED1=0;
  58.                         LED2=1;
  59.                         LED3=1;
  60.                         DIR2=0;
  61.                            while(1)
  62.                         {
  63.                                 motorsd();
  64.                                 PUL=0;
  65.                                 delay(70-k);
  66.                                 PUL=1;
  67.                                 delay(70-k);
  68.                                 if(fz==0)                                           //正轉過程按下反轉跳出循環,電機反轉
  69.                                 {
  70.                                         break;
  71.                                 }
  72.                         }
  73.                
  74.          }
  75. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


  76.                  if(fz==0)                           //按下反轉,LED2亮,電機反轉
  77.                 {
  78.                         LED2=0 ;
  79.                         LED1=1;
  80.                         LED3=1;
  81.                         DIR2=1;
  82.                            while(1)
  83.                         {
  84.                                 motorsd();
  85.                                 PUL=0;
  86.                                 delay(70-k);
  87.                                 PUL=1;
  88.                                 delay(70-k);
  89.                                 if(zz==0)                                                //反轉過程中按下正轉,跳出循環電機正轉
  90.                                 {
  91.                                         break;
  92.                                 }
  93.                         }
  94.                 }
  95.                 }               
  96. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
復制代碼

所有資料51hei提供下載:
步進電機.zip (18.86 KB, 下載次數: 43)



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

使用道具 舉報

沙發
ID:1 發表于 2019-6-12 01:15 | 只看該作者
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品视频一区二区三区在线观看 | 四虎在线视频 | 精品九九久久 | 黑人巨大精品欧美一区二区一视频 | 国产丝袜一区二区三区免费视频 | 一级毛片网 | 国产精品a免费一区久久电影 | 亚洲不卡| 二区久久| 日韩午夜一区二区三区 | 国产精品v | 国产精品久久久久一区二区三区 | 国产精品视频一二三区 | 久久av在线播放 | 黑人巨大精品欧美一区二区免费 | 亚洲图片视频一区 | 91国在线高清视频 | 久草网免费 | 国产在线观看网站 | 欧美二区在线 | 国产999精品久久久久久 | 91免费看片 | 91人人看 | 精品欧美乱码久久久久久 | 成年人视频在线免费观看 | 欧美小视频在线观看 | 欧美一级免费看 | 在线国产小视频 | 国产欧美精品一区二区色综合朱莉 | 99色视频| 国产第一区二区 | 久久精品国产99国产精品 | 成人免费观看视频 | 亚洲性人人天天夜夜摸 | 精品1区2区3区4区 | 亚洲成人网在线 | 久久久久久免费看 | 国产在线一级片 | 国产精品美女久久久久aⅴ国产馆 | 久久久久国产一区二区三区 | 在线观看中文字幕一区二区 |