完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
stc15w408as P1口不能置零,设置为低电平后,P1口输出的还是高电平,接收到P3口遥控信号后,不能改变电机控制端P1口的电平变化,是不是程序哪有问题啊?
#include ***it b2=P1^3; //电机控制端口声明 ***it a2=P1^2; ***it b1=P1^1; ***it a1=P1^0; ***it w0=P3^2; //无线接收端声明 ***it w1=P3^3; ***it w2=P3^4; ***it 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(); //调用右转函数 } } } |
|
相关推荐
1个回答
|
|
首先你要看看你的遥控器能不能抗的过你的单片机的高电平输出,另外判断的时候四个键的状态一起判断。
|
|
|
|
只有小组成员才能发言,加入小组>>
3310 浏览 9 评论
2991 浏览 16 评论
3492 浏览 1 评论
9057 浏览 16 评论
4086 浏览 18 评论
1175浏览 3评论
603浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
596浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2333浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1894浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 12:12 , Processed in 1.200537 second(s), Total 77, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号