放下,向前走。

最近工作中,经常会想起很多以前的事,

当然有高兴的也有不高兴的,想起那些在这条路上帮过你的人,和那些事。

也想起那些在这条路上,让你不爽的人,和事。

首先高兴的吧,读这个专业,毕业工作。

这期间得益于一些友人,师长,前辈。

那些帮助过自已的人,做的事,和讲的话,都在耳边。

时时也作为鼓励,也有心里感谢。

由于自已的一些原因,许多事没有做好。特别遗憾。

也很惭愧。

有些人,因为你或他原的原因,让你很不爽,

也让你一度陷于窘地,想想也历历在目。

这里,一定铭记,

也做为一种激厉,以后自已做事哪些是应当注意的,

哪些是,应当做好的,一定要清楚。

不要让故戏重演。

这些,以上这些,

都是你前进的动力。

狐在在外,什么事靠自已。

过硬的自已。

好的,以下是代码实现: ```C #include <reg52.h> #define uchar unsigned char #define uint unsigned int sbit IN1 = P1^0; // 小车电机控制引脚1 sbit IN2 = P1^1; // 小车电机控制引脚2 sbit IN3 = P1^2; // 小车电机控制引脚3 sbit IN4 = P1^3; // 小车电机控制引脚4 sbit IR1 = P2^0; // 红外传感器1引脚 sbit IR2 = P2^1; // 红外传感器2引脚 sbit IR3 = P2^2; // 红外传感器3引脚 sbit IR4 = P2^3; // 红外传感器4引脚 sbit Start = P3^0; // 启动按钮引脚 sbit Stop = P3^1; // 停止按钮引脚 uchar flag_start = 0; // 是否启动标志 uchar flag_stop = 0; // 是否停止标志 uchar flag_load = 0; // 是否装载货物标志 uchar flag_down = 0; // 是否放下货物标志 uint count_time = 0; // 计时器 uint count_stop = 0; // 停车计时器 void delay(uint n) // 延时函数 { uint i, j; for (i = n; i > 0; i--) for (j = 110; j > 0; j--); } void main() { IN1 = IN2 = IN3 = IN4 = 0; // 小车停止 while (1) // 循环 { if (!flag_start && Start == 0) // 按下启动按钮 { flag_start = 1; // 设置启动标志 flag_load = 0; // 清除装载货物标志 flag_down = 0; // 清除放下货物标志 count_time = 0; // 重置计时器 } if (flag_start && !flag_load) // 启动小车并装载货物 { IN1 = 1; IN2 = 0; IN3 = 1; IN4 = 0; if (IR1 == 1 && IR2 == 1 && IR3 == 1 && IR4 == 1) flag_load = 1; // 装载货物标志置1 } if (flag_load && !flag_down) // 放下货物并停车 { IN1 = IN2 = IN3 = IN4 = 0; // 小车停止 if (count_stop++ >= 5000) // 停车5秒钟 { flag_down = 1; // 放下货物标志置1 count_stop = 0; // 重置停车计时器 } } if (flag_down) // 小车返回起点 { IN1 = 0; IN2 = 1; IN3 = 0; IN4 = 1; if (IR1 == 1 && IR2 == 1 && IR3 == 1 && IR4 == 1) flag_start = 0; // 重置启动标志,等待下一次启动 } if (Stop == 0) // 按下停止按钮 { flag_start = 0; // 重置启动标志 flag_load = 0; // 清除装载货物标志 flag_down = 0; // 清除放下货物标志 count_time = 0; // 重置计时器 count_stop = 0; // 重置停车计时器 IN1 = IN2 = IN3 = IN4 = 0; // 小车停止 } delay(1); // 延时1ms count_time++; // 计时器加1 if (count_time >= 10000) // 运行10秒钟 { flag_start = 0; // 重置启动标志 flag_load = 0; // 清除装载货物标志 flag_down = 0; // 清除放下货物标志 count_time = 0; // 重置计时器 count_stop = 0; // 重置停车计时器 IN1 = IN2 = IN3 = IN4 = 0; // 小车停止 } } } ``` 代码实现的基本思路是,按下启动按钮后,小车开始前进,直到红外传感器检测到货物,标志位 flag_load 置1,小车停下,并等待一段时间(这里是5秒钟),标志位 flag_down 置1,小车开始返回起点,直到再次检测到红外传感器,标志位 flag_start 置0,等待下一次启动。同时,还加入了停止按钮和计时器,实现了一些基本的安全防护和运行控制。需要注意的是,由于小车的具体实现方式和红外传感器的检测方法可能不同,代码中的具体实现需要根据实际情况进行调整和修改。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值