收藏 分销(赏)

遥控小车的方案设计书.doc

上传人:w****g 文档编号:2617874 上传时间:2024-06-03 格式:DOC 页数:107 大小:912KB
下载 相关 举报
遥控小车的方案设计书.doc_第1页
第1页 / 共107页
遥控小车的方案设计书.doc_第2页
第2页 / 共107页
遥控小车的方案设计书.doc_第3页
第3页 / 共107页
遥控小车的方案设计书.doc_第4页
第4页 / 共107页
遥控小车的方案设计书.doc_第5页
第5页 / 共107页
点击查看更多>>
资源描述

1、哈尔滨工程大学本科生毕业论文哈尔滨工程大学本科生毕业论文遥控小汽车的设计研究院 (系):信息与通信工程学院 专业:电子信息工程 学号:01081237学生姓名:张洪生 指导教师:付永庆 教授 2005年6月摘 要根据题目要求,本设计采用2片AT89C52单片机构成主从式的控制系统,双机采用串行口进行通信。红外遥控部分采用遥控车模专用编、解码芯片TX-2/RX-2,提高控制的可靠性;同时,在遥控发射端加入了用凌阳61板做的语音识别系统,能够完成语音遥控功能。采用红外传感器进行里程检测;超声波传感器进行障碍识别;感光电阻辅以步进电机控制的转动机构进行光源方向的检测,并能用软件控制小车行驶到光源附近

2、。采用步进电机对小车的转向进行精确的控制,同时用红外传感器对转向的角度进行校正。此外,采用四位LED数码管和若干LED发光二极管显示时间、行进的里程以及小车的各种状态;采用AT24C08串行EEPROM记录小车的行驶轨迹,并能按照所记录的轨迹自动行驶。矚慫润厲钐瘗睞枥庑赖。本次设计基于完备的软硬件系统,很好的实现了小车语音遥控、任意曲线行驶、路线记录与重放、自动查找光源、自动避障,里程统计并发出指示信息等功能。聞創沟燴鐺險爱氇谴净。关键词:单片机;超声波传感器;红外遥控;语音识别;凌阳61板ABSTRACTAccording to the topic, my design needs to a

3、dopt two AT89C52 to form a control system of principal and subordinate. The communication between the two MCU is to adopt the serial port. Meanwhile, launch end join with insult male genital 61 sound recognition system that board make remotely, can finish the remote control function of the pronuncia

4、tion, and it adopts the infrared sensor to measure the mileage; The ultrasonic sensor carries on the obstacle to discern; Sensitization resistance complement in order to walk into whom electrical machinery control rotate organization carry on measuring, direction of the light source, The small car c

5、an go to the adjacent place of the light source with the software .The design adopts serial EEPROM of AT24C08 to write down the orbit of the car , and can repeat the route automatically which has been recorded.残骛楼諍锩瀨濟溆塹籟。The Design is on the basis of the complete software and hardware system, and th

6、e small car has the function of sound remote control, following any curve, recording the route where it has gone, finding out the light source, etc 酽锕极額閉镇桧猪訣锥。Keywords: MCU; AT24C08; sensor; SPCE061A目 录第1章 绪论11.1概述11.2设计要求及主要功能介绍11.2.1 手动控制功能21.2.2 自动寻找光源功能21.2.3 超声避障功能21.2.4 记录路线与重放路线功能21.2.5 声控功能3

7、1.2.6 其他功能31.3 MCS-51系列单片机简介31.4凌阳SPCE061A精简开发板简介5第2章 系统总体设计62.1系统功能模块的划分62.2单片机数目的选定62.3系统原理框图72.4系统软件主要特色72.4.1软件分层结构82.4.2多任务结构82.4.3消息驱动结构132.5本章小结15第3章 各模块的详细设计163.1 红外遥控模块的设计163.1.1 遥控模块的功能需求163.1.2 编解码芯片的选型163.1.3 遥控模块原理图163.1.4 遥控电路与语音识别模块的连接183.2 数码管、发光二极管显示模块的设计183.2.1 多位数码管扫描显示原理183.2.2 工

