完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
想要实现颜色传感器检测到红球步进电机正转90度,其他颜色反转90度,目前没有编译错误,但烧录后没有执行IF语句,并且不是90度。步进电机型号是:28BYJ-48 若有想法+Q1130011026 #include ***it led=P1^0; ***it A1=P2^0; //定义步进电机连接端口 ***it B1=P2^1; ***it C1=P2^2; ***it D1=P2^3; ***it tcs230_s2=P3^2;//TCS230 S2接单片机P1.0 ***it tcs230_s3=P3^3;//TCS230 S3接单片机P1.1 ***it tcs230_en=P3^4; //TCS230 EN(E0)接GND #define uchar unsigned char #define uint unsigned int #define Coil_A1 {A1=1;B1=0;C1=0;D1=0;}//A相通电,其他相断电 #define Coil_B1 {A1=0;B1=1;C1=0;D1=0;}//B相通电,其他相断电 #define Coil_C1 {A1=0;B1=0;C1=1;D1=0;}//C相通电,其他相断电 #define Coil_D1 {A1=0;B1=0;C1=0;D1=1;}//D相通电,其他相断电 #define Coil_AB1 {A1=1;B1=1;C1=0;D1=0;}//AB相通电,其他相断电 #define Coil_BC1 {A1=0;B1=1;C1=1;D1=0;}//BC相通电,其他相断电 #define Coil_CD1 {A1=0;B1=0;C1=1;D1=1;}//CD相通电,其他相断电 #define Coil_DA1 {A1=1;B1=0;C1=0;D1=1;}//D相通电,其他相断电 #define Coil_OFF {A1=0;B1=0;C1=0;D1=0;}//全部断电 unsigned char Speed; void DelayMs(uint Ms);//1MS基准延时程序 void baipingheng();//白平衡子程序 void celiang();//实际颜色程序 void zhengzhuan(); void fanzhuan(); void panduan(); uint ryz,gyz,byz;//分别定义红色因子 绿色因子 蓝色因子 uint rb,gb,bb;//RGB值 uchar tab1[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; void DelayMs(uint Ms) { uint i,TempCyc; for(i=0;i TempCyc = 250; while(TempCyc--); } } void Serial_Init(void)//串口初始化函数 { SCON = 0x50;//串口:方式1,允许发送和接收 TMOD = 0x20;//定时器1:模式2,8位自动重装模式,用于产生波特率 TH1 = 0xFD; //11.0592MHZ晶振,波特率为9600 TL1 = 0xFD; TR1 = 1; //开启定时器1 ES = 1; //开启串口中断 EA = 1; //开启全局中断 } void Send_Hex(unsigned char c) { ES = 0; //关串口中断 SBUF = c; while(ti!=1); //等待发送完成 TI = 0; //清除发送中断标志位 ES = 1; //开串口中断 } void Send_ASCII(unsigned char *b) { ES = 0; //关串口中断 for (b; *b!=' |