完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include
#define uchar unsigned char #define uint unsigned int ***it IN1=P0^0; ***it IN2=P0^1; //小车前左 ***it INT3=P0^2; ***it INT4=P0^3; //小车前右 ***it ENA1=P0^4; ***it ENB1=P0^5; ***it IN12=P2^7; ***it IN22=P2^6; //小车后左 ***it INT32=P2^5; ***it INT42=P2^4; //小车后右 ***it ENA2=P2^3; ***it ENB2=P2^2; uint b=100,c=400,Mark=0; uchar a; void Delay(uint x) { uint i,j; for(i=x;i>0;i--) for(j=120;j>0;j--); } void time0() interrupt 1 { if(++Mark==10) Mark=0; } void time1() interrupt 3 { TH1=0xFD; TL1=0xFD; } void CX() interrupt 4 { a=SBUF; while(RI==0); RI=0; TI=0; } void main() { TMOD=0x21; SCON=0x50; TH0=0xD8; TL0=0xF0; TR0=1; ET0=0; TH1=0xFD; TL1=0xFD; TR1=1; EA=1; ET1=0; ES=1; switch(a) { case '1':b+=50,c-=50;break; case '2':straight0();break; case '3':straight1();break; case '4':left();break; case '5':right();break; case '6':back();break; case '7':stop();break; } } 请问一下,我的这个蓝牙智能小车的中断程序与初始对吗? |
|
相关推荐
5个回答
|
|
你这个小车是用PWM控制速度的吗?还是直接的高低点平
|
|
|
|
高低点平,用的是四个电机,问题是手机蓝牙传输数据后小车无反应,小车的电路正常, #include #define uchar unsigned char #define uint unsigned int ***it IN1=P0^0; ***it IN2=P0^1; //小车前左 ***it INT3=P0^2; ***it INT4=P0^3; //小车前右 ***it ENA1=P0^4; ***it ENB1=P0^5; ***it IN12=P2^7; ***it IN22=P2^6; //小车后左 ***it INT32=P2^5; ***it INT42=P2^4; //小车后右 ***it ENA2=P2^3; ***it ENB2=P2^2; void right(); void left(); void straight0(); void straight1(); void stop(); void back(); uint b=100,c=400,Mark=0,d; uchar a; void Delay(uint x) { uint i,j; for(i=x;i>0;i--) for(j=120;j>0;j--); } void straight0() { ENA1=1; ENB1=1; IN1=1; IN2=0; INT3=1; INT4=0; ENA2=1; ENB2=1; IN12=1; IN22=0; INT32=1; INT42=0; } void straight1() { ENA1=1; ENB1=1; IN1=1; IN2=0; INT3=1; INT4=0; ENA2=1; ENB2=1; IN12=1; IN22=0; INT32=1; INT42=0; Delay(100); ENA1=0; ENB1=0; ENA2=0; ENB2=0; Delay(200); ENA1=1; ENB1=1; IN1=1; IN2=0; INT3=1; INT4=0; ENA2=1; ENB2=1; IN12=1; IN22=0; INT32=1; INT42=0; Delay(200); } void stop() { ENA1=0; ENB1=0; ENA2=0; ENB2=0; } void back() { ENA1=1; ENB1=1; IN1=0; IN2=1; INT3=0; INT4=1; ENA2=1; ENB2=1; IN12=0; IN22=1; INT32=0; INT42=1; } void left() { ENA1=1; ENB1=1; IN1=1; IN2=0; INT3=1; INT4=0; ENA2=1; ENB2=1; IN12=1; IN22=0; INT32=1; INT42=0; Delay(b); ENA1=1; ENB1=1; IN1=0; IN2=0; INT3=1; INT4=0; ENA2=1; ENB2=1; IN12=0; IN22=0; INT32=1; INT42=0; Delay(c); while(1) { ENA1=1; ENB1=1; IN1=1; IN2=0; INT3=1; INT4=0; ENA2=1; ENB2=1; IN12=1; IN22=0; INT32=1; INT42=0; } } void right() { ENA1=1; ENB1=1; IN1=1; IN2=0; INT3=1; INT4=0; ENA2=1; ENB2=1; IN12=1; IN22=0; INT32=1; INT42=0; Delay(b); ENA1=1; ENB1=1; IN1=1; IN2=0; INT3=0; INT4=0; ENA2=1; ENB2=1; IN12=1; IN22=0; INT32=0; INT42=0; Delay(c); while(1) { ENA1=1; ENB1=1; IN1=1; IN2=0; INT3=1; INT4=0; ENA2=1; ENB2=1; IN12=1; IN22=0; INT32=1; INT42=0; } } void time0() interrupt 1 { TH1=0xFD; TL1=0xFD; ++Mark; if(Mark==10) Mark=0; } void time1() interrupt 3 { TH1=0xFD; TL1=0xFD; } void CX() interrupt 4 { RI=0; a=SBUF; TI=0; } void main() { TMOD=0x21; SCON=0x50; TH0=0xD8; TL0=0xF0; TR0=1; ET0=1; TH1=0xFD; TL1=0xFD; TR1=1; ET1=1; EA=1; ES=1; while(1) { if(RI==1) { a=SBUF; RI=0; switch(a) { case '1':b+=50,c-=50;break; case '2':straight0();break; case '3':straight1();break; case '4':left();break;; case '5':right();break;; case '6':back();break; case '7':stop();break; default :break; } } } } |
|
|
|
9fef真心不错的技术
|
|
|
|
磊哥提问 发表于 2015-11-20 19:35 switch(a) { case '1':b+=50,c-=50;break; case '2':straight0();break; case '3':straight1();break; case '4':left();break;; case '5':right();break;; case '6':back();break; case '7':stop();break; default :break; } 这一段是利用串口接收到的字符来控制小车的动作,你先测试一下能不能正常接收呢? |
|
|
|
不能,传输不同的数值,小车状态不变;问题主要在传输的a没有进行判定 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
959 浏览 0 评论
1798 浏览 1 评论
ad把一个15mm*1.5mm的灯放到直径15mm的圆形pcb板上,可以实现吗
1595 浏览 1 评论
1876 浏览 1 评论
请问PCB覆铜规则改成了Direct Connect为什么还是Relief Connect连接?
2189 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 02:33 , Processed in 0.729753 second(s), Total 81, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号