8、作状态指示灯及转向灯的设计193.2.3 显示模块电原理图193.2.4 显示任务的软件设计203.3 声音提示功能的设计203.4 前轮转向模块的设计213.4.1 前轮转向的机械结构设计213.4.2 前轮转向中点校准功能的设计223.4.3 步进电机驱动芯片223.4.4 前轮转向任务的软件设计223.5 后轮驱动模块的设计243.5.1 直流电机驱动芯片L298N243.5.2 后轮驱动任务的软件设计253.6 里程检测模块的设计253.6.1 探头的选型与安装253.6.2 软件消抖与硬件消抖的比较263.6.3 里程检测任务的软件设计263.7 超声测距模块的设计273.7.1 超

9、声测距的理论依据273.7.2 超声发射电路273.7.3 超声接收电路283.7.4 超声测距任务的软件设计293.8 光源方向探测模块的设计303.8.1 旋转机构设计303.8.2 亮度检测电路的选型与设计313.8.3 寻找光源方向任务的软件设计323.9 行驶路线的记录与重放模块的设计333.9.1 该模块的功能概述333.9.2 AT24C08串行EEPROM介绍333.9.3 存储记录的格式333.9.4 手动模式下记录行驶路线功能的软件设计333.9.5 重放行驶路线功能的软件设计343.10 双机串行通信模块的软件设计353.10.1 通信方式的选型353.10.2 双机串行

10、通信的软件设计353.11 语音识别功能的设计363.11.1 凌阳语音压缩算法373.11.2 语音识别模块的软件设计373.12 本章小结37第4章 系统软件的设计394.1 单片机的C语言程序设计简介394.2 系统的三种工作模式394.3 手动模式的设计404.4 自动寻找光源模式的设计404.4.1 功能分析404.4.2 寻找光源的策略414.4.3 自动寻找光源的软件设计414.4.5 该功能模块存在的一些问题414.5 走数字及路线重放模式的设计444.6 本章小结44第5章 系统的组装、调试和测试455.1 系统的组装、调试455.2 遥控距离的测试455.3 时间显示功能的

11、测试455.4 里程显示功能的测试465.5 超声测障碍功能的测试465.6 走数字功能的测试465.7 行驶路线记录与重放功能的测试475.8 自动寻找光源功能的测试475.9 语音识别功能的测试475.10 本章小结48结论49致谢50参考文献51附录52哈尔滨工程大学本科生毕业论文第1章 绪论1.1 概述单片机以其强大的控制能力已经被广泛应用于诸多领域,配以各种接口传感器可以实现系统的智能化。无论是在工业控制领域、医疗卫生领域、还是在国防军事领域、航天航空领域,微控制器都起着举足轻重的作用。从最初的8位控制器到现在的16位、32位控制器都还有很大的发展和应用空间。彈贸摄尔霁毙攬砖卤庑。目

12、前市场上已有很多种用超声波传感器制作的产品,在汽车电子领域,用超声波传感器做的倒车雷达可以提高汽车行驶的安全性。对汽车驾驶员来说车身后方是一个视线的“死区”,倒车时得非常小心,倒车雷达的出现就解决了这一问题,当车身后方有障碍时能及时发出警告。謀荞抟箧飆鐸怼类蒋薔。语音识别技术也日趋完善,在机器人领域,要想用语言和机器人“交谈”,首先就要解决语音的识别问题。可以用语音识别技术做成电话声控拨号、声控家电、儿童玩具等。语音识别技术还有待于进一步的发展。本设计中采用凌阳61板做的声控系统可以用语音控制小车的前进、后退、左转、右转、停止。厦礴恳蹒骈時盡继價骚。1.2 设计要求及主要功能介绍根据题目要求,

13、本设计需要完成的以下几项功能:(1)红外遥控功能,启停、自动或手动;(2)前或后直线行进;(3)任意曲线行进;(4)测距避障功能;(5)显示行进距离;(6)精确查找光源。另外,在设计过程中又扩展了一些功能,比如声控功能、记录与重放行驶路线功能等。1.2.1 手动控制功能在手动控制模式下,可以控制小车的前进、后退、左转、右转、停止、漏粉、显示时间、显示里程,若在行驶过程中遇到障碍小车将自动停止,并发出声光警告信号。同时,在转弯或后退时相应的转向灯和倒车灯会闪烁发光,小车接收到一个按键命令后除了执行相应的动作外蜂鸣器还会响一声,以告知操作者已收到了命令。茕桢广鳓鯡选块网羈泪。在手动控制模式下,还设

