新手入门
- 积分
- 16
- 金钱
- 16
- 注册时间
- 2017-11-12
- 在线时间
- 1 小时
|
1金钱
stc15w408as P1口不能置零,设置为低电平后,P1口输出的还是高电平,接收到P3口遥控信号后,不能改变电机控制端P1口的电平变化,是不是程序哪有问题啊?
#include <REG51.h> //通用89C51头文件
sbit b2=P1^3; //电机控制端口声明
sbit a2=P1^2;
sbit b1=P1^1;
sbit a1=P1^0;
sbit w0=P3^2; //无线接收端声明
sbit w1=P3^3;
sbit w2=P3^4;
sbit w3=P3^5;
void delay(char z) //占空比
{
char i,j;
for(i=1;i>0;i--)
{
for(j=z;j>0;j--)
;
}
}
void ting() //停止函数
{
a1=0;
b1=0;
a2=0;
b2=0;
}
void qian() //前进函数
{
a1=1;
b1=0;
a2=1;
b2=1;
}
void hou() //后退函数
{
a1=0;
b1=1;
a2=1;
b2=1;
}
void zhuo() //左转函数
{
a1=1;
b1=1;
a2=1;
b2=0;
}
void you() //右转函数
{
a1=1;
b1=1;
a2=0;
b2=1;
}
void main() //主函数
{
while(1) //无限循环
{
w1=1;
w2=1;
w3=1;
w0=1;
ting(); //如果无按键动作则停止
while( w2 == 1 ) //如果C键被按下
{ //大括号内如果只有 一条命令,则可以省略大括号
qian(); //调用前进函数
}
while( w0 == 1 ) //如果A键被按下
{ //大括号内如果只有 一条命令,则可以省略大括号
you(); //调用后退函数
}
while( w3 == 1 ) //如果D键被按下
{ //大括号内如果只有 一条命令,则可以省略大括号
zhuo(); //调用左转函数
}
while( w1 == 1 ) //如果B键被按下
{ //大括号内如果只有 一条命令,则可以省略大括号
hou(); //调用右转函数
}
}
}
|
|