|
- #include "reg51.h"
- #include "intrins.h"
- bit a=1;
- //八拍方式驱动,顺序为A AB B BC C CD D DA
- //P2.0~P2.3连接步进电机驱动板的4根线
- unsigned char code clockWise[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};
- void delay2441us() //@12MHz
- {
- unsigned char i, j;
- _nop_();
- _nop_();
- i = 29;
- j = 122;
- do
- {
- while (--j);
- } while (--i);
- }
- void delay1000ms() //@12MHz
- {
- unsigned char i, j, k;
- i = 46;
- j = 153;
- k = 245;
- do
- {
- do
- {
- while (--k);
- } while (--j);
- } while (--i);
- }
- void main()
- {
- unsigned int j=0;
- unsigned char i;
- while(1)
- {
- for(j=0;j<512;j++){
- if(a==0){
- for(i=0;i<8;i++)
- {
- P2=clockWise[i];
- delay2441us();
- }
- } else {
- for(i=0;i<8;i++)
- {
- P2=clockWise[8-i];
- delay2441us();
- }
- }
- }
- P2=0x00;
- delay1000ms();
- a=~a;
- }
- }
复制代码
|
|