红外线控制的遥控小车

上传人:re****.1 文档编号:455680417 上传时间:2022-12-18 格式:DOCX 页数:42 大小:543.55KB
返回 下载 相关 举报
红外线控制的遥控小车_第1页
第1页 / 共42页
红外线控制的遥控小车_第2页
第2页 / 共42页
红外线控制的遥控小车_第3页
第3页 / 共42页
红外线控制的遥控小车_第4页
第4页 / 共42页
红外线控制的遥控小车_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《红外线控制的遥控小车》由会员分享,可在线阅读,更多相关《红外线控制的遥控小车(42页珍藏版)》请在金锄头文库上搜索。

1、目录摘要IABSTRACTII第1章绪论11.1 概述11.2 设计要求及主要功能介绍11.3 AT89C52系列单片机简介1第2章系统总体设计32.1系统功能模块的划分32.2单片机数目的选定32.3系统原理框图32.4系统软件主要特色41、软件分层结构42、多任务结构43、消息驱动结构82.5本章小结9第3章各模块的详细设计103.1红外遥控模块的设计101、遥控模块的功能需求102、红外遥控的编码标准简介103、编解码芯片的选型134、TX-2/RX-2编解码芯片功能简介:135、遥控模块原理图143.2工作状态指示灯及转向灯的设计163.3 声音提示功能的设计163.4前轮转向模块的设

2、计171、前轮转向的机械结构设计172、前轮转向中点校准功能的设计173、步进电机原理简介 174、步进电机驱动芯片KA2821D功能简介195、步进电机驱动芯片的连接203.5后轮驱动模块的设计221、直流电机驱动芯片L298N功能简介222、直流电机驱动芯片的连接223.6本章小结23第4章系统软件的设计244.1单片机的C语言程序设计简介244.2系统主程序的设计241、系统主程序流程图的设计242、系统主程序清单253、编码解码程序的设计274.3本章小结31结论32致 谢33参考文献34摘要根据题目要求,本次设计是针对玩具车的遥控系统,所以,要求设计简单易于操作,基于这样的一种设计理

3、念,本次设计我采用一片AT89C52单片对电动车的各种功能进行控制,实现电动车的前进,后退,左转,右转等 功能。红外遥控部分采用遥控车模专用编、解码芯片TX-2/RX-2,提高控制的可靠性;采用步进电机对小车的转向进行精确的控制,同时用红外传感器 对转向的角度进行校正。本次设计基于完备的软硬件系统,很好的实现了所要求的功能,用单片 机进行控制,可靠性强,实时性好。特别是红外遥控器,相比与以前的电磁 波遥控器,提高了遥控器的反应速度,抗干扰能力远远高于电磁波遥控器。关键词:单片机;TX-2/RX-2编码/解码芯片;红外遥控;步进电机;AbstractAccording to subject re

4、quirements, this design is for the toy car remote control system. Therefore, the design should be simple and easy to operate. Based on this design concept, this design I used a single AT89C52 for electric vehicles to control the various functions,and realized turn forward,back, left, right, and othe

5、r functions.The infrared remote part used a special remote control for the cars-decoder chip TX-2/RX-2.This control improve reliability of the systemy. The stepper motor vehicle used to carry out the precise control and use infrared sensors to the point of view correction.The design is based on a co

6、mplete hardware and software systems, achieved a very good requested by the function. Using SCM control, reliability, real-time is very good. In particular, infrared remote control compared with the previous electromagnetic remote control raising the remote control of the reaction rate, and far high

7、er than that of electromagnetic interference capability remote control.Key words: SCM;TX-2/RX-2 encoding / decoding chips; infrared remotecontrol;stepper motor;第1章绪论1.1概述单片机以其强大的控制能力已经被广泛应用于诸多领域,配以各种接口传感器可以实现系统的智能化。无论是在工业控制领域、医疗卫生领域、还 是在国防军事领域、航天航空领域,微控制器都起着举足轻重的作用。从最 初的8位控制器到现在的16位、32位控制器都还有很大的发展和应

8、用空间。目前在市场上的玩具车都采用单片机进行控制,只不过是功能有的多有的少而已,功能多的相对价格贵一点,而功能少的价格会低一些。1.2设计要求及主要功能介绍我所设计的功能就是遥控车的最基本的功能,通过红外遥控实现小车的 前进,后退,左转,右转,停止功能。利用软件对这些功能实现更快,更好 的控制。1.3 AT89C52系列单片机简介AT89C52单片机的基本结构如图1.1所示,其基本结构包括: 8字节可重擦写Flash闪速存储器;三级加密程序存储器; 32 根 I/O 口线; 256X8字节内部RAM; 3个16位定时器/计数器; 8个中断源;可编程串行UART通道;低功耗和掉电模式;图1.1

