基于51系列单片机的音乐智能寻迹避障小车的设计与控制_第1页
基于51系列单片机的音乐智能寻迹避障小车的设计与控制_第2页
基于51系列单片机的音乐智能寻迹避障小车的设计与控制_第3页
基于51系列单片机的音乐智能寻迹避障小车的设计与控制_第4页
基于51系列单片机的音乐智能寻迹避障小车的设计与控制_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、. . . . 科学技术学院SCIENCE & TECHNOLOGYCOLLEGE OF NANCHANGUNIVERSITY 工 程 训 练报 告REPORTONENGINEERINGTRAINING题 目 基于51系列单片机的音乐智能寻迹避障小车的设计与控制 学科部、系: 信息学科部 专业班级: 电子信息工程07级2班 学 号: 7020907072 学生:章良(若要PCB图联系方式为 275047015 指导教师: 罗小青、岚峰 起讫日期:2010-4-19基于51系列单片机的音乐智能寻迹避障小车的设计与控制专业:电子信息工程 学号:7020907072学生:章良 指导教师:罗小

2、青、岚峰摘 要 在日常生活中人们,电子产品和人的生活密不可分,我们接触的电子产品有像平常用的手机、电脑、相机等高端的电子产品;也有像平常用的通电器,收音机等低端的电子产品;有智能的电子产品,也有非智能的电子产品。电子产品的总类是很多的,而在众多电子产品中有些带简单的智能控制的往往用到一些小芯片如单片机和一些传感类的器件如光耦元件、红外避障器等。本次工程训练我们就将采用51系列的AT89C51单片机和光耦器件RPR220和红外避障器E18-D80NK为主要的器件来制作音乐智能寻迹避障小车的控制电路,通过训练来达到对课本知识的更深认识和运用。目 录第一章 音乐智能寻迹避障小车的概述1.1音乐智能寻

3、迹避障小车工作原理3 1.2音乐智能寻迹避障小车的目的要求、技术指标与训练任务4第二章 设计方案的选择和确定2.1方案的主要组成部分与整体原理图5第三章 系统硬件设计3.1传感部分的设计103.2控制部分的设计12第四章 系统的 软件设计4.1流程图144.2程序清单15第五章 性能测试与分析5.1传感PCB板传感信号的测量205.2控制PCB板测量205.3小车跑道测试20第一章 音乐智能寻迹避障小车的概述1.1音乐智能寻迹避障小车工作原理所谓寻迹是在一个白色的塑料泡沫板上的宽25cm左右的有黑色电工胶布做成的椭圆轨道上寻黑线。避障是在小车在轨道上寻迹是当发现前方有障碍物时采取一定的操作,避

4、免碰撞,在这里是停车。音乐是只在启动、左转、右转、停车、前方有障碍、倒退时可以放出小车本身有的语音信号,在这里是从过但单片机发送解码来控制。智能控制也是由单片机来实现的。寻迹:寻迹是通过红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。红外探测器探测距离有限,一般最大不应超过3cm。避障:避障是通过光电传感器来实现的,它可以通传感器上面的

5、旋钮来控制障碍物感应距离,但围是有限制的,但这里用到的E18-D80NK的感应距离在3cm到80cm之间。音乐:音乐采用小车自带的音乐。智能控制:智能控制是采用单片机来处理所收集的信号,在由设定的来控制电路,从而达到智能控制。1.2音乐智能寻迹避障小车的目的要求、技术指标与训练任务目的要求:学生通过基于51系列单片机的音乐智能寻迹避障小车的设计与控制实训,除了加深和巩固学生课程理论学习之外,更重要的是加强实践、拓展应用,让学生了解基于51系列单片机的开发和运用的一个整体开发流程,包括在训练中要求学生能够自己根据性能指标和功能要求掌握硬件电路的设计和制作、元器件的选用和安装、软件的编写和调试,同

6、时学会硬件仿真、软件仿真和整机联调,其中最关键的两部分:硬件电路设计与制作和控制软件的编写以与调试,使得准产品最后达到技术指标的要求。技术指标:1、音乐智能寻迹小车需基于51系列单片机进行开发和设计。2、能实现在椭圆轨道、S形轨道,太极图形轨道等多种规则黑线轨道上寻迹运行,并还可以实现在任意黑线轨道上运行。3、至少两种方式启动:一是通过掌声、口声等其它声音启动;二是能通过检测到黑线后自行启动等其它。4、实现仿真实小车的声音和车灯效果:小车前进时有真车前进声音和车灯效果,小车左拐弯时有真车左拐弯声音和车灯效果,小车右拐弯时时有真车右拐弯声音和车灯效果,小车后退时有真车后退声音和车灯效果,小车遇到

7、障碍物时有真车鸣喇叭声音和车灯效果、并自动绕开障碍物前行。5、小车寻迹避障运行完之后能伴随音乐翩翩起舞演示。6、小车外观包装优美、电路设计制作焊接等工艺精良、软件程序可读性强。7、可扩展其它功能。实训任务:1、根据技术指标,提出可行性方案,经分析比较选出符合功能和性能要求的实际方案。2、利用电路绘图软件(例如:PTOTEL DXP)画出电路原理图。3、写出软件流程图,利用编程软件(例如KEIL)编写、编绎程序。4、利用电路仿真软件(例如:PROTEUS、MULTISIM)结合编程软件进行硬件电路联合仿真。5、根据电路原理图和元器件的尺寸大小利用电路绘图软件(例如:PTOTEL DXP)设计制P

8、CB板。6、安装元器件、焊接功能电路并结合软件程序实现整机联调。第二章 设计方案的选择和确定2.1方案的主要组成部分与整体原理图要做音乐智能寻迹避障小车可以有很多的方案,但各种方案都是模型相似的,无非就是在一些传感器上或局部小电路上不同而已,由于实训的材料是固定的,所以就由所有器件设定一个方案。避障传感部分声音传感部分传感信号处理部分控制信号输出部分寻迹传感部分寻迹传感部分: 该部分包括信号来源部分与信号简易处理部分,信号来源是红外发射与接收,在这里我们用到的是RPR220。信号简易处理部分用到一个LM358和一个LM324来处理 RPR220是一种一体化反射型光电探测器,其发射是一个砷化镓红

9、外发光二极管,而接收是一个高灵敏度,硅平面光电三极管,主要应用在游戏机,复印机和办公自动化等设备中。特点:LM358 部包括有两个独立的、高增益、部频率补偿的双运算放大器,适合于电源电压围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。LM358 的封装形式有塑封8引线双列直插式和贴片式。特性(Features):· 部频率补偿· 直流电压增益高(约100dB)· 单位增益频带宽(约1MHz)· 电源电压围宽:单电源(330V);双

10、电源(±1.5 一±15V)· 低功耗电流,适合于电池供电· 低输入偏流· 低输入失调电压和失调电流· 共模输入电压围宽,包括接地· 差模输入电压围宽,等于电源电压围· 输出电压摆幅大(0 至Vcc-1.5V)LM324系列器件为价格便宜的带有真差动输入的四运算放大器。与单电源应用场合的标准运算放大器相比,它们有一些显著优点。该四放大器可以工作在低到3.0伏或者高到32伏的电源下,静态电流为MC1741的静态电流的五分之一。共模输入围包括负电源,因而消除了在许多应用场合中采用外部偏置元件的必要性。每一组运算放大器可

11、用图1所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的位相反;Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位一样。LM324的引脚排列见图2。LM324的特点:1.短跑保护输出2.真差动输入级3.可单电源工作:3V-32V4.低偏置电流:最大100nA5.每封装含四个运算放大器。6.具有部补偿的功能。7.共模围扩展到负电源8.行业标准的引脚排列9.输入端具有静电保护功能避障传感部分: 这部分较为简单就是用到一个光电传感器E

12、18-D80NK,这是一种集发射与接收于一体的光电传感器。主要用于障碍物的检测。对障碍物的感应距离可以根据要求通过后部旋钮进行调节。该传感器具有探测距离远、受可见光干扰小、价格便宜、易于装配、使用方便等特点、可以广泛应用于机器人避障、流水线计件等众多场合。声音传感部分: 声音传感部分采用了一个驻极体和三极管的两级放大组成,驻极体外观如右图所示焊锡一边分2小块的接“+,”另一接地。三极管用到了8050,也可用9013,9014的,不管哪种,其封装都是TO-92 如图有所示。传感信号处理部分:信号处理部分是采用了单片机,如AT89C51,AT89S52都可以,我们处理的数据很少,所以2种任意的都可

13、以,其封装管脚也一样,我们以AT89C51为例说明AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51是

14、它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形与引脚排列如图所示 主要特性:·与MCS-51 兼容 ·4K字节可编程闪烁存储器 ·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24MHz·三级程序存储器锁定·128×8位部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源 ·可编程串行通道·低功耗的闲置和掉电模式·片振荡器和时钟电路注:控制输出部分做驱动最好都接一上拉电阻控

15、制输出部分主要就是电机的控制,在这里我们采用了一个电机驱动芯片LG9110下面是LG9110资料:整体原理图:由于是分2块PCB板制作的,所以分成传感(检测)部分,和控制部分。传感部分:控制部分:第三章 系统硬件设计3.1传感部分的设计传感部分包括3大部分:寻迹部分,声音部分,避障部分。寻迹部分: 它是通过RPR组成的电路来实现的,其电路图如右图寻迹信号处理采用的:电压比较器处理的。电压比较器的功能是比较两个电压的大小,例如将一个信号电压Ui和一个参考电压Ur进行比较,在Ui>Ur和Ui<Ur两种不同情况下,电压比较器输出两个不同的电平,即高电平和低电平。而Ui变化经过Ur时,比较

16、器的输出将从一个电压跳变到另一个电平。比较器有各种不同的类型。对它的要:鉴别要准确,反应要灵敏,动作要迅速,抗干扰能力要强,还应有一定的保护措施,以防止因过电压或过电流而造成器件损坏。比较器的特点: 工作在开环或正反馈状态。放大、运算电路为了实现性能稳定并满足一定的精度要求,这些电路中的运放均引入了深度负反馈;而为了提高比较器的反应速度和灵敏度,它所采用的运放不但没有引入负反馈,有时甚至还加正反馈。因此比较器的性能分析方法与放大、运算电路是不同的。 非线性。由于比较器中运放处于开环或正反馈状态,它的两个输入端之间的电位差与开环电压放大倍数的乘积通常超过最大输出电压,使其部某些管子进入饱和区或截

17、止区,因此在绝大多数情况下输出与输入不成线性关系,即在放大、运算等电路中常用的计算方法对于比较器不再适用。 开关特性。比较器的输出通常只有高电平和低电平两种稳定状态,因此它相当与一个受输入信号控制的开关,当输入电压经过阈值时开关动作,使输出从一个电平跳变到另一个电平。由于比较器的输入信号是模拟量,而它的输出电平是离散的,因此电压比较器可作为模拟电路与数字电路之间的过渡电路。由于比较器的上述特点,在分析时既不能象对待放大电路那样去计算放大倍数,也不能象分析运算电路那样去求解输出与输入的函数关系,而应当着重抓住比较器的输出从一个电平跳变到另一个电平的临界条件所对应的输入电压值(阈值)来分析输入量与

18、输出量之间的关系。如果在比较器的输入端加理想阶跃信号,那么在理想情况下比较器的输出也应当是理想的阶跃电压,而且没有延迟。但实际集成运放的最大转换速率总是有限的,因此比较器输出电压的跳变不可能是理想的阶跃信号。电压比较器的输出从低电平变为高电平所须的时间称为响应时间。响应时间越短,响应速度越快。声音部分:声音部分是采用驻极体和三极管两级放大实现的,具体如右图所示,由于采用的两级放大,所以在正常情况下,第二级输出的是为高电平,当有声音是才为低电平。避障部分: 避障部分电路比较简单,使用方法前面已有,只是要注意不不要接反,否则会烧坏传感器。传感部分的PCB图:3.2控制部分的设计控制部分:控制部分包

19、括信号处理部分,与控制输出部分。信号处理时采用的单片机,而使用单片机就存在单片机最小系统的设计AT89C51是片有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单可靠。用AT89C51单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如图单片机最小系统所示。由于集成度的限制,最小应用系统只能用作一些小型的控制单元。其应用特点:(1) 有可供用户使用的大量I/O口线。(2) 部存储器容量有限。(3) 应用系统开发具有特殊性。单片机最小系统1、时钟电路AT89C51虽然有部振荡电路,但要形成时钟,必须外部附加电路。51单片机的时钟产生方法有两种。部时钟方式和外部时钟方式

20、。本设计采用部时钟方式,利用芯片部的振荡电路,在XTAL1、XTAL2引脚上外接定时元件,部的振荡电路便产生自激振荡。本设计采用最常用的部时钟方式,即用外接晶体和电容组成的并联谐振回路。振荡晶体可在1.2MHZ到12MHZ之间选择。电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,CX1、CX2可在20pF到100pF之间取值,由于材料的限定,所以本设计中,振荡晶体选择12MHZ,电容选择30pF.在设计印刷电路板时,晶体和电容应尽可能靠近单片机芯片安装,以减少寄生电容,更好的保证振荡器稳定和可靠地工作。为了提高温度稳定性,应采用瓷片电容。2、复位电路AT8

21、9C51的复位是由外部的复位电路来实现的。复位引脚RST通过一个斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到部复位操作所需要的信号。复位电路通常采用上电自动复位和按钮复位两种方式。最简单的上电自动复位电路如图上复位电路所示。上电自动复位是通过外部复位电路的电容充电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。时钟频率用6MHZ时C取22uF,R取1K。除了上电复位外,有时还需要按键手动复位。本设计就是用的按键手动复位。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST端经电阻与电源Vcc接通而实现的

22、。按键手动复位电路见下图。时钟频率选用12MHZ时,C取10uF,R取100,RK取10K。控制输出部分:控制输出在这里用到的是一个电机驱动芯片LG9110,使用和连接电路非常简单,如下图为应用电路控制部分PCB图:第四章 系统的 软件设计4.1流程图 在设计一个完整的程序时,我们往往将程序拆分成多个单独的程序即为我们设计程序的子程序。程序设计流程图:否传感4,5是否为黑线或有无声音等待启动信号初始化开始寻迹行驶是否偏离是否有障碍是否检测到终点停车,并做停车演示否转向修正,并做相应演示继续检测是否否是是停车,并按喇叭否继续检测继续检测否4.2程序清单45 / 45/*07电子工程训练项目:自动

23、寻迹音乐小车程序,为使小车启动简便启动和报告中有点差异*/*creat by:HE SHANGPING */*creat data:2010-3-20*/*vision:v2.40*/*头文件调用和宏定义*/#include <reg51.h>#include <intrins.h>#include <string.h>#include <math.h>#define uchar unsigned char /无符号字符类型定义#define uint unsigned int /无符号整数类型定义/*变量初始化*/sbit BZ=P17;sbi

24、t MIC=P16;sbit musicdecode=P20;sbit QDdcmotor_IA=P21;sbit QDdcmotor_IB=P22;sbit FXdcmotor_IA=P23;sbit FXdcmotor_IB=P24;uchar xunjidecode=0x00;uchar kjflag=0;/*函数声明*/void musicdelay(uint z);void stopcar();void kjstopdecode();void ZUOZHUANcar();void ZUOZHUANdecode();void QJcar();void QJdecode();void b

25、ackcar();void backdecode();void YOUZHUANcar();void YOUZHUANdecode();void bzdecode();void showmusiccar();void musicdelay(uint z)uint x,y;for(x=z;x>0;x-)for(y=60;y>0;y-);void stopcar()QDdcmotor_IA=0; QDdcmotor_IB=0; FXdcmotor_IA=0; FXdcmotor_IB=0; void kjstopdecode() uint i; for(i=4;i>0;i-) m

26、usicdecode=1;/1musicdelay(1); /*每个脉冲信号0.5ms,一组共32.2ms*/musicdecode=0; /2musicdelay(1);musicdecode=1;/3musicdelay(3);musicdecode=0;/4musicdelay(1);musicdecode=1;/5musicdelay(3);musicdecode=0;/6musicdelay(1);musicdecode=1;/7musicdelay(3);musicdecode=0;/8musicdelay(1); musicdecode=1;/9musicdelay(3);mus

27、icdecode=0;/10musicdelay(1); musicdecode=1;/11musicdelay(3);musicdecode=0;/12musicdelay(1); musicdecode=1;/13musicdelay(3);musicdecode=0;/14musicdelay(3); musicdecode=1;/15musicdelay(1);musicdecode=0;/16musicdelay(1); musicdecode=1;/17musicdelay(3);musicdecode=0;/18musicdelay(1); musicdecode=1;/19mu

28、sicdelay(3);musicdecode=0;/20musicdelay(1); musicdecode=1;/21musicdelay(3);musicdecode=0;/22musicdelay(3);musicdecode=1;/23musicdelay(1);musicdecode=0;/24musicdelay(1); musicdecode=1;/25musicdelay(3);musicdecode=0;/26musicdelay(3); musicdecode=1;/27musicdelay(1);musicdecode=0;/28musicdelay(3); music

29、decode=1;/29musicdelay(1);musicdecode=0;/30musicdelay(3); musicdecode=1;/31musicdelay(1);musicdecode=0;/32musicdelay(3);void ZUOZHUANcar() FXdcmotor_IA=1; FXdcmotor_IB=0;/ musicdelay(20); QDdcmotor_IA=1; QDdcmotor_IB=0; musicdelay(125); QDdcmotor_IA=0; QDdcmotor_IB=0;/ musicdelay(15); void ZUOZHUANd

30、ecode() uint i; for(i=4;i>0;i-) musicdecode=1;/1musicdelay(1);musicdecode=0; /2musicdelay(1);musicdecode=1;/3musicdelay(3);musicdecode=0;/4musicdelay(1);musicdecode=1;/5musicdelay(3);musicdecode=0;/6musicdelay(1);musicdecode=1;/7musicdelay(3);musicdecode=0;/8musicdelay(1); musicdecode=1;/9musicde

31、lay(3);musicdecode=0;/10musicdelay(1); musicdecode=1;/11musicdelay(3);musicdecode=0;/12musicdelay(3); musicdecode=1;/13musicdelay(1);musicdecode=0;/14musicdelay(1); musicdecode=1;/15musicdelay(3);musicdecode=0;/16musicdelay(1); musicdecode=1;/17musicdelay(3);musicdecode=0;/18musicdelay(1); musicdeco

32、de=1;/19musicdelay(3);musicdecode=0;/20musicdelay(1); musicdecode=1;/21musicdelay(3);musicdecode=0;/22musicdelay(3);musicdecode=1;/23musicdelay(1);musicdecode=0;/24musicdelay(1); musicdecode=1;/25musicdelay(3);musicdecode=0;/26musicdelay(3); musicdecode=1;/27musicdelay(1);musicdecode=0;/28musicdelay

33、(3); musicdecode=1;/29musicdelay(1);musicdecode=0;/30musicdelay(3); musicdecode=1;/31musicdelay(1);musicdecode=0;/32musicdelay(3);void QJcar()QDdcmotor_IA=1; QDdcmotor_IB=0; musicdelay(125); QDdcmotor_IA=0; QDdcmotor_IB=0; /musicdelay(15); FXdcmotor_IA=0; FXdcmotor_IB=0; void QJdecode() uint i; for(

34、i=4;i>0;i-) musicdecode=1;/1musicdelay(1);musicdecode=0; /2musicdelay(1);musicdecode=1;/3musicdelay(3);musicdecode=0;/4musicdelay(1);musicdecode=1;/5musicdelay(3);musicdecode=0;/6musicdelay(1);musicdecode=1;/7musicdelay(3);musicdecode=0;/8musicdelay(3); musicdecode=1;/9musicdelay(1);musicdecode=0

35、;/10musicdelay(1); musicdecode=1;/11musicdelay(3);musicdecode=0;/12musicdelay(1); musicdecode=1;/13musicdelay(3);musicdecode=0;/14musicdelay(1); musicdecode=1;/15musicdelay(3);musicdecode=0;/16musicdelay(1); musicdecode=1;/17musicdelay(3);musicdecode=0;/18musicdelay(1); musicdecode=1;/19musicdelay(3

36、);musicdecode=0;/20musicdelay(1); musicdecode=1;/21musicdelay(3);musicdecode=0;/22musicdelay(3);musicdecode=1;/23musicdelay(1);musicdecode=0;/24musicdelay(1); musicdecode=1;/25musicdelay(3);musicdecode=0;/26musicdelay(3); musicdecode=1;/27musicdelay(1);musicdecode=0;/28musicdelay(3); musicdecode=1;/

37、29musicdelay(1);musicdecode=0;/30musicdelay(3); musicdecode=1;/31musicdelay(1);musicdecode=0;/32musicdelay(3);void backcar()QDdcmotor_IA=0; QDdcmotor_IB=1; musicdelay(200); QDdcmotor_IA=0; QDdcmotor_IB=0;/ musicdelay(10); FXdcmotor_IA=0; FXdcmotor_IB=0; void backdecode() uint i; for(i=4;i>0;i-) m

38、usicdecode=1;/1musicdelay(1);musicdecode=0; /2musicdelay(1);musicdecode=1;/3musicdelay(3);musicdecode=0;/4musicdelay(1);musicdecode=1;/5musicdelay(3);musicdecode=0;/6musicdelay(3);musicdecode=1;/7musicdelay(1);musicdecode=0;/8musicdelay(1); musicdecode=1;/9musicdelay(3);musicdecode=0;/10musicdelay(1

39、); musicdecode=1;/11musicdelay(3);musicdecode=0;/12musicdelay(1); musicdecode=1;/13musicdelay(3);musicdecode=0;/14musicdelay(1); musicdecode=1;/15musicdelay(3);musicdecode=0;/16musicdelay(1); musicdecode=1;/17musicdelay(3);musicdecode=0;/18musicdelay(1); musicdecode=1;/19musicdelay(3);musicdecode=0;

40、/20musicdelay(1); musicdecode=1;/21musicdelay(3);musicdecode=0;/22musicdelay(3);musicdecode=1;/23musicdelay(1);musicdecode=0;/24musicdelay(1); musicdecode=1;/25musicdelay(3);musicdecode=0;/26musicdelay(3); musicdecode=1;/27musicdelay(1);musicdecode=0;/28musicdelay(3); musicdecode=1;/29musicdelay(1);

41、musicdecode=0;/30musicdelay(3); musicdecode=1;/31musicdelay(1);musicdecode=0;/32musicdelay(3);void YOUZHUANcar() FXdcmotor_IA=0; FXdcmotor_IB=1;/ musicdelay(20); QDdcmotor_IA=1; QDdcmotor_IB=0; musicdelay(125); QDdcmotor_IA=0; QDdcmotor_IB=0; void YOUZHUANdecode() uint i; for(i=4;i>0;i-) musicdec

42、ode=1;/1musicdelay(1);musicdecode=0; /2musicdelay(1);musicdecode=1;/3musicdelay(3);musicdecode=0;/4musicdelay(1);musicdecode=1;/5musicdelay(3);musicdecode=0;/6musicdelay(1);musicdecode=1;/7musicdelay(3);musicdecode=0;/8musicdelay(1); musicdecode=1;/9musicdelay(3);musicdecode=0;/10musicdelay(3); musi

43、cdecode=1;/11musicdelay(1);musicdecode=0;/12musicdelay(1); musicdecode=1;/13musicdelay(3);musicdecode=0;/14musicdelay(1); musicdecode=1;/15musicdelay(3);musicdecode=0;/16musicdelay(1); musicdecode=1;/17musicdelay(3);musicdecode=0;/18musicdelay(1); musicdecode=1;/19musicdelay(3);musicdecode=0;/20musi

44、cdelay(1); musicdecode=1;/21musicdelay(3);musicdecode=0;/22musicdelay(3);musicdecode=1;/23musicdelay(1);musicdecode=0;/24musicdelay(1); musicdecode=1;/25musicdelay(3);musicdecode=0;/26musicdelay(3); musicdecode=1;/27musicdelay(1);musicdecode=0;/28musicdelay(3); musicdecode=1;/29musicdelay(1);musicde

45、code=0;/30musicdelay(3); musicdecode=1;/31musicdelay(1);musicdecode=0;/32musicdelay(3);void bzdecode() uint i; for(i=4;i>0;i-) musicdecode=1;/1musicdelay(1);musicdecode=0; /2musicdelay(1);musicdecode=1;/3musicdelay(3);musicdecode=0;/4musicdelay(1);musicdecode=1;/5musicdelay(3);musicdecode=0;/6mus

46、icdelay(1);musicdecode=1;/7musicdelay(3);musicdecode=0;/8musicdelay(1); musicdecode=1;/9musicdelay(3);musicdecode=0;/10musicdelay(1); musicdecode=1;/11musicdelay(3);musicdecode=0;/12musicdelay(1); musicdecode=1;/13musicdelay(3);musicdecode=0;/14musicdelay(1); musicdecode=1;/15musicdelay(3);musicdeco

47、de=0;/16musicdelay(3); musicdecode=1;/17musicdelay(1);musicdecode=0;/18musicdelay(1); musicdecode=1;/19musicdelay(3);musicdecode=0;/20musicdelay(1); musicdecode=1;/21musicdelay(3);musicdecode=0;/22musicdelay(3);musicdecode=1;/23musicdelay(1);musicdecode=0;/24musicdelay(1); musicdecode=1;/25musicdelay(3);musicdecode=0;/26musicdelay(3); musicdecode=1;/27musicdelay(1);musicdecode=0;/28musicdelay(3); musicdecode=1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论