|
本帖最后由 heicad 于 2016-8-15 14:10 編輯
ULN2003驅動步進電機PROTEUS仿真:
0.png (62.66 KB, 下載次數: 201)
下載附件
2016-8-15 14:07 上傳
0.png (237.98 KB, 下載次數: 195)
下載附件
2016-8-15 14:07 上傳
ULN2003驅動步進電機程序:
- #include <reg51.h>
- #include <absacc.h>
- sbit p10=P1^0;
- sbit p11=P1^1;
- sbit p12=P1^2;
- #define UP 20
- #define DOWN 30
- #define STOP 40
- void delay()//延時程序
- {
- unsigned i,j,k;
- for(i=0;i<0x02;i++)
- for(j=0;j<0x02;j++)
- for(k=0;k<0xff;k++);
- }
- main()
- {
- unsigned char temp;
- while(1)
- {
- if(p10==0)
- {
- temp=UP;//控制正轉
- P2=0X00;
- delay();
- }
- if(p11==0)
- {
- temp=DOWN;//控制反轉
- P2=0X00;
- delay();
- }
- if(p12==0)
- {
- temp=STOP;//控制停止
- }
- switch(temp)
- {
- case DOWN : P2=0X01;//控制反轉 //0011
- delay();
- delay();
- P2=0X02;//0110
- delay();
- delay();
- P2=0X04;//1100
- delay();
- delay();
- P2=0X08;//1001
- delay();
- delay();
- break;
- case UP : P2=0X08;//控制正轉
- delay();
- delay();
- P2=0X04;
- delay();
- delay();
- P2=0X02;
- delay();
- delay();
- P2=0X01;
- delay();
- delay();
- break;
- case STOP ://控制停止
- P2=0X00;
- delay();
- delay();
- break;
- }
- }
- }
復制代碼
0.png (81.95 KB, 下載次數: 195)
下載附件
2016-8-15 14:07 上傳
|
-
-
ULN2003驅動步進電機.zip
2016-8-15 14:10 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
77.67 KB, 下載次數: 528, 下載積分: 黑幣 -5
評分
-
查看全部評分
|