利用51芯片制作智能循迹车子

本文介绍了作者使用51单片机制作智能循迹小车的过程,从选择项目到编写C语言代码实现马达控制,通过红外接收和发射装置确保小车能在黑线上行驶。在代码中,作者分享了关键的控制函数和主函数逻辑,强调了避免过度使用while循环的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在学习单片机视频的同时,我结合开发板上写了一些基本的例程,这些例程都是用c语言写的,由于当时没有学过汇编,只是课外有时间的时候看了一下,个人觉得用汇编写代码有点麻烦,所以一直都是用c语言写。这些例程包括实现开发板上一些基本的功能,比如说跑马灯的实现,数码管的显示,蜂鸣器的鸣叫,马达的转动等等。在学习完之后想利用51单片机芯片做一个小型的项目,就是练练手,由于我主要是走liinux + arm路线的,所以51这一部分只是一个过渡期,没有花多大的时间研究。

在网上搜了一下,有人建议我做一个智能循迹小车,简单的说就是黑线白板,小车在白板上沿着黑线走。想到这个问题的时候有点不可思议,然后在网上看别人做的车子,在黑色的胶带上走动,说实话很羡慕,自己也想动手做做看。虽然说我会画pcb,也可以做板子,但是为了保证硬件不出问题,我就利用别人做的板子,直接在板子上焊接元器件,以及对车子进行组转,首先需要保证能够把程序下载到51芯片上,测试了一下没问题,哈哈……可以了。在看了车子实现功能介绍后,以前那一阵的迷惑的心终于开解了,原来是如此的简单,大体的说是利用红外接收和红外发射装置来接收和发送信号,在车子跑出黑线的时候,红外接收管接收到一个电平,既而传给芯片,最后对马达进行驱动,不过之前需要对马达进行一些简单的测试,比如前进,后退,左转,右转,左转的时候就是让左边的马达不转,右边的马达转动,就可以实现向左边转动,经过两个礼拜的时间,终于可以让车子在黑线上走了,在测试发射装置是否是好的,将车子上电,用摄像头照着它,在另一端看,有红光,代表是好的,反之,则坏了,需要换一个。还有一个,下载车子程序之前,写一段代码对红外发射和接收进行测试下,利用led进行测试,红外装置在黑色范围内,led呈现亮的状态,在外面则是暗的,这是一个很好的方法。

一下是我当初的一些代码,很短,但是需要对它们了解,我感觉在主函数里少用一些while比较好,否则会出现一些问题。

#include <reg52.h>               

sbit LeftLed = P0^7;                        //定义前方左侧指示灯端口

sbit RightLed = P2^0;                      

sbit RightIR = P3^6;                       

sbit LeftIR = P3^7;                         //定义前方左侧红外探头端口

sbit M1A= P0^0;                            //定义左侧电机驱动A端

sbit M1B = P0^1;                            //定义左侧电机驱动B端

sbit M2B = P0^2;                           

sbit M2A= P0^3;                         

void Delay()                      &

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值