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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機步進電機精確控制程序(防抖動)C語言編寫

[復制鏈接]
跳轉到指定樓層
樓主
C語言編的步進電機精確控制程序包括防抖動等


單片機源程序如下:
  1. #include <reg52.h>
  2. #include <absacc.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. sbit P0_1=P0^1;
  6. sbit P0_0=P0^0;
  7. sbit P3_2=P3^2;
  8. sbit P3_3=P3^3;
  9. sbit P3_4=P3^4;
  10. sbit P3_5=P3^5;
  11. void delays(uint);
  12. void delay(uint, uint);
  13. void mc(uint);
  14. void mc1(uint);
  15. fangdoudong() ;
  16. int p;

  17. void main(void)
  18. {

  19.             
  20.            TCON = 0x05;        //外部中斷0、1均設置為下降沿觸發
  21.            TMOD = 0x66;         //定時/計數器0設置為計數器模式,計數脈沖由引腳T0(即P3.4)輸入,模式2(8位自動再加載型計數器)
  22.            
  23.       
  24.                    EA=1;                                    //開中斷
  25.                EX1 = 1;               //外部中斷1使能
  26.                    EX0 = 1;                 //外部中斷0使能
  27.            ET0 = 1;              //計數器中斷0使能
  28.            ET1 = 1;              //計數器中斷1使能
  29.            TH0 = 0xff;          //計數器裝載初值(高位)
  30.            TL0 = 0xff;          //計數器裝載初值(低位)
  31.            TH1 = 0xff;          //計數器裝載初值(高位)
  32.            TL1 = 0xff;
  33.            TR0 = 1;              //計數器0開
  34.            TR1 = 1;              //計數器1開
  35.     P0_1 =1;                  
  36.     p=50;
  37.         while(1)
  38.         {
  39.            mc(500);
  40.         }
  41. }


  42. void mc(uint n)
  43. {
  44.     uint i;
  45. for(i=n;i>0;i--)
  46.   {
  47.     P0_0=0;
  48.     delays(13);
  49.     P0_0=1;
  50.     delay(25,p);
  51.       
  52.    }
  53. }

  54. void mc1(uint m)
  55. {
  56.     uint j;
  57. for(j=m;j>0;j--)
  58.   {
  59.     P0_0=0;
  60.     delays(13);
  61.     P0_0=1;
  62.     delay(25,50);
  63.       
  64.    }
  65. }

  66. void delay(uint a, uint b)
  67. { uint i,j;
  68.    for(i=a;i>0;i--)
  69.   {
  70.     for(j=b;j>0;j--);
  71.   }
  72. }

  73. fangdoudong()                 //防抖動
  74. {
  75.     delays(60);
  76.     if(P3_2&&P3_3&&P3_4&&P3_5==0)
  77.     {
  78.        return 1;
  79.      }
  80.     else
  81.      {
  82.        return 0;
  83.       }
  84. }

  85. void delays(uint m)      
  86. {
  87.         uint i;
  88.         for(i=m; i>0; i--);
  89. }


  90. void Intsvr0(void) interrupt 0 using 1                //外部中斷0        
  91. {
  92.      if(fangdoudong())
  93.         p=p+10;
  94.        return;
  95. }
  96. void Intsvr1(void) interrupt 2 using 1                //外部中斷1        
  97. {
  98.         if(fangdoudong())
  99.         p=p-10;
  100.         return;
  101. }

  102. ……………………

  103. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
C語言編的步進電機控制程序(防抖動).zip (24.8 KB, 下載次數: 33)



評分

參與人數 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:1 發表于 2017-5-29 03:21 | 只看該作者
好資料,51黑有你更精彩!!!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99热最新网址 | 日韩有码一区二区三区 | 日本一区二区三区免费观看 | av性色全交蜜桃成熟时 | 国产高清一二三区 | 亚洲欧洲精品成人久久奇米网 | www国产亚洲精品 | 成人黄色电影在线播放 | 久久一区二区免费视频 | 国产一区二区三区久久 | 波多野结衣电影一区 | 美女爽到呻吟久久久久 | 亚洲在线一区 | 亚洲一区 中文字幕 | 精品久久香蕉国产线看观看亚洲 | 精品视频久久久久久 | 久久一级大片 | 国产免费一区二区 | 91精品国产91 | 成人午夜免费在线视频 | 免费观看黄a一级视频 | 久久久黄色 | 超碰国产在线 | 久久久免费 | 国产亚洲精品精品国产亚洲综合 | 国产一区二区影院 | 全免费a级毛片免费看视频免 | 欧美v在线| 国产一区二区在线看 | 国产免费拔擦拔擦8x高清 | 在线日韩 | av一区二区三区在线观看 | 密色视频 | 日韩在线精品 | 亚洲精品电影 | 99亚洲国产精品 | 国产成人精品免费视频大全最热 | 亚洲欧美成人影院 | 日韩成人在线播放 | 国产精品高潮呻吟久久aⅴ码 | 久久成人午夜 |