通過獨立按鍵K1、K2控制步進電機的正反轉,K3控制步進電機的停轉,主循環中去實時檢測按鍵并設立正反轉及停轉標志,再跟進標志去控制步進電機正反轉,程序編譯并測試通過!
0.png (8.81 KB, 下載次數: 25)
下載附件
2018-10-12 15:51 上傳
步進電機驅動.png (39.92 KB, 下載次數: 25)
下載附件
2018-10-12 15:40 上傳
步進電機驅動.png (39.92 KB, 下載次數: 22)
下載附件
2018-10-12 15:40 上傳
單片機源程序如下(步進電機):
- #include<reg52.h>
- #define uchar unsigned char
- sbit K1=P3^0; // 按下獨立鍵盤S2正轉
- sbit K2=P3^1; // 按下獨立鍵盤S3反轉
- sbit K3=P3^2; // 按下獨立鍵盤S4停轉
- uchar code table[]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9};
- uchar code table1[]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1};
- void delay(uchar z)
- {
- uchar x,y;
- for(x=z;x>0;x--)
- for(y=120;y>0;y--);
- }
- void main()
- {
- uchar k,i;
- P1=table[0];
- while(1)
- {
- if(!K1)
- delay(5);
- if(!K1)
- k=1;
- if(!K2)
- delay(5);
- if(!K2)
- k=2;
- if(!K3)
- delay(5);
- if(!K3)
- k=3;
- if(k==1||k==2)
- {
- for(i=0;i<8;i++)
- {
- if(k==1) P1=table[i];
- else P1=table1[i];
- delay(20);
- }
- }
- }
- }
復制代碼
直流電機控制程序:
- #include<reg52.h>
- sbit s=P1^4;
- void delay(unsigned char z)
- {
- while(z!=0) z--;
- }
- void main()
- {
- while(1)
- {
- s=0;
- delay(9);
- s=1;
- delay(1);
- }
- }
復制代碼
所有資料51hei提供下載:
通過獨立鍵盤控制電機正傳反正停止.zip
(11.98 KB, 下載次數: 21)
2018-10-12 15:43 上傳
點擊文件名下載附件
程序工程 下載積分: 黑幣 -5
|