9、AT89C52单片机结构框图AT89C52提供一下标准功能:8K字节Flash闪速存储器,256字节内部 RAM, 32个I/O 口线,3个16为定时/计数器,一个6向量两级中断结构, 一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C52可降至0Hz 静态逻辑操作,并支持两种软件可选的节点工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电 方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下 一个硬件复位。AT89C52单片机有4个8位的并行接口,记作P0,P1,P2和P3,共32根口 线。第2章 系统总体设计2.1系

10、统功能模块的划分按照设计要求,系统可以分为以下几个基本功能模块:遥控模块、前轮 转向模块、后轮驱动模块.有些模块的功能是由硬件完成,有些模块的功能 由软、硬件配合完成,有些模块则是由软件、硬件、机械三部分共同完成。将系统拆分成以上的这些基本功能模块后,再根据各个模块所要完成的 功能分别去设计,也就是按照“逐步求精”的思想去设计本系统,这将使设 计工作细化,也有助于制定进度安排。2.2单片机数目的选定由于系统需要完成的功能较少,CPU的负荷也不是很重,但考虑到使系 统具有良好的功能扩展性,在本次设计中我采用一片AT89C52单片机。2.3系统原理框图系统原理框图如图2.1所示:图2.1系统原理框

11、图2.4系统软件主要特色软件在一个智能系统中扮演着举足轻重的作用,软件设计的好坏直接关系着 整个系统的性能。目前已经有很多种嵌入式实时多任务操作系统,如:Linux、RTX51 及UC/OS等,可以更有效的利用系统的各种资源,简化编程,缩短开发周期。签 于本系统采用AT89C52单片机为控制器,本身的各种资源都很有限,引入一个操 作系统代价太大,所以考虑直接来优化系统的软件结构,同样可以达到“多任务”、 “实时”等要求。1、软件分层结构为了便于编程,将逻辑控制层和具体的硬件相分离开是很有必要的。硬 件驱动层的软件负责直接操作硬件,并且给上层的软件提供一定的接口,这 样有助于上层的软件实现更复杂

12、的功能, 改动相应的驱动模块即可。本系统中的前轮转向模块、后轮驱 动模块都做成了一些独立的模块,并且 给外部提供了一些接口函数,来实现对 这些硬件或机械部件的高级操作。分层结构如图2.2所示:并且系统的硬件有所改动时也只需置、取全局变量操作硬件图2.2软件分层结构示意图软件的分层结构是很多系统中普遍 采用的一种软件结构,比如TCP/IP协议 就是一种典型的分层结构。WINDOWS、 LINUX等系统中也几乎把所有的系统硬 件进行了抽象,这样上层的软件就不必 关心硬件的细节,可以调用相应的模块提供的服务即可,这样可把更多的精 力放在高级功能的实现上。2、多任务结构为了充分利用单片机的CPU,内存

13、等资源,实现更强大的功能,本系统 中可以引入多任务的软件结构,即从宏观上来看单片机同时在做多件事情。 分析一般的多任务系统的软件结构,系统的核心是任务调度器,在适当的时候任务调度器将保存当前任务的现场,并且恢复将要运行的任务的场,并让 其投入运行。简单的说,一般的多任务系统是任务调度器循环的调用各个需 要执行的任务,进而可以更有效的利用系统的各种资源。从这里得到启发, 可以用定时器每隔一定的时间中断一次,在中断处理函数中依次调用一次各个任务所对应的函数,并且各个函数都能在一个较短的时间内返回,这样在 某段时间内,各个任务所对应的函数都能够被执行到,就好像多个任务同时 运行了。还有一点需要说明,

14、就是各个任务是由一些函数和一些静态变量组 成。函数由定时器中断处理函数定期的调用一次,并且有个前提就是这个函 数能够在较短的时间内返回,否则其他任务将不能及时的被调用到,也就达 不到“实时”这一要求。静态变量保存该任务的各种状态,并且其他模块 和该任务进行通信也是通过置取这些静态变量来实现的。如果要实现更强大的扩展功能,系统中软件的多任务结构可以设计成如 图2.3所示:可以说定时器中断处理函数就是本设计中多任务的核心,即任务调度器。以下是定时器0中断处理函数的程序清单:/定时器0中断处理函数/每4毫秒中断一次/产生时钟节拍负责维护一个系统时间变量和任务调度/#define TIME_OVERL

15、OAD 3960定时器计数初值图2.3多任务结构示意图(/记录时间的结构的定义typedef structuchar t_ms;/毫秒数 0-99uchar t_100ms; /100 毫秒数 0-9uchar t_sec;/秒数 0-59uchar t_min; / 分钟数,0-255TIME;TIME time; /记录系统时间的全局变量void timer0(void) interrupt 1(/重装定时器0的计数初值TH0=(65536-TIME_OVERLOAD)/256;TL0=(65536-TIME_OVERLOAD)%256;/维护系统时间time.t_ms+=4;if(time.t_ms99)(time.t_ms=0;if(+time.t_100ms9)(time.t_100ms=0;if(+time.t_sec

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号