《基于单片机的玩具小车智能控制系统的设计(共33页).doc》由会员分享,可在线阅读,更多相关《基于单片机的玩具小车智能控制系统的设计(共33页).doc(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上基于单片机的玩具小车智能控制系统的设计 摘 要: 在这个电子信息化的时代,随着经济的发展,科技的进步,电子玩具已成为玩具市场上的主流。为了适应电子玩具市场的需要,我设计了一款新型的智能玩具小车,即本论文研究的基于单片机的玩具小车智能控制的设计。该小车是以普通的四驱遥控小车为原型,MSP430F247单片机为控制系统,由芯片L298构成的直流电机来驱动电路,而且该小车是利用红外传感器进行障碍物的信息采集,同时也利用PWM技术进行电机调速控制,并辅以相应的语音播报功能。关键词:MSP430F247单片机;玩具小车;智能控制 专心-专注-专业The intelligent
2、control design of the toy carbased on microcontrollerAbstract:In the electronic information era, with the development of economy, the progress of science and technology, electronic toys on the toy market has become a mainstream. In order to meet the needs of the electronic toy market, I designed a n
3、ew type of intelligent toy car, namely in the research of this paper the design of the toy car based on single chip microcomputer intelligent control. The car is a common all-wheel-drive remote control car as the prototype,MSP430F247 single-chip microcomputer to control system, composed of chip L298
4、 dc motor drive circuit, and the car is an obstacle to using infrared sensor information acquisition, as well as using PWM technology to control motor speed, supplemented by the corresponding speech function.Keywords:MSP430F247 microcontroller ; toy car ; intelligent control目 录 第一章 绪 论随着我国经济的发展,社会的进
5、步,人们消费水平的提高,电子产品已成为社会市场上的主流产品,人们对电子产品的需求量也在不断增加,电子玩具就是其中之一。俗话说得好,“女人和孩子们的钱最好赚”,玩具市场作为孩子们的天堂,在社会市场的发展中具有重大潜力。中国作为世界上最大的发展中的国家,人口庞大,社会需求量也大,市场广阔,不仅是玩具生产大国,更是玩具消费最庞大的国家之一。随着科技的创新,现在的玩具市场已经向着电子多元化方向发展,作为孩子们最喜爱的玩具小车已成为玩具市场上最受欢迎的产品之一。但在玩具小车的市场上,由于中国的技术比较落后,对小车中作为主要核心的芯片技术还未能掌握,所以只能由其他发达国家生产小车的核心芯片,再由我国的工人
6、去加工小车的外装,最后再把完成的产品卖向中国乃至世界市场。而制作小车这一过程中获得的利润,发达国家占八成以上,我国等发展中国家获得的利润不到两成,这就是科技的力量,就是脑力劳动和体力劳动的区别。因此,大力发展我国的科技,实现技术创新,使科技运用于生活中,促进国民的经济发展,提高人民的就业率,提高人们的生活水平,对我国综合实力的提升和社会经济的发展都有着巨大的意义。由于单片机有着体积小、重量轻、功能多、价格便宜、科技含量高、小型化且便于携带等众多优点,因此它们已被广泛运用于各种电子行业和电子产品中。特别是近年来经济的飞速发展,科技的快速进步也带动着单片机的不断更新,用新型的小型单片机控制的电子玩
7、具在玩具市场的生产和消费中占有着重要的比例。因此,这些蒸蒸日上的高科技小型化单片机显然是本设计做智能玩具小车控制器的首要选择。由于玩具小车的语音播报能力和灯光显示效果能大大增强人们玩小车的乐趣,因此这也就成为了制作智能玩具小车中的重要技术。如果本设计在制作玩具小车的过程中运用此技术并能有效地降低制作成本,那么我制作的玩具小车将会风靡整个玩具市场,就会在中国乃至国际市场上发挥出重要的潜力,这也会对我国的电子玩具行业的发展乃至国民经济的发展都具有着重要的意义。 第二章 小车的系统模块设计2.1 小车的总体构思根据该研究项目的要求,本毕业设计制定出了以下的方案:先在网上购买一个普通的电动玩具小车,然
8、后把小车的车壳拆开,在小车内部加装红外传感器和语音芯片等硬件,等重新组装好小车后,再把小车开动,并通过红外传感器来检测小车在行驶过程中有没有遇到障碍物。当红外传感器检测到小车前方(或左边或右边)有障碍物时,系统就会将测得的数据传送至单片机,使测得的数据先经过单片机的处理,然后根据处理后的数据来实现单片机对玩具小车的智能控制,并在小车运行的过程中根据其行驶状态来实时地进行语音播报。玩具小车主要是采用MSP430F247单片机来作为控制系统的,并利用红外传感器作为小车的主要传感器,来进行障碍物的信息采集,以实现小车的自动避障功能,从而避免小车在移动过程中遇到主动撞上障碍物的情况。小车的行驶方向主要
9、是通过LED发光二极管和语音模块来显示的,小车运行时通过控制发光的LED显示的情况向前行驶,并随时通过语音播报来显示其行驶状态。小车的自动避障功能主要是通过红外传感器和黑白线传感器来测试的,先利用红外传感器来探测小车的正前方和左右侧,同时再利用黑白线传感器来探测小车的底部,然后通过这两种传感器来采集行驶过程中遇到的障碍物信息,最后由单片机去控制系统,从而实现了小车在行驶过程中能主动地避开障碍物。而且小车在行驶过程中,主要是通过PWM脉宽调制技术来提高系统的静态性能和动态性能的。本设计通过以上的方案可以对小车在行驶过程中的整个系统结构进行这样的总体构思:小车在行驶过程中,传感器检测模块中的红外传
10、感器将检测到的障碍物信息传递给主控芯片模块中的MSP430F247单片机,经过单片机对数据的处理,将处理后所测得的信息分别传输给电机驱动模块和语音模块。单片机利用电机驱动模块中的L298电机驱动芯片来控制小车电机的转速和旋转方向,从而控制小车的行驶速度和转弯;同时利用语音模块中的ISD25120 语音录放芯片对小车的行驶状态进行实时的播报,从而显示小车的行驶方向。在小车的整个运行过程中,电源模块一直不间断地给小车的主控芯片模块、电机驱动模块、语音模块和传感器检测模块提供稳定的电源电压,使其在行驶过程中能保持持续稳定地运行。而系统的整体框图如下图所示:传感器检测模块 语音模块电机驱动模块主控芯片
11、模块(MSP430F247)电源模块 图2-1 总体设计框图2.2 各个模块的器件介绍2.2.1 MSP430F247单片机的最小芯片介绍该玩具小车中使用的MSP430F247单片机是低功耗16位单片机,是由TI公司最新推出的产品,该芯片质量好、功耗低、价格便宜、小巧灵活、抗干扰能力强、小型化且科技含量高,而且易于制作成产品。将MSP430F247单片机的最小芯片放入小车的主控芯片模块中,控制着其他模块的运行,不仅效率高,而且体积小,放在小车中非常的方便。MSP430F247单片机是我经过无数次的试验,在各种芯片的比较中选择的最好的一种,也是最适合小车的一种,是本设计控制智能玩具小车芯片的最佳
12、选择。2.2.2 传感器介绍安全避障是玩具小车的一个基本技能之一,因此本设计在小车的制作过程中选用了两种传感器:即e18-d80nk 红外避障传感器和tk-20 黑白线检测传感器。(1)红外传感器e18-d80nk 红外避障传感器是一种光电传感器,它主要是通过发射和接收相结合,用来检测障碍物的。该传感器的内部形成了放大、整形、比较、调制等电路,在小车行驶时,其探测前方障碍物的有效距离可达80cm,并可以通过后部旋钮来调节探测的距离;而且该传感器在探测时可以直接输出电平信号,中间并不需要经过AD的转化就可以直接实现控制,应用电路相对简单,使用起来也比较方便。因为e18-d80nk 红外避障传感器
13、具有质量好、价格低、小巧灵活、安装方便、抗干扰能力强和信号处理简单等众多优点,所以我让小车主要采用该传感器来检测行驶过程中遇到的障碍物,并收集其检测到的障碍物信息。(2)黑白线传感器tk-20 黑白线检测传感器和e18-d80nk红外避障传感器一样,也是一种光电传感器,但它将发射和接收相结合主要是用来检测黑白线的。该传感器的内部也形成了放大、整形、比较、调制等电路,但它探测的有效距离只有5cm,最远也只能达到10cm,而且在10cm的范围内,探测黑白线的精度就会降低,并且该传感器探测的对象只能是黑色和白色,内容单一,因此它只适用于近距离检测。本设计在小车的生产调试过程中,由于空间和地域的限制,
14、我认为应该让小车行驶在一定范围内,即有一个固定的赛道,所以我采用了 tk-20 黑白线检测传感器,用来检测小车的行驶路线。由于tk-20 黑白线检测传感器只对黑色和白色有反应,因此我可以把小车行驶的赛道设置为黑色,在赛道终点画上白色的警戒线,然后再把该传感器安装在小车的底部,让小车在行驶时根据道路的颜色来进行对其行驶的路线控制。2.2.3 语音播报芯片介绍为了实现玩具小车的语音播报功能,本设计主要选用了ISD25120语音录放芯片来构建语音控制模块。ISD25120 芯片是美国ISD公司的产品,它也是ISD单片语音录放集成芯片中的一种。ISD25120 芯片采用的是直接模拟量存储技术,就是将录
15、取的每一个采样值直接存储在芯片内部的快闪存储器中,并且有效地保留了模拟量中的重要成分。该芯片录放的语音不仅音质较好,而且在目前的语音合成设计中运用也比较广泛,是语音芯片中最受欢迎的芯片之一,所以我采用该芯片来实现它对小车的语音播报控制。ISD25120语音芯片实际上是一个模拟数据收集系统,它将我事先录取的语音直接记录在芯片内部的EEP ROM中,所以能较好地保留录下的语音模拟量,从而减少了音质的失真,提高了语音录放的质量。ISD25120语音录放芯片重复录音的次数很多,最多可达1万次以上,录放的信息也可以保存很长时间,其中最长高达10年以上,而且它存储的信息段可以高达600个,还可以用多片级联
16、的方式来增加它的存储能力。因此,我选用ISD25120语音录放芯片来实现玩具小车的语音播报功能。ISD25120语音录放芯片的引脚图如下所示:图2-2 ISD25120引脚图2.3 各个模块的电路设计2.3.1 电源模块的设计为了能让小车在行驶过程中保持较快的速度,本设计选择了驱动电压较大的L298芯片来作为直流电机的驱动芯片,并且我暂时先直接给L298芯片供电8V左右的电压,然后在小车运行时再根据系统来调节其电压的大小,以保持小车的电压稳定和小车的灵活性。经过反复验证,我最终选择用标准车模用的 7.2V 2000mAh 蓄电池作为小车的主体电源,然后再根据小车运行时的需要,对蓄电池进行电压调
17、节。小车运行时,我直接对L298芯片供电 7.2V的电压,而MSP430F247单片机、红外传感器和黑白线传感器、LED 显示灯、ISD25120语音录放芯片等电路都供给接近 5V 的稳定电压。另外,在选取电源管理芯片时,人们一般常用的是LM7805芯片和LM7806芯片。但由于LM7805芯片和LM7806芯片在运行时形成的电压差会引起驱动电机在工作时的电压瞬间下降,从而造成芯片输出的电压也随之下降,影响了小车其他模块的运行。所以,本设计在制作小车的过程中选用的电源管理芯片是低压降的LM2940芯片。其中,LM2940的稳压电路图如下图所示:图2-3 LM2940稳压电路2.3.2 电机驱动
18、电路的设计因为单片机的I/O端口电流很小,无法驱动电机,因此我设计了电机的驱动电路来驱动电机转动,所以本设计选择了SGS 公司的15 脚封装的L298芯片来作为小车电机的驱动芯片。15 脚封装的 L298N芯片内部包含了4通道逻辑电路,它可以直接驱动一个两相步进电机或两个直流电机,也可以接受标准 TTL 逻辑电平信号 VSS。所以我把L298芯片的4 脚 VS 用来接小车的电源电压(VS电压范围为+2.546V,输出电流可达2.5A)。由于L298芯片可以同时驱动两个电动机,所以OUT3、OUT4 和 OUT1、OUT2之间可分别接入小车的电动机,6脚和11 脚可输入 PWM 波控制速度,12
19、脚、10脚、7脚和5脚可接输入控制电平来控制小车电机的正反转,而EnB、EnA 可分别接入小车的控制使能端来控制小车电机的停转。图2-4 L298电机驱动电路2.3.3 语音控制模块的设计本设计在小车制作前,一般会事先用ISD25120 语音录放芯片录制小车行驶时需要用到的语音(如前方有障碍物,请向左转90度;左边有障碍物,请向右转15度;右边有障碍物,请向左转15度;左方和右方两边都有障碍物,请后退等等),在小车运行时再利用MSP430F247单片机控制小车里的ISD25120语音录放芯片来播放语音,使小车运行时能够实时地播报其行驶状况。下图是ISD25120 语音录放芯片应用的电路图:图2
20、-5 ISD25120应用电路图 第三章 小车的系统软件设计3.1 系统软件设计总体说明本设计除了要进行系统的硬件设计外,还需要进行系统的软件设计,因此,我要根据小车的每个模块的实际需要设计出相应的应用程序。在通过对单片机智能控制玩具小车的系统软件设计中,软件系统大致可分为两种类型:即数据处理和过程控制。数据处理主要包括数据的采集、数字的滤波和尺度的变换等内容,过程控制主要是使系统中的应用程序在系统的内部进行计算、输出,再通过单片机来控制小车的整个系统软件。3.2 系统模块软件设计3.2.1 自动避障设计自动避障功能是小车的一个基本功能,本设计利用的是用红外传感器来进行对小车运行时遇到的障碍物
21、的检测。小车运行时,其内部的系统将采集到的障碍物信息交给CPU,使CPU经过系统单片机的处理,并将处理后输出的控制信息再传给电机驱动模块,由L298电机驱动芯片来控制电机的旋转方向,使小车在转弯过程中能顺畅、准确地转弯。在小车的行驶过程中,当红外传感器检测到小车的前方有障碍物时,就左转90度以避开障碍物;当左边的红外传感器检测到有障碍物时,就向右转15度来避开障碍物;同理,当右边的红外传感器检测到有障碍物时,再向左转15度来避开障碍物;当右边与左边的红外传感器共同检测到有障碍物时,小车就后退;当左边与前方的红外传感器共同检测到有障碍物时,小车就右转后退;当右边与前方的红外传感器共同检测到有障碍
22、物时,小车就左转后退;如果行驶过程中小车的3个红外传感器都没有检测到障碍物,小车就一直向前行走,直到走至赛道的终点,再根据小车底部的黑白线传感器探测的情况来让小车终止。3.2.2 智能小车方向与速度控制智能玩具小车首先要能实现直走功能,然后在其行驶过程中遇到障碍物时要能实现转弯和倒退,以避开障碍物,并控制其行驶方向。(1) 直走的实现原理因为玩具小车车轮的每一侧都是由同一侧的电机来控制的,所以只要让小车两侧的车轮同时由电机控制,以同样的旋转速度正向旋转,那么小车就会受到正向前的作用力而前进,这样也就实现了小车的直走功能。同样的,只要让小车两侧的电机在同一时间以同样的旋转速度反转,那么也就实现了
23、小车的倒车功能。(2) 转弯的实现原理由于玩具小车在行驶过程中需要自动避开障碍物,所以就要实现小车的转向能力,因此在设计过程中,只要让小车一侧的电机正转,另一侧的电机反转,而且两侧的电机必须同时进行,搭配恰当,经过反复调试,使小车正常偏转某一方向,从而实现了小车的转弯功能。(3) PWM的调速原理MSP430F247 单片机由集成的定时器产生了 PWM 脉宽调制波形,因此本设计可以通过用它的定时器来产生占空比和频率可调方波来控制小车的电机转速,从而控制小车的行驶速度。我把调速部分直接连接到247 的 PWM 输出口(即 P4 口),再经过合理的设置,那么在相应的端口处就会产生PWM 输出信号,
24、而加在小车电机两端的电压就是PWM 电压信号。此时小车电机两端的平均电压值的公式为 Uo=Th/(Th+Tl)*VCC,其中我可以通过调整PWM 的占空比来改变Th 和 Tl 的比值,从而改变Uo 的大小。本设计也可以通过调节小车电机两端的平均电压值,来改变电机的旋转速度,从而实现了控制小车的速度这一功能。3.2.3 语音模块软件设计ISD25120 语音录放芯片的录音软件设计流程图和放音软件设计流程图如下图所示:启动T0 P/R=0 PD=0 CE=0将首地址赋给A0A9本段地址=前一段的尾地址+1取前一段的尾地址语音段号=0启动录音子程序YN首地址结束图3-1 录音程序流程启动放音子程序Y
25、语音段号=0N取前一段的尾地址首地址=0本段地址=前一段的尾地址+1将首地址赋给A0A9P/R=1PD=0CE=0启动T0结束图3-2 放音程序流程3.3 部分系统软件设计难点由于MSP430F247低功耗16位单片机的内部有多种时钟系统,所以本设计为了提高系统软件的运行效率,就采用了内部之一的双时钟系统。小车系统软件内部的CPU采用的是16MHZ 的时钟 DCOCLK,而系统的外部电路则采用的是八分频的 2MHZ 的 时钟SMCLK 。因为红外传感器在检测到障碍物后系统会持续保持低电平,而247单片机外部中断只有上升沿触发和下降沿触发,而小车的避障系统又需要持续触发,所以系统不能进行外部中断
26、,因此单片机在程序中就读取红外传感器接收到的信息状态,将标志位进行标记,通过读标志位的方法来进行小车的自动避障。在语音播报的程序设计中,通过用P5端口来控制语音播放的地址,用定时器来控制语音录放的时间,在定时器中断结束中来控制语音播放的结束。由于语音播放在执行每一段转动程序中的时间都很短,这样的结果可能会导致程序中在不停的执行语音初始化,不仅重复而且比较耗时,因此我在程序中设置了累加量,让小车在这一段的语音播放结束后,下一段的语音播报要在程序初始化结束后才能启动。系统主程序为:#include #include MSP430F247IO.h /端口位使用宏定义#include datas.h
27、/变量定义程序#include general_fun.h /各转动程序#include msp430_init.h /各端口初始化及PWM程序#include isr.h /语音录放及定时器中断程序void main(void) /主程序 WDTCTL = WDTPW + WDTHOLD; / Stop WDTpwm_init(); /引用pwm波产生程序*_init(); /初始化_BIS_SR(GIE); /General interrupt enableP1OUT_BIT5=1;P1OUT_BIT6=0;for(;) main_counter+; /程序检测量avoid_init();
28、 /小车的避障程序第四章 小车的各硬件模块的安装调试4.1 硬件模块安装本设计要想使制作出的小车美观大方、简洁好看,就必须在制作前对小车的结构进行合理的设计和布局,这样不仅会使制作后的小车看起来更加的精巧美观,还会使小车的各项功能更加的精确和完善,从而做出的小车在市场上也会更受人们的欢迎。黑白线传感器红外传感器1红外传感器3红外传感器2小车的结构图车轮车轮车轮车轮图4-1 小车的结构图4.1.1 车内模块的安装由于小车的车身较小而且硬件较多,有的硬件还比较重和大,所以本设计可以将小车分为三层来组装。因为蓄电池的体积相对较大,而且相对于其它硬件的重量也比较重,所以我可以把它放在小车的最下面的第一
29、层;中间的第二层我可以安装单片机和语音模块;最后是电机驱动模块,我可以把它放在小车的最上面的第三层,并将它固定安装在小车的车盖顶棚。4.1.2 发光二极管的安装由于小车需要显示灯光照明的效果,所以本设计需要将4个LED显示灯装在小车的外壳上,因此我可以直接将4个发光二极管分别安装在玩具小车车壳的四个拐角处。4.1.3 红外检测模块和黑白线检测模块的安装因为红外传感器主要是用来检测障碍物的,所以本设计可以将红外传感器(3个)分别安装在小车的正前方、左前方和右前方,并把它们成大约75度的角排列放置,这样不仅可以使小车看上去更加的美观,而且还可以检测到前面和左右两边的障碍物,以实现小车的自动避障功能
30、。至于黑白线传感器则是检测地面的颜色,因此我把它安装在小车的底部即可,使它能检测地面的黑、白颜色,实现系统对小车的行驶路线的控制。我把开关当做是红外传感器,红外传感器检测到障碍物时,相当于开关闭合,相应的LED灯亮,小车避障测试如下图:图4-2 小车避障测试图图中传感器检测到障碍物,相应的中间LED灯亮,小车向左或向右转动;如果左、中两边的传感器同时检测到障碍物,相应的两个灯也会同时亮,小车向右运动。4.2 系统调试4.2.1 开发调试工具(1)IAR Embedded Workbench IDEIAR Embedded Workbench IDE是一种集编辑、编译、链接、调试和仿真等多种功能
31、为一体的集成开发环境,有交互界面、下拉菜单、快捷键和快速访问等多种应用软件工具,不仅可以高效地进行编程和调试工作,而且使用起来也比较方便。如果用它的软件仿真功能来模拟硬件功能去调试程序,在这种情况下它可以不用连接仿真板就可以直接运行,强大且实用。而且IAR Embedded Workbench 集成开发环境在程序设计上的功能也比较强大 ,基本上能实现汇编与 C 语言的相结合,不仅可以使程序更加完善,还可以使设计流程更加清晰,也更加有利于我们在学习过程中查错。(2)Protues 仿真软件Proteus ISIS是一种仿真软件,是由英国的Labcenter 公司来开发的。它可以集电路分析与实物仿
32、真相于一体,也可以将单片机和SPICE 分析相结合,如果把它运行在Windows 的操作系统上,它将会根据你的要求把各种模拟器件和集成电路进行仿真和分析(SPICE),功能强大且实用。本设计可以通过此软件来实现对小车软件上的仿真和测试,这样不仅为小车硬件的制作奠定了基础,而且有助于我们解决学习上遇到的困难。由于该软件的功能齐全,我们还可以利用它来解决我们在学习和工作中遇到的相关的问题。4.2.2 软件自身调试我在对软件自身的调试过程中,为了使程序运行的更加有效率,也使大家更加的能看懂,我就在程序中加入了一些调试变量flag1i,同时运用247编译软件 IAR Embedded Workbenc
33、h IDE 来进行编译,使用 watch 功能查看各个变量值的变化,这样不仅有利于我们更好地观看各个变量值的变化结果,还有利于我们更加直接地观测出程序的运行状况。4.2.3 测试仿真结果和分析把玩具小车经过反复的调试,现在基本上可以实现红外传感器对障碍物距离的准确判断,并通过ISD25120芯片进行语音播报。调试过程中再经过多次的检验和分析,小车的转弯角度终于由误差较大达到误差较小,最终也变成了可以转弯顺畅且准确。系统小车(以小车一个轮子为例子)测试仿真如下图:图4-3 小车(以小车一个轮子为例子)测试仿真图图中电动机的数值显示了小车的当前PWM调速的速度值。速度值前面的“+”号表示小车的运动
34、方向与小车规定的方向一致,“”号表示小车的运动方向与小车规定的方向相反。小车的速度通过程序中PWM进行调速。本设计在测试的结果中,也许得出的实际的数值和状态与理论偏差巨大,这就需要我不断的调试和改进。我们在实验过程中不能因为一次的失败就轻言放弃,做任何事情都不可能一蹴而就,真理总是在不断地实践的过程中检验而来的。本设计在玩具小车的制作过程中也是一样,为了设计出高科技的智能小车,我们一定要细心和有耐心,本着实事求是的态度和追求真理的决心,我们要在不断的实践中来实现技术的创新。 第五章 总结与展望5.1 总结在这个项目的设计过程中也许会遇到很多难题,例如小车转弯时,系统对小车的控制不够敏捷而导致小
35、车转弯时不够顺畅,还导致小车在运行过程中对电机损耗也很大,所以本设计在制作过程中选择了多种方案反复测试,让小车在不断的调试过程中采取了最佳方案,使小车运行达到最佳效果,能正常行驶和转弯。另外,我在小车运行过程中对其速度的控制也是经过反复测试和验证的,并不是一蹴而就,一次成功的。因此,我们在进行研究时,对任何成果都需要认真对待和总结,那是对我们努力研究的成果的认可。单片机对玩具小车的智能控制这一研究项目,从最开始的理论研究到最后的硬件实现,中间经历过无数次的调试和改进,我经过与同学们的相互合作和老师的悉心指导,最终终于完成。它是我们的努力成果,是大家智慧的结晶,我们不仅要爱护和尊重它,更要不断的
36、发展这一科技成果,理论与实际相结合,实现技术的创新与发展。面对中国如此庞大的消费市场,我认为可以将这一科技成果投入玩具市场中,这样不仅可以提高国人的就业率,还可以促进国民经济的发展。我还认为国家应不断发展科技和创新,实现经济与科技相结合,将科技成果运用到人们的日常生活中,促进经济的发展,这样不仅有利于人们生活水平的提高,也会有利于国家和社会的进步。5.2 展望与改进当然,对于这个项目的设计与研究,其中可能还存在一些不完善的地方,需要大家来进行改进和完善。例如:(1) 本设计已经实现了玩具小车的避障功能,但对于小车的绕障功能,还有待于大家进一步完善。大家可能需要选取一些更为轻便的材料来作为小车的
37、车身,以提高小车的灵敏度。在经过对小车的实际测试中,通过记录多组速度,寻找更加合适的转向速度,以提高小车的精确度。(2) 由于小车是利用红外传感器来进行障碍物的信息采集,范围有限,不能向四周扩大探测范围。所以大家可以在小车的正前方顶部安装一个红外线探头,通过小车的行驶让探头左右上下移动,从而扩大小车检测障碍物的范围。(3) 大家还可以发展小车的其它一些功能,如利用接口添加一些性能,加大科技含量,增加小车的趣味性。所以,请大家集思广益,多多提言,使我可以更加地完善小车。参考文献1薛峰,朱晓骏. 单片机原理及应用M. 北京: 北京理工大学出版社,20112 戴佳,陈斌.51 单片机应用系统开发典型
38、实例M.北京:中国电力社,2005.3 夏路易,石宗义. 电路原理图与电路板设计教程M.北京:北京希望电子出版社.4 刘以成智能汽车21 世纪的新型交通工具J.公路交通科技,1996,13(2):06-23.5 苏维嘉,王旭辉.基于 MSP430 单片机数据采集系统J.现代电子技术,2007,(30):04-15.6 贾伯年,俞朴.传感器技术(第 2 版)M.南京:东南大学出版社,2000.7 宋文绪,杨帆.传感器与检测技术(第 1 版)M.北京:高等教育出版社,2004.8 邵振峰,王怀山,江泳.基于 ISD25120 的语音录放系统J.郑州轻工业学院学报(自然科学版).2003,(6):0
39、4-15.9肖金球. 单片机原理与接口技术M. 北京: 清华大学出版社,2004 10胡汉才. 单片机原理及接口技术M. 北京: 清华大学出版社,200411 王柏盛.C 程序设计M.北京:高等教育出版社,2007.12 戴由金.51 单片机及其 C 语言程序开发实例M.北京:清华大学出版社,2008.13 欧伟明.基于 MCU、FPGA、RTOS 的电子系统设计方法与实例M.北京:14B.D. Theelen a,*, A.C. Verschueren b, V.V. Reyes Su_arez c, M.P.J. Stevens a, A. Nunez. A scalable single
40、-chip multi-processor architecture with on-chip RTOS kernel. J. 2003: 22-30 15Jayanta Mukherjee a,*, Manfred K. Lang b, S.K. Mitra. Demosaicing of images obtained from single-chip imaging sensors in YUV color space. J. 2005:13-18 附 录主程序:#include #include MSP430F247IO.h /端口位使用宏定义#include datas.h /数据定
41、义程序#include general_fun.h /各转动及语音录放程序#include msp430_init.h /各端口初始化及PWM程序#include isr.h /定时器中断程序void main(void) /主程序WDTCTL = WDTPW + WDTHOLD; / Stop WDTclock_init(); /时钟初始化pwm_init(); /引用pwm波产生程序port_init(); /端口初始化_BIS_SR(GIE); /General interrupt enableforward(); /前进P1OUT_BIT5=1;P1OUT_BIT6=0;P1OUT_B
42、IT7=1; /语音初始化for(;)main_counter+; /程序检测量avoid_init(); /避障程序数据初始化程序:#define uint unsigned int#define uchar unsigned char#define schar signed char#define Sensor_R P1IN_BIT1#define Sensor_L P1IN_BIT2#define Sensor_C P1IN_BIT3#define Sensor_D P1IN_BIT4#define Left_Engine TBCCR2#define Right_Engine TBCCR
43、3uchar k=0;uint r=0;void forward_slow(void);void turn_left(void);void turn_right(void);void turn_back(void);void turn_leftback();void turn_rightback();void forward(void);void pwm_init(void); /PWM程序void stop (void);void voice_stop(void);void avoid_init(void); /避障程序void play(void); /放音void record (voi
44、d); /录影void port_setting (void); /端口初始化void clock_init(void) /时钟初始化DCOCTL=CALBC1_16MHZ; /DCOCLK=16MHZBCSCTL1=CALBC1_16MHZ; /MCLK=DCOCLK=16MHZBCSCTL2=0X06; /SMCLK=16/8=2Mvoid pwm_init(void) /pwm波产生程序P4DIR |= 0x0c; / P4.1 - P4.6 outputP4SEL |= 0x0c; / P4.1 - P4.6 TBx optionsTBCCR0 = 512-1; / PWM Perio
45、dLeft_Engine =280; / CCR2 PWM duty cycleRight_Engine =280; / CCR3 PWM duty cycleTBCTL = TBSSEL_2 + MC_1; / SMCLK, up modevoid port_init(void) /端口初始化P4DIR |= 0XF0; /P4.4 - P4.7 outputP3DIR |= 0X0E; /P3.1 - P3.4 outputP1DIR &= 0XE1; /P1.1 - P1.4 为外部传感器检测输入口避障程序Void avoid_init(void) /避障程序if (Sensor_C=0) flag=1;else flag=0;if (Sensor_L=0) flag_l=1;else flag_l=0;if (Sensor_R=0) flag_r=1;else flag_r=0;if (Sensor_D=0) flag_stop=1;else flag_stop=0;counter-;if(counter0)counter=0;