我用的是51開發板,燒入程序后,ULN2003上的燈閃,電機不動。我在Proteus上仿真,電機可動。
以下是我的程序,希望有大佬解決:
#include <REGX51.H>
sbit A1=P1^0;
sbit B1=P1^1;
sbit C1=P1^2;
sbit D1=P1^3;
#define BYJ_A1{A1=1;B1=0;C1=0;D1=0;}
#define BYJ_B1{A1=0;B1=1;C1=0;D1=0;}
#define BYJ_C1{A1=0;B1=0;C1=1;D1=0;}
#define BYJ_D1{A1=0;B1=0;C1=0;D1=1;}
void Delay1ms(unsigned int k)
{
unsigned char i, j;
while(k--)
{
i = 12;
j = 169;
do
{
while (--j);
}
while (--i);
}
}
unsigned char Speed=100;
unsigned int i,j;
//Õýת
void Zhen_B()
{
BYJ_A1
Delay1ms(Speed);
BYJ_B1
Delay1ms(Speed);
BYJ_C1
Delay1ms(Speed);
BYJ_D1
Delay1ms(Speed);
}
void main()
{
P1=0xF0;
while(1)
{
Zhen_B();
}
}
|