14、置了一个记录行驶路线的开关。操作者按下这个开关后,先选择这一次记录的路线的名称,此后对小车的控制命令将被存入EEPROM中,直至操作者再按下一次这个开关结束这次路线的记录。记录的路线可在重放路线模式下重放。鹅娅尽損鹌惨歷茏鴛賴。1.2.2 自动寻找光源功能在自动寻找光源模式下,小车可以自动查找光源的方向,然后自动行驶到光源的附近。在自动行驶过程中若遇到障碍,小车将自动采取一些避障措施避开障碍。此外在寻找过程中操作者若按下“显示模式切换键”数码管显示的内容将在时间和里程之间切换,若按下“停止”键,小车将立即停止寻找光源,然后等待切换到其他模式。籟丛妈羥为贍偾蛏练淨。1.2.3 超声避障功能在手动

15、模式、自动寻找光源模式、重放路线模式下超声测障模块始终工作。在前进时发现前方有障碍,或在后退时发现后方有障碍小车都将立即停车,并发出声光报警信号告知操作者。障碍检测的距离调整在20厘米内,即只有在20厘米之内有障碍时小车才会做出避让动作,在这个范围之外的障碍小车不予处理。預頌圣鉉儐歲龈讶骅籴。1.2.4 记录路线与重放路线功能在手动模式下打开记录路线开关,开始记录路线;在重放路线模式下选择重放的路线,开始重放指定的路线。在重放过程中遇到障碍或操作者按下“停止”键将结束本条路线的重放,等待选择下一条需要重放的路线或选择另外一种模式。渗釤呛俨匀谔鱉调硯錦。1.2.5 声控功能本设计采用凌阳61板做

16、了声控系统。打开遥控器电源后开始训练语音命令,由于受到单片机内的SRAM容量的限制只能录制5条语音命令,分别是前进、后退、左转、右转、停止。当识别出某条语音命令时和直接按下相应的按键等价,红外发射电路都会给小车发出相应的命令。操作者在使用声控功能时有语音提示音,所以操作很简便、快捷。铙誅卧泻噦圣骋贶頂廡。1.2.6 其他功能小车还具有走数字功能,即小车可按照事先由程序设置好的路线行走,并洒下粉末,显示出一个数字。除此之外,小车上还有左、右转向灯,倒车灯,障碍指示灯,模式指示灯,蜂鸣器报警电路,小车状态一目了然。1.3 MCS-51系列单片机简介MCS51单片机的基本结构如图1.1所示,其基本结

17、构包括: 8位CPU; 片内震荡器及时钟电路; 32根I/O口线; 外部存储器ROM和RAM寻址范围各为64KB; 2个16位定时器/计数器; 5个中断源,2个中断优先级;时钟电路ROMRAM定时器/计数器CPU并行接口串行接口中断系统TXDRXDINT0INT1P0P3T0T1图1.1 8051单片机的基本结构 全双工串行口;擁締凤袜备訊顎轮烂蔷。 布尔处理器。8051单片机的存储器结构特点之一是程序存储器和数据存储器分开,并有各自的寻址机构和寻址方式。这种结构的单片机称为哈佛结构单片机。贓熱俣阃歲匱阊邺镓騷。8051单片机在物理上有四个存储空间:片内程序存储器和片外程序存储器;片内数据存储

18、器和片外数据存储器。坛摶乡囂忏蒌鍥铃氈淚。8051单片机有4个8位的并行接口,记作P0,P1,P2和P3,共32根口线,实际上它们就是SFR中的4个。这4个接口特性上主要差别是P0,P2和P3都还有第二功能,而P1口只能用做I/O口。4个口的驱动能力也是不相同。P1,P2和P3都能驱动3个LS TTL门,并且不需外加上拉电阻就能驱动MOS电路。P0能驱动8个LS TTL门,但驱动MOS电路时,若作为地址/数据总线,则可以直接驱动;而作为I/O口时,需外接上拉电阻才能驱动MOS电路。蜡變黲癟報伥铉锚鈰赘。1.4凌阳SPCE061A精简开发板简介凌阳61板是采用凌阳16位单片机为核心的开发系统,具

