
论文摘要:本文介绍一款
红外线遥控
小车,以AT89S51单片机为核心控制器,用L289驱动直流电机工作,控制小车的运行。本款小车具有红外线遥控手动驾驶、自动驾驶、寻迹前进等功能。本系统采用模块化设计,软件用C语言编写。转贴于 51论 文网 www.51lun-wen.cn一、设计任务和要求以AT98C51单片机为核心,制作一款红外遥控小车,小车具有自动驾驶,手动驾驶和循迹前进等功能。自动驾驶时,前进过程中可以避障。手动驾驶时,遥控控制小车前进、后退、左转、右转、加速等 *** 作。寻迹前进时小车还可以按照预先设计好的轨迹前进。转贴于 51论 文网 www.51lun-wen.cn二、系统组成及工作原理本系统由硬件和软件两部分组成。硬件部分主要完成红外编码信号的发射和接受、障碍物检测、轨迹检测、直流电机运行的发生等功能。软件主要完成信号的检测和处理、设备的驱动及控制等功能。AT89S51单片机查询红外信号并解码,查询各个检测部分输入的信号,并进行相应处理,包括电机的正反转,判断是否遇到障碍物,判断是否小车其那金中有出轨等。系统结构框图如图1所示。转贴于 51论 文网 www.51lun-wen.cn图1 系统结构框图三、主要硬件电路1、遥控发射器电路该电路的主要控制器件为遥控器芯片HT6221,如图2所示。HT6221将红外码调制成38KHZ的脉冲信号通过红外发射二极管发出红外编码。图2中D1是红外发射二极管,D2是按键指示灯,当有按键按下时D2点亮。两个中断,可能在某个时刻会有点冲突,但不会是经常的。
要么设置一个重要的中断为优先级。
再有,每个中断程序不要写太长,尽量及时从中断返回,需要计算费时的程序放在主程序中,或写成子程序,回主程序调用。这样,就不影响另一个中断。在中断程序中禁止延时程序。
要利用两个中断,只能这么做。其实,单片机的多个中断是可以同时开的,每个中断源的中断处理程序都写得比较短,还是会正常中断的,不会影响的。就怕,中断程序过长了,不能及时返回,就会影响其它中断源。所以,一定要优化中断程序。
难道这些中断源就不能同时用了吗,不可能的事。有点杞人忧天了。
没有人把程序写出来就可以正常运行的,都是需要调试的。慢慢调试好就可以了。
首先调试红外发送的数据,接收端是否能正常接收,例如可以先把红外解码做好。然后就是小车的驱动是否正常,即用固定的数据写进去,小车是否能按预期运行。
然后再结合调试。
评论列表(0条)