双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

各位大神,咨询关于超声波避障小车的一点问题

IceFire IceFire 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
做一下简单的超声波避障小车,想让它检测到距离小于20cm时左拐,但是为什么在调试的时候发现它一直是走直线的,而没有左拐啊。求大神帮忙看一下。谢啦。

#include<reg52.h>
#include<intrins.h>

sbit RX=P0^0; //ECHO
sbit TX=P0^1; //TRIG
sbit IN1=P0^2;
sbit IN2=P0^3;
sbit IN3=P0^4;
sbit IN4=P0^5;
sbit EN1=P0^6;
sbit EN2=P0^7;

unsigned int time=0;
unsigned int timer=0;

unsigned long s;
bit flag =0;
bit status=0;


void delay(int i)
{
int j;
for(;i>0;i--)
for(j=110;j>0;j--);
}
void carStop() //小车停止
{
EN1=0;
EN2=0;
}
void carTurnLeft() //小车左拐
{
EN1=0;
IN1=0;
IN2=0;
EN2=1;
IN3=1;
IN4=0;
}
void carGo() //小车前进
{
IN1=1;
IN2=0;
EN1=1;
IN3=1;
IN4=0;
EN2=1;
}
void conut(void)
{
time=TH0*256+TL0;
TH0=0;
TL0=0;

s=(time*1.7)/100; //算出来是CM
if(s>=500||flag==1)
{
s=500;
}
if(s<20)
{
carTurnLeft();
delay(200);
}
carGo();
}
/********************************************************/
void zd0() interrupt 1 //T0中断用来计数器溢出,超过测距范围
{
flag=1; //中断溢出标志
}
/********************************************************/
void zd3() interrupt 3 //T1中断用来扫描数码管和计800MS启动模块
{
TH1=0xf8;
TL1=0x30;
timer++;
if(timer>=400)
{
timer=0;
TX=1; //800MS 启动一次模块
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
TX=0;
}
}
/*********************************************************/
void main( void )
{
TMOD=0x11; //设T0为方式1,GATE=1;
TH0=0;
TL0=0;
TH1=0xf8; //2MS定时
TL1=0x30;
ET0=1; //允许T0中断
ET1=1; //允许T1中断
TR1=1; //开启定时器
EA=1; //开启总中断
while(1)
{
while(!RX); //当RX为零时等待
TR0=1; //开启计数
while(RX); //当RX为1计数并等待
TR0=0; //关闭计数
conut(); //计算
}
}
...全文

相关推荐

DYP-ME007TX超声波模块(串口输出方式).pdf

DYP-ME007TX超声波模块(串口输出方式),资料仅供查阅,版权归原作者所有,请勿用于商业用途。

zdpxyz

Python自动化数据处理程序-V2

Python自动化数据处理程序-V2

Xiong.Luqiang

外盘期货历史高频tick数据涵盖CME、ICE等交易所的主要品种,包含能源、贵金属、农产品、股指和外汇期货 数据字段有交易日期、精确到毫秒的时间、成交价格、成交量、持仓量以及买卖方向标识 部分品种还提

外盘期货历史高频tick数据涵盖CME、ICE等交易所的主要品种,包含能源、贵金属、农产品、股指和外汇期货。数据字段有交易日期、精确到毫秒的时间、成交价格、成交量、持仓量以及买卖方向标识。部分品种还提供盘口五档或十档挂单数据。所有数据按交易日压缩打包,解压后为CSV格式,便于直接读取分析。 数据源:CMES金融数据库

c_hn_007

印尼语AI应用商店评论情感数据集29198条8款应用

印尼语用户评论情感分析数据集,包含29198条来自印尼区Google Play商店的AI应用评论,覆盖8款主流生成式AI助手:ChatGPT、Google Gemini、DeepSeek、Character.AI、Claude、Microsoft Copilot、Perplexity与Grok。采样采用平衡评分配额策略,防止类别不平衡偏置。文件为UTF-8编码的CSV,提供印尼语与英语双份情感标签:sentiment(1至2星为负面、3星为中性、4至5星为正面)与sentiment_en。适合印尼语文本分类、俚语与非规范文本处理、IndoBERT与IndoRoBERTa等本地Transformer微调、基于方面的情感分析(价格、内容过滤、幻觉、应用稳定性等维度)与技术接受度TAM研究。适用于自然语言处理教学、小语种情感分析与AI产品用户反馈研究。数据许可:MIT。

licy__

双闭环PWM整流器VOC控制 +SVPWM调制仿真(Simulink仿真实现)

内容概要:本文详细介绍了基于Simulink的三相PWM整流器双闭环控制系统仿真模型的设计与实现,重点融合了虚拟阻抗控制(VOC)策略与空间矢量脉宽调制(SVPWM)技术。通过构建电压外环与电流内环协同工作的双闭环控制结构,有效提升了系统的动态响应速度、运行稳定性和抗干扰能力,实现了单位功率因数整流和直流侧电压的高精度调节。文档系统阐述了控制原理、关键模块搭建流程、SVPWM算法实现机制,并提供了完整的仿真验证过程,充分展示了VOC在改善系统阻尼特性与抑制谐振方面的优势,适用于电力电子变换器的高性能控制研究与工程实践。; 适合人群:电气工程、自动化、新能源等相关专业的本科生、研究生以及从事电力电子与电力系统研发的工程技术人员。; 使用场景及目标:①深入理解PWM整流器双闭环控制机制及其在Simulink中的建模方法;②掌握VOC控制策略与SVPWM调制技术的原理及其实现方式;③应用于课程设计、毕业设计、科研项目中的系统仿真、性能分析与优化设计。; 阅读建议:建议结合Simulink环境边学边练,按照文档步骤逐步搭建模型,重点关注控制器参数整定、坐标变换、PI调节器设计及SVPWM模块逻辑实现,通过仿真结果对比分析验证控制策略的有效性与鲁棒性。

优化算法侠_科研
评论 3
收藏 已收藏
分享
返回顶部
IceFire
单片机/工控 27,522 成员 28,796 内容