找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

單片機(jī)通過(guò)獨(dú)立鍵盤(pán)控制電機(jī)正傳反正停止

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:408604 發(fā)表于 2018-10-12 15:44 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
通過(guò)獨(dú)立按鍵K1、K2控制步進(jìn)電機(jī)的正反轉(zhuǎn),K3控制步進(jìn)電機(jī)的停轉(zhuǎn),主循環(huán)中去實(shí)時(shí)檢測(cè)按鍵并設(shè)立正反轉(zhuǎn)及停轉(zhuǎn)標(biāo)志,再跟進(jìn)標(biāo)志去控制步進(jìn)電機(jī)正反轉(zhuǎn),程序編譯并測(cè)試通過(guò)!




單片機(jī)源程序如下(步進(jìn)電機(jī)):
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. sbit K1=P3^0;          //        按下獨(dú)立鍵盤(pán)S2正轉(zhuǎn)
  4. sbit K2=P3^1;        //        按下獨(dú)立鍵盤(pán)S3反轉(zhuǎn)
  5. sbit K3=P3^2;        //        按下獨(dú)立鍵盤(pán)S4停轉(zhuǎn)
  6. uchar code table[]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9};
  7. uchar code table1[]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1};
  8. void delay(uchar z)
  9. {
  10.         uchar x,y;
  11.         for(x=z;x>0;x--)
  12.                 for(y=120;y>0;y--);
  13. }
  14. void main()
  15. {
  16.         uchar k,i;
  17.         P1=table[0];
  18.         while(1)
  19.         {
  20.                 if(!K1)
  21.                 delay(5);
  22.                 if(!K1)
  23.                 k=1;

  24.                 if(!K2)
  25.                 delay(5);
  26.                 if(!K2)
  27.                 k=2;

  28.                 if(!K3)
  29.                 delay(5);
  30.                 if(!K3)
  31.                 k=3;

  32.                 if(k==1||k==2)
  33.                 {
  34.                         for(i=0;i<8;i++)
  35.                         {
  36.                                 if(k==1) P1=table[i];
  37.                                 else P1=table1[i];
  38.                                 delay(20);
  39.                         }
  40.                 }
  41.         }
  42. }
復(fù)制代碼

直流電機(jī)控制程序:
  1. #include<reg52.h>
  2. sbit s=P1^4;
  3. void delay(unsigned char z)
  4. {
  5.         while(z!=0) z--;
  6. }
  7. void main()
  8. {
  9.         while(1)
  10.         {
  11.                 s=0;
  12.                 delay(9);
  13.                 s=1;
  14.                 delay(1);
  15.         }
  16. }
復(fù)制代碼


所有資料51hei提供下載:
通過(guò)獨(dú)立鍵盤(pán)控制電機(jī)正傳反正停止.zip (11.98 KB, 下載次數(shù): 21)


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

使用道具 舉報(bào)

沙發(fā)
ID:664692 發(fā)表于 2021-6-1 09:36 | 只看該作者
請(qǐng)問(wèn)table和table1是什么意思呢
回復(fù)

使用道具 舉報(bào)

板凳
ID:908826 發(fā)表于 2021-6-1 11:34 | 只看該作者
zy2811608262 發(fā)表于 2021-6-1 09:36
請(qǐng)問(wèn)table和table1是什么意思呢

相序吧,正轉(zhuǎn)是一組相序,反轉(zhuǎn)的需要換相
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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