19、有DSP处理功能和语音处理功能。利用该开发板可方便的实现语音的录、放、识别等功能。SPCE061A凌阳16位单片机的结构框图如图1.2所示:買鲷鴯譖昙膚遙闫撷凄。 图1.2 SPCE061A结构框图SPECE061A的CPU工作速率为0.32MHZ-49.152MHZ;SRAM容量为2K字;程序存储器容量为32K字FLASH,使用凌阳音频压缩算法SACM_240方式(2.4Kbps),能容纳240秒语音数据;有两个16位的并行I/O接口;还具有ADC、DAC、麦克风放大器和AGC电路等。綾镝鯛駕櫬鹕踪韦辚糴。由于IDE自带了很多有关语音录放、语音识别的API函数,所以采用61板来做声控系统比较

20、方便。第2章 系统总体设计2.1系统功能模块的划分按照设计要求,系统可以分为以下几个基本功能模块:遥控模块、显示模块、前轮转向模块、后轮驱动模块、超声测距避障模块、寻找光源模块、记录与重放路线模块、里程检测模块等。驅踬髏彦浃绥譎饴憂锦。有些模块的功能是由硬件完成,有些模块的功能由软、硬件配合完成,有些模块则是由软件、硬件、机械三部分共同完成。猫虿驢绘燈鮒诛髅貺庑。将系统拆分成以上的这些基本功能模块后,再根据各个模块所要完成的功能分别去设计,也就是按照“逐步求精”的思想去设计本系统,这将使设计工作细化,也有助于制定进度安排。锹籁饗迳琐筆襖鸥娅薔。2.2单片机数目的选定由于系统需要完成的功能较多,

21、CPU的负荷也较重,再加之单片机内的定时器/计数器、中断、I/O口等资源有限,如果选用一片单片机必将会给系统的设计带来一些困难。所以可以考虑采用两个单片机构成主从式的结构,各分担一部分控制与运算功能,这样两个单片机可同时工作。所谓主从式结构是指从单片机片机根据主单片机发出的命令来完成某项功能,并且把结果报告给主单片机,这样的结构在某种程度上可以简化系统。構氽頑黉碩饨荠龈话骛。主单片机负责红外遥控接收、显示、小车的运动以及处理遥控命令等功能;从单片机则主要负责超声测距、检测光源方位这两项比较费时的功能,在探测到障碍或探测到光源时将有关信息报告给主单片机进行处理,并由主单片机来采取相应的措施。輒峄

22、陽檉簖疖網儂號泶。本设计中采用了两片AT89C52单片机,通过串行接口通信。因为两个单片机之间的距离很近,所以串行口可以工作在较高的波特率上,可以让串行口工作在方式2,其特点是其波特率高,并且波特率可以直接从晶振32分频、或64分频而得到,不需要占用定时器资源。尧侧閆繭絳闕绚勵蜆贅。2.3系统原理框图系统原理框图如图2.1所示:按键主控单片机从单片机遥控接收显示模块里程检测路线记录漏粉控制前轮转向超声探测障碍光源方向探测后轮驱动串行通信遥控发射语音识别识饒鎂錕缢灩筧嚌俨淒。图2.1 系统原理框图2.4系统软件主要特色软件在一个智能系统中扮演着举足轻重的作用,软件设计的好坏直接关系着整个系统的性

23、能。目前已经有很多种嵌入式实时多任务操作系统,如:Linux、RTX51及UC/OS等,可以更有效的利用系统的各种资源,简化编程,缩短开发周期。签于本系统采用AT89C52单片机为控制器,本身的各种资源都很有限,引入一个操作系统代价太大,所以考虑直接来优化系统的软件结构,同样可以达到“多任务”、“实时”等要求。凍鈹鋨劳臘锴痫婦胫籴。2.4.1软件分层结构为了便于编程,将逻辑控制层和具体的硬件相分离开是很有必要的。硬件驱动层的软件负责直接操作硬件,并且给上层的软件提供一定的接口,这样有助于上层的软件实现更复杂的功能,并且系统的硬件有所改动时也只需改动相应的驱动模块即可。恥諤銪灭萦欢煬鞏鹜錦。逻辑

