|
- #include<reg51.h>
- #define uchar unsigned char
- #define uint unsigned int
- #define out P2
- sbit pos=P0^0; //定義檢測正轉控制位 p0.0
- sbit neg=P0^1; //定義檢測反轉控制位p0.1
- void delayms(uint);
- uchar code turn[]={0x02,0x06,0x04,0x0c,0x08,0x09,0x01,0x03}; //步進脈沖數組
- void main(void)
- {
- uchar i;
- out=0x03;
- while(1)
- {
- if(!pos) //如果正轉按鍵按下
- {
- i=i<8 ?i+1:0; //如果i<8,則i=i+1;否則,則i=0
- out=turn[i];
- delayms(50);
- }
- else if(!neg)
- {
- i=i>0 ?i-1:7; //如果i>0,則i=i-1;否則,則i=7
- out=turn[i]; //向P2輸出脈沖數
- delayms(50);
- }
- }
- }
- void delayms(uint j)
- {
- uchar i;
- for(;j>0;j--)
- {
- i=250;
- while(--i);
- i=249;
- while(--i);
- }
- }
復制代碼
|
-
1.png
(167.2 KB, 下載次數: 108)
下載附件
2018-5-23 15:04 上傳
步進電機
-
-
步進電機.zip
2018-5-24 03:27 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
15.64 KB, 下載次數: 95, 下載積分: 黑幣 -5
評分
-
查看全部評分
|