24、控制层硬件驱动层硬件设备置、取全局变量图2.2 软件分层结构示意图操作硬件本系统中的LED显示模块、前轮转向模块、后轮驱动模块、AT24C08存取模块、寻光源转动机构都做成了一些独立的模块,并且给外部提供了一些接口函数,来实现对这些硬件或机械部件的高级操作。鯊腎鑰诎褳鉀沩懼統庫。分层结构如图2.2所示:软件的分层结构是很多系统中普遍采用的一种软件结构,比如TCP/IP协议就是一种典型的分层结构。WINDOWS、LINUX等系统中也几乎把所有的系统硬件进行了抽象,这样上层的软件就不必关心硬件的细节,可以调用相应的模块提供的服务即可,这样可把更多的精力放在高级功能的实现上。硕癘鄴颃诌攆檸攜驤蔹。2

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

26、还有一点需要说明,就是各个任务是由一些函数和一些静态变量组成。函数由定时器中断处理函数定期的调用一次,并且有个前提就是这个函数能够在较短的时间内返回,否则其他任务将不能及时的被调用到,也就达不到“实时”这一要求。静态变量保存该任务的各种状态,并且其他模块和该系统复位初始化主任务设计成无限循环结构定时器0中断处理函数任务1任务2任务3任务n图2.3 多任务结构示意图任务进行通信也是通过置取这些静态变量来实现的。阌擻輳嬪諫迁择楨秘騖。本系统中软件的多任务结构如图2.3所示:可以说定时器中断处理函数就是本设计中多任务的核心,即任务调度器。以下是定时器0中断处理函数的程序清单:氬嚕躑竄贸恳彈瀘颔澩。/

27、釷鹆資贏車贖孙滅獅赘。/定时器0中断处理函数/每4毫秒中断一次/产生时钟节拍/负责维护一个系统时间变量和任务调度/怂阐譜鯪迳導嘯畫長凉。#define TIME_OVERLOAD 3960/定时器计数初值/记录时间的结构的定义typedef struct uchar t_ms;/毫秒数0-99 uchar t_100ms; /100毫秒数0-9 uchar t_sec;/秒数0-59 uchar t_min; /分钟数,0-255TIME;TIME time; /记录系统时间的全局变量void timer0(void) interrupt 1 /重装定时器0的计数初值 TH0=(65536-T

28、IME_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_sec59) time.t_sec=0; time.t_min+; /大约每50毫秒调用一次蜂鸣器任务/并且只有在需要发声时才调用/n_beep全局变量表示需要发出几声 if(n_beep)&(!(time.t_ms%52)beep2();/每4毫秒调用一次显示任务 led_disp();/每16毫秒调用

29、一次后轮直流电机驱动程序 if(!(time.t_ms&0x0f)dianji(); /每32毫秒调用一次里程检测任务 if(!(time.t_ms&0x1f)licheng();/每16ms调用一次前轮转向电机驱动函数 if(!(time.t_ms&0x0f)gw_dianji(); 以上的这段程序代码就是实现了任务的调度,和一般的多任务系统相比较有几点不同:(1) 任务之间的切换是通过函数的调用与返回实现的,当以上的这几个任务全调用一次之后将进入主任务执行,主任务即main()函数所对应的任务。谚辞調担鈧谄动禪泻類。(2) 相应的任务上、下文的保存与恢复也不是由任务调度器实现的,而是由C语

30、言编译器在函数调用时自动保存与恢复了主任务的上、下文;其他的任务不用保存上、下文,每次进入执行都是从相应函数的第一行开始,寄存器值也不用保存。嘰觐詿缧铴嗫偽純铪锩。总之,采用以上这种软件结构,也可以实现多个任务并发运行,在timer0()函数中可以加进更多的任务,只要各个任务都能在一个较段的时间内执行一次并返回到timer0()函数中就可以。此外,关于RAM的分配是在编译的时候完成的,各个任务一般要用一些全局的静态变量来标识自身状态。熒绐譏钲鏌觶鷹緇機库。在主控单片机上有以下几个任务:(1) 主任务:main()开始的任务,很多功能都要在该任务中完成;(2) 蜂鸣器发声任务:beep2(),全

31、局变量n_beep表示需要发出几个“嘀”声;(3) LED显示任务:led_disp(),LED数码管和LED发光二极管显示任务;(4) 后轮电机驱动任务:dianji(),目前只实现了电机的正、反转和停止功能,以后可以在该任务中加入PWM调速功能;鶼渍螻偉阅劍鲰腎邏蘞。(5) 前轮转向任务:gw_dianji(),控制步进电机让前轮转到指定的角度; (6) 里程检测任务:licheng(),检测小车的行驶里程。在从单片机上有四个任务:(1) 寻找光源方向任务:该任务作为从单片机的背景任务,由main()函数调用,然后一直循环的执行;(2) 前超声测障任务:chaosheng_qian(),由

32、从单片机的定时器中断处理函数timer0()每隔64毫秒调用一次;纣忧蔣氳頑莶驅藥悯骛。(3) 后超声测障任务:chaosheng_hou(),每64毫秒调用一次,和chaosheng_qian()的调用相差32毫秒;颖刍莖蛺饽亿顿裊赔泷。(4) 旋转机构转动任务:driver_dianji(),将寻找光源方向的转动机构旋转到指定的角度。2.4.3消息驱动结构考虑到系统中无论是操作者按下一个按键,还是遇到障碍或是寻找到光源,这些事件都有一个共同点,就是系统要对这些事件做出相应的处理或采取相应的措施。所以为了简化编程,让这些事件在主任务中能得到统一的处理,可以给这些事件编上号,然后由一个消息搜集

33、模块去等待各种消息。一旦某个事件发生,该模块马上给主任务返回该事件的编号,即消息值,让主任务按照消息值分类去处理消息。濫驂膽閉驟羥闈詔寢賻。在消息搜集模块的头文件中定义了如下若干个消息:/消息的结构为:高三位,消息分类码,可以加快消息处理的速/度;低五位,消息值。#define NULL 0/按键消息的定义#define MSG_K_QIAN 0x01/“前进”按键消息#define MSG_K_HOU 0x02/“后退”按键消息#define MSG_K_ZUO 0x03/“左转”按键消息#define MSG_K_YOU 0x04/“右转”按键消息#define MSG_K_TING 0x

34、05/“停止”按键消息#define MSG_K_MODE 0x06/“模式选择”按键消息#define MSG_K_FEN 0x07/“漏粉”按键消息#define MSG_K_REC 0x08/“记录路线”按键消息#define MSG_K_DISPMODE 0x09/“显示切换”按键消息/超声避障消息#define MSG_QIANZHANG 0x14/前方出现障碍消息#define MSG_HOUZHANG 0x15/后方出现障碍消息#define MSG_NOQIANZHANG 0x16/前方障碍消失消息#define MSG_NOHOUZHANG 0x17/后方障碍消失消息/光源消

35、息#define MSG_NOTFOUND 0x28/没有发现光源消息#define MSG_FOUND 0x29/发现光源消息/主从机之间的控制消息#define MSG_BEGINFIND 0x31/开始寻找光源命令消息#define MSG_ENDFIND 0x32/停止寻找光源消息extern uchar getmsg(void);extern uchar imgetch(void);消息搜集模块对外提供了两个接口函数:getmsg()函数一直等待到有消息时返回消息值;imgetch()函数立即返回按键值,这是为了某些地方使用上的灵活而设置的。銚銻縵哜鳗鸿锓謎諏涼。有了这个消息搜集模块

36、后,主任务执行的大部分时间就会停留在getmsg()函数内等待消息,当有按键命令或遇到障碍时返回消息值,主任务对其进行相应的处理。挤貼綬电麥结鈺贖哓类。主任务处理消息可以设计成如下结构:while(1)/消息循环switch(getmsg()/消息分类处理 case MSG_K_QIAN:/“前进”按键消息处理 break; case MSG_K_HOU:/“后退”按键消息处理 break; case 2.5本章小结本章将系统拆分成了若干个功能模块,并且采用两个AT89C52单片机来各分担一部分功能。在软件方面通过对结构的特殊设计,基本上实现了多任务并发运行,并且通过软件的分层结构将功能实现和

37、具体的硬件分离开,再加上消息驱动的结构,这将给后续的各模块软件的设计带来方便。赔荊紳谘侖驟辽輩袜錈。第3章 各模块的详细设计3.1 红外遥控模块的设计3.1.1 遥控模块的功能需求遥控模块采用红外遥控方式,因为采用红外遥控抗干扰能力强,且不会对周围的无线电设备产生干扰电波,接口简单;但是红外方式遥控的距离比较有限,一般在几米之内。鉴于本设计不需要远距离遥控,所以综合考虑之下采用红外遥控较为合适。塤礙籟馐决穩賽釙冊庫。本设计中要求能用遥控器控制小车的前进、后退、左转、右转、停止、记录路线、寻找光源等很多种功能;遥控距离在几米之内即可;并且要在遥控发射模块加入语音识别模块,能够实现声控功能。裊樣祕

38、廬廂颤谚鍘羋蔺。3.1.2 编解码芯片的选型由于在遥控端的按键数目有多个,而红外通道传输的只能是由0、1组成的串行代码,所以需要在发射端对按键进行“并-串”编码,在接收端相应的要进行“串-并”解码。码的波特率在收、发两端应该是一致的。仓嫗盤紲嘱珑詁鍬齊驁。方案一,使用MC145026、MC145027编解码芯片,其特殊的编码方式保证了信息的可靠传输,但是外围器件参数的选定较为烦琐,并且不能利用到其所提供的地址功能,也就是说传输的信息当中地址码部分是多余的,这就降低了信道的利用率。绽萬璉轆娛閬蛏鬮绾瀧。方案二,采用台湾瑞昱公司生产的专用于遥控车模的CMOS大规模集成电路TX-2/RX-2,该编解

39、码芯片具有5种控制功能,使用方便,所以本设计中采用了该方案。骁顾燁鶚巯瀆蕪領鲡赙。3.1.3 遥控模块原理图遥控模块发送部分原理如图3.1所示。TX-2的11脚和12脚之间接的电阻决定振荡频率;3脚接地;10脚接3-5V电源;14脚、1脚、4脚、5脚、6脚分别为5路发射控制端;9脚为发射指示端,当有按键按下时LED1发光提示;7脚为带载波的编码信号输出端,即编码信号已经内调制到38KHZ的载波上,该脚的信号通过一个NPN型三极管放大后可直接驱动红外发射二极管发射信号;8脚为不带载波的编码信号输出端。瑣钋濺暧惲锟缟馭篩凉。图3.1 遥控发射原理图3.1.3 遥控发射端按键数目的扩展图3.2 遥控

40、接收电路图遥控接收电路如图3.2所示。RX-2的4脚和5脚之间接的电阻阻值要和TX-2的11脚、12脚间的电阻阻值接近,相差在20%之内方可正确的解码,本设计中这两个电阻都选用150K;2脚接地;13脚接3-5V电源;3脚接输入信号,由一体化红外接收头1838输出的信号需要加一个反向器才是正确的编码信号;6脚、7脚、10脚、11脚、12脚为5路遥控命令的输出端,分别和TX-2的5路输入端的状态相对应。鎦诗涇艳损楼紲鯗餳類。另外,为了方便操作,将TX-2的5路功能扩展成9功能,即在遥控发射端可以接9个按键。这是通过对原先的5路输入进行组合得到的。栉缏歐锄棗鈕种鵑瑶锬。3.1.4 遥控电路与语音识别模块的连接语音识别模块采用凌阳61板,可以将SPCE061A单片机的输出引脚直接接到TX-2的输入端,与按键实现“线与”功能,这样遥控发射端的按键和凌阳单片机都可以通过遥控电路给小车发送命令。辔

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服