《基于AT89S52的智能小车研究与设计.doc》由会员分享,可在线阅读,更多相关《基于AT89S52的智能小车研究与设计.doc(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、四川大学锦江学院毕业论文(设计) 毕业论文(设计) 题 目 基于AT89S52的智能小车研究与设计 系 部 电子信息工程系 专 业 年级 学生姓名 学 号 指导教师 34基于AT89S52的智能小车研究与设计07电子科学与技术学生: 指导教师: 【摘要】 本设计是基于AT89S52的智能小车研究与设计。由主单片机分别控制从单片机实现该系统的功能,此方案设计不仅简化了单片机的负担,而且在提升系统的工作效率同时,通过单片机主机跟对从机之间的分阶段地控制,降低了程序控制的繁琐程度。单片机从机主要实现电机的转动模块,路面检测模块、障碍物探测模块、光源探测模块等功能模块的检测和控制。而主单片机主要用于对
2、各个从单片机进行通信控制,决定是否执行操作及采集小车的实时数据。【关键词】 智能小车 AT89S52单片机 光电检测器 电机驱动 researching and designing of intelligence car Based on AT89S52【Abstract】 This design is based on the intelligence AT89S52 car research and design. By the single-chip microcontroller respectively from the control function of the system,
3、 this plan is designed not only simplify the microcontroller burden, but in ascending the system efficiency at the same time, through the microcontroller host from machine with the control between stages, reduces the program control trival degree. From machine mainly realizes motor microcontroller r
4、otation module, the road test module, obstacles detection module, light detection module function modules of the detection and control. And the Lord of all microcontroller is mainly used for communication from the single-chip microcomputer control, and decide whether to implement operation and colle
5、cting car real-time data.【Keywords】 Intelligent car AT89S52 single-chip Infrared detector photoelectric detector 目录第1章 绪论1第2章 方案论证及硬件设计12.1 单片机最小系统22.2 基于LM2576的电源设计32.3 直流电机驱动模块42.4 障碍物检测模块72.5 光源探测模块82.6 显示和报警模块112.7 通信模块12第3章 软件设计133.1系统软件设计说明133.2 光源探测模块程序设计143.3 避障模块程序设计153.4 显示及报警程序设计16第4章 系统软
6、硬件调试174.1 硬件部分的调试174.1.1 基于光敏电阻的寻光模块硬件调试174.1.2 驱动模块硬件调试184.1.3电动机转速控制调试184.1.4 主机与从机通信模块硬件调试184.2 软件部分的调试184.2.1 基于光敏电阻的寻光模块软件调试184.2.2 避障模块软件调试184.2.3 主机与从机通信模块软件调试18总结以及展望:20参 考 文 献21附录:22致谢35第1章 绪论智能小车是一个集环境感知、动态决策与规划、行为控制与执行等多种功能于一体的综合系统, 涉及到传感器技术、微处理器控制、信号处理、电机驱动、人工智能、驱动电源的设计方面。为了更加接近真实的模拟实现智能
7、小车的功能, 所以必须具备人工智能、信息交换、系统稳定的特点。智能小车国外研究现状3: 1.日本大阪大学的研究 大阪大学的shirai实验室所研究的智能小车,采用了航位推行系统,分别利用旋转编码器和电位计来获得智能小车的转向角,从而完成小车的定位功能。 2.德意志联邦大学的研究 1985年,第一辆VaMoRs 智能原型车在户外高速公路以100km/h进行测试,它使用了机器视觉来保证横向和纵向的车辆控制。智能小车国内研究现状: 相对于国外,国内的研究则相对较晚。开始于20世纪80年代,而且大多数研究还停留在针对某个单项技术的研究。例如: 1.清华大学在90年代中期曾研究一种采用图象识别来实现自动
8、导航的功能。 2.北京理工大学近年来也在进行用GPS与数字地图导航的智能车辆的研究。目前,智能车领域的研究已经能够在具有一定标记的道路上为司机提供辅助驾驶系统甚至实现无人驾驶。这些智能车的设计通常依靠特定道路标记完成识别,通过推理判断模仿人工驾驶进行操作。通常,智能车接受辅助定位系统提供的信息完成路径规划,如由 GPS 等提供的地图,交通拥堵状况,道路条件等信息。21 世纪的汽车概念将发生根本性的变化。现在的“汽车”是带有一些电子控制的机械装置,将来的“汽车”将转变为带有一些辅助机械的机电一体化装置,汽车的主要部分不再仅仅是个机械装置,它正向消费类电子产品转移。同时,智能汽车在传统汽车上配备了
9、远程信息处理器、传感器和接收器,通过无线网络获取前方交通状况信息,引导汽车加速或减速。这样,汽车就能更为平稳地行驶,避免不断刹车、启动的动作,以降低油耗。随着汽车电子控制技术的发展,中国的汽车工业将面临着巨大的发展机遇和挑战,开展智能汽车技术的研究与开发工作具有重要意义。第2章 方案论证及硬件设计 方案一:采用一片单片机来完成本设计所需要实现的所有功能模块,将所有信息的处理由唯一一片单片机来完成,实现智能小车寻光、避障、显示以及报警功能。 方案二:采用分模块控制,每一个单独的功能由各自的从单片机进行信号的采集和控制,然后再通过主机与从机之间的通信,将信息传递给单片机主机进行处理,这种设计方案具
10、有编程简单,设计更加清楚直观的特点,有利于将设计的复杂程度简化。本系统按照设计要求,应具有避障、寻光、显示、报警等功能,以及主机与从机之间进行信息交换并实现主机控制从机的功能。若只用一片单片机来实现上述所有功能,其硬件电路非常复杂,软件编程比较繁琐,故为了简化系统设计并使得各模块实现其功能,我采用分模块控制的设计方案(方案二,如图2-1),即各电路模块把检测得到的信息传送至各自的单片机进行运算、分析、处理并等待控制,同时给主控单片机握手信息让其决策是否执行,得到执行命令后,主单片机将各从单片机实时反馈回的各个检测量的信息给显示模块进行实时显示,这样设计就可以简单明确,更具可行性。图 2-1 控
11、制系统模块图主机与从机的控制模块具有以下优点:1单个模块电路的程序设计比起一个系统综合程序设计易编写和调试;2模块之间都由主控制系统控制,一个模块可以被多个任务在不同条件下调用;3模块程序允许分割任务和利用已有程序,为设计提供方便。综上所述,本系统的设计目的以及设计的思路方案,是用AT89S52单片机(主机跟从机)来实现所要完成的所有功能,按照以上思路实现智能小车的功能设计。2.1 单片机最小系统 本设计采用的是AT89S52作为主控芯片,AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 存储空间的系统可编程Flash 存储器。使用密度比较高非易失性存储器技术来实现芯片开发,具
12、有兼容以前51的管脚以及功能的特点。芯片中的Flash允许程序存储器在系统设计中可编程,同样可以选择应用于常规编程器。AT89S52拥有下面的一些标准功能: 8k的字节Flash存储器,256字节的RAM存储器,32 位的数据交换I/O,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。AT89S52 可降至0Hz 静态逻辑操作,可选择支持2种软件节电模式。在闲置状态的时候,CPU就不会继续工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护的模式下,RAM的内容不会因为断电而流失,振荡器被冻结,单片机将会停止一切工作,等待下一个中断或硬件复位为止
13、1。单片机的最小系统是单片机实现功能的基础,在设计中具有以下要求:1.复位电路:复位电路包括商店复位和手动复位两部分,52系列单片机多为高电平复位,即采用上电复位,其原理就是利用电容充电的一段时间将复位脚拉至高电平,使单片机完成复位。2.晶振电路:单片机要想工作必须有一个外部时钟源,这个时钟源有外部晶振产生。 3.ISP下载接口:改下载接口在实际制作是可以用双排的5*2的排针代替,电路是根据标准的ISP下载线来设计的,与常用的并口下载线,串口下载线和笔记本用的USBASP下载线兼容,只需将下载线接口插到本接口上就可以直接向单片机烧写程序。单片机 AT89S52 外接显示电路、障碍物检测、光源探
14、测电路和电机驱动电路。其中障碍物检测、光源探测电路是信号输入,显示电路和电机驱动是输出。为了方便单片机引脚的使用,将单片机的所有引脚用接口引出4。AT89S52 的最小系统电路如图 2-1-1 所示。 图2-1-1 AT89S52 最小系统电路2.2 基于LM2576的电源设计 LM2576系列的稳压器是单片集成电路,有优异的线性和负载调整能力。本系统采用LM2576电源芯片给系统进行供电,在指定输入电压和输出负载条件下保证输出电压的误差在4%以内,以及震荡频率误差在10%以内,效率高。本系统选用LM2576进行电源模块的设计,提供5V的电压给单片机,如图 2-2-1 所示电路供电。电机驱动电
15、路由另外一12V电源供电。这样可以避免互相干扰,从而提高系统的稳定性4。图2-2-1 单片机电源电路2.3 直流电机驱动模块 由于单片机的输出功率小,对电机的驱动能力不足,所以本系统选用L298N作为设计的驱动芯片。工作比较稳定的电机驱动信号是由单片机提供的。信号要经过光耦隔离之后,传送至芯片L298N。光耦隔离电路如下图2-3-1所示。图 2-3-1 光耦隔离电路 L298N是专用驱动集成电路,属于H桥集成电路,与L293D相比,其输出电流增大,功率增强。其输入端可以直接和单片机相连,方便受单片机控制。L298N芯片内部包含4通道逻辑驱动电路,是一种二相和四相的专用驱动器,内含二个H桥的高电
16、压大电流双全桥驱动器,接收标准TTL逻辑电平信号,符合两轮驱动和单片机控制。它可驱动46V,2A以下的电机,正好满足小车马达的驱动要求,可以直接控制电机实现正转与反转,实现此功能只需要改变输入端的逻辑电平,所以采用L298N作为驱动模块的控制芯片。电机驱动的电路原理图如下图2-3-2所示。电路图中有两个电源,一路为L298工作需要的5V电源VCC,一路为驱动电机用的电池电源VSS。 图 2-3-2 直流电机驱动模块在设计中,智能小车调速控制采用单片机端口某四位模拟PWM 调速,利用输出高低电平的占空比的不同来模拟实现PWM 调速的功能,采用这个方案,可以简化小车调速控制的复杂程度,使设计更加简
17、单化。PWM调速系统有下列优点: 1.利用PWM调速系统的开关频率较高,电枢电感通过简单的滤波就可以得到脉动非常小的直流电流,电流比较连续,系统在低速环境下比较稳定,并且可实现调速的范围比较大,在10000倍左右。电动机的磨损会很小,并且散热比较好。 2.因为开关的频率比较大,如果与快速响应的电机互相组合,调速系统就能够得到非常宽的频带,所以快速响应的性能比较好,与此同时的动态抗干扰能力就比较强。 3.因为电子器件只会在开关连接的时候才会工作,开关断开则停止,因此主电路中的损耗非常少,大大提升了装置的效率。根据以上综合比较,以及本设计中受控电机的容量和直流电机调速的发展方向,本设计采用了H型单
18、极型可逆PWM变换器进行调速。 脉冲宽度调制(Pulse Width ModulationPWM)是固定一个基本的脉冲周期,改变基本周期内有效的工作周期的大小来实现控制输出功率。对于一个定时器来说,其时钟源的输入频率在普通情况下是不会改变的,就是将定时器的预分值和定时器的分割值的值选定以后就不用再修改。因此PWM就能够获得比较稳定的一定频率的时钟源。电机的转速是和电机两端的电压成正比的,然而电机两端的电压是和PWM调制波中的有效电平的占空比成正比的,所以电机的速度控制和PWM调制电路的有效电压的占空比成正比,占空比的值越大,电机就转动的快,反之则慢。TCNTBn决定系统中PWM脉冲频率,同时T
19、CMPBn的值决定了PWM脉冲宽度值,然后我们通过占空比的计算公式TCMPn/TCNTn来计算出占空比的值。假如想控制电机的转速偏低,就需要一个很低的PWM脉宽输出值,这样可以降低占空比的值来使小车的转速减慢;同理如果想要电机的速度变大,可以通过一个更高的PWM的输出值,可以增加TCMPBn的值。在双缓冲器的独有特性下,下一个PWM周期的TCMPBn值可以通过ISR(中断服务程序)或者使用别的方法在当前PWM周期中低电平时的任何一点写入,就是在软件的设计中可以通过中断重新设置TCMPBn的值来实现改变电机的转速的功能。缓冲区TCMPBn,TCNTBn的值不一定等于这个周期的TCMPn,TCNT
20、n的值,但一定是TCMPn,TCNTn的下一个周期的值3。2.4 障碍物检测模块 避障模块的设计采用超声波传感器检测路面信息,检测信号通过电路处理后转换成单片机能识别的电信号,由单片机进行分析控制。超声波可以传递很强的信号,因此可以很清楚地检测到回波信号,再使本方案具有可行性。超声波发生器和单片机的P2.6脚连接,将超声波信号发送出去,检测信号后传送至AT89S52单片机进行处理,判断执行哪一种预先编制的程序来控制小车的行驶状态。 前进时,驱动直流电机正转,进入减速区时,由单片机控制进行模拟 PWM 变频调速,通过软件改变脉冲调宽波形的占空比,实现调速。小车在移动区域要沿着光源的方向行驶,但由
21、于小车不可能始终保持一定的方向,因为路面有障碍物,所以为了使小车能调整方向,绕过障碍物后继续行驶,直到检测到停止信号。系统需要将路面的状态实时的以电信号的形式传送至控制部分,控制部分驱动车轮的直流电机反转或正转,使小车绕过障碍物继续行驶。障碍物探测模块用来判断小车前方是否有障碍物并计算出小车与障碍物之间的距离,使小车可以顺利绕过障碍物而继续前行。为了保证小车在行驶的过程中顺利避开障碍物,需要用超声波传感器电路检测出障碍物与小车之间的距离和方向,将检测的数据传送至该模块的单片机进行分析控制,最后再由主单片机决定是否执行,执行后小车可正确的避开障碍物继续行驶。而要实现以上过程,就必须对接受的回波信
22、号进行处理,让AT89S52单片机获得可以识别的回波信号,因此将超声波探头接收回的信号经过CD4011后,可以实现对回波信号的放大和整形,其电路图如下图2-4-2所示。 图 2-4-1 超声波避障原理图 2.5 光源探测模块 本设计模块电路是用光敏电阻作为光电传感器,将其分别放置在小车顶盘前端的左、右两个方向。光源探测模块具有引导小车向光源方向行驶,使小车追寻光源的功能。通过检测光源信息,单片机将处理后的信息转换成控制量PWM波传送到直流电机,使小车追寻着光源方向前进。寻光采样过程中,利用ADC0809转换芯片将光敏电阻两端的电压值转换成数字量并让该模块的单片机读取,并进行运算控制,此时的控制
23、信息发送至系统主单片机让其判断是否执行该操作。当某一路光源检测电路检测出的光源强度大于其他路检测出的光源强度,相对应的光敏电阻阻值增大,分压变大,由此来判断光源方向,使小车跟着光源方向前行。在寻光过程中,还要考虑实际环境外界光线对小车的干扰,如何滤去外界光的干扰是本设计的一个难题,引导小车的光源为200W的灯泡,但是白天和夜晚小车实际的AD采样也不一样,会造成小车的不稳定。但是,为了更好地区分光源的强弱,避免外界光线的干扰,提高小车寻光的准确性和抗干扰性,我们在光敏电阻周围围了一圈黑胶布,并调整光强系数,适应电机转速7。这样做可以使小车对光线强弱的识别以及数据信息的准确性更好,光源检测电路图如
24、2-5-1 所示电路图。 图2-5-1 光源检测电路 在本设计模块电路中,利用ADC0809来实现对光敏电阻传感器采集得到的电压信号进行模数转换的,其原理图如下2-5-2所示: 图 2-5-2 ADC0809 进行A/D转换电路图 ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。是目前国内应用最广泛的8位通用A/D芯片6 。1主要特性 8路输入通道,8位AD转换器,即分辨率为8位,具有转换起停控制端。转换时间为100s(时钟为640kHz时),13
25、0s(时钟为500kHz时),单个5V电源供电,模拟输入电压范围05V,不需零点和满刻度校准,工作温度范围为-4085摄氏度,低功耗,约15mW9。 2内部结构ADC0809是CMOS单片型逐次逼近式AD转换器,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近9。3外部特性(引脚功能)ADC0809芯片有28条引脚,采用双列直插式封装IN0IN7:8路模拟量输入端。2-12-8:8位数字量输出端。 ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路 ,ALE:地址锁存允许信号,输入,高电平有效,START: AD转换启动脉冲输入端,输入一个
26、正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。EOC: AD转换结束信号,输出,当AD转换结束时,此端输出一个高电平(转换期间一直为低电平)。 OE:数据输出允许信号,输入,高电平有效。当AD转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ,REF(+)、REF(-):基准电压。 Vcc:电源,单一5V。 GND:接地9。 ADC0809的工作过程首先输入3位地址,并使ALE=1,将地址存入地址锁存器中,此地址经译码选通8路模拟输入之一到比较器,START上升沿将逐次逼近寄存器复位,下
27、降沿启动 AD转换,之后EOC输出信号变低,指示转换正在进行5。直到AD转换完成,EOC变为高电平,指示AD转换结束,结果数据已存入锁存器,这个信号可用作中断申请,当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上,转换数据的传送 A/D转换后得到的数据应及时传送给单片机进行处理3。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式。 1.定时传送方式 对于一种A/D转换其来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128s,相当于6MHz的MCS-51单片机共64个机器周期。可据此设计一个
28、延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。 2.查询方式 A/D转换芯片由表明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询方式,测试EOC的状态,即可确认转换是否完成,并接着进行数据传送。 3.中断方式 把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送,不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送,首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受3。2.6 显示和报警模块 本系统采用LCD显示器来实现小车速度和运行时间的显示功能,并在
29、电路中连接一个蜂鸣器电路,当小车在行驶途中遇见障碍物并且检测到信息时,从单片机就会将检测信息发送给主单片机,由主单片机控制蜂鸣器电路导通,实现小车障碍物报警的功能9。该芯片所驱动的显示电路如图2-6-1 显示电路所示:2-6-1 集成显示电路 当系统出现上述情况的时候,微控制器就会控制蜂鸣器电路导通,蜂鸣器就会发出警报,其电路图如下图 2-6-2所示: 图2-6-2 蜂鸣器电路 2.7 通信模块 多个AT89C52单片机可以利用串行口进行多机通信。为此,要保证主机与所选择的从机实现可靠通信,必须保证串行口具有识别功能。串行口控制寄存器SCON中的SM2位就是为了满足这一条而设置的多机通信控制位
30、。如图2-7-1所示: 图 2-7-1 各模块通信示意图多机通信的工作过程如下:1. 从机初始化程序允许串行口中断,将串行口编程方式2或者方式3接收,且SM2和REN位置“1”,使从机只处于多机通信切接收地址帧的状态。2. 在主机和某个从机通信前,先将从机地址(即准备接收数据的从机)发送给各个从机系统,接着才传送数据或者命令,主机发出的地址信息的第9位为1,数据(包括命令)信息的第9位为0,当主机向各个从机发送地址时,各个从机的串行口接收到的第9位信息RB8为1,且由于SM=1,则中断标志位RI置“1”,各个从机89C52响应中断,执行中断服务程序1。在中断服务子程序中,判断主机送来的地址是否
31、和本机的地址相符合,若为本机地址,则从机SM2位清“0”,准备接收主机的数据或者命令,若地址不符,则保持SM2=1状态。3. 接着主机发送数据帧,此时各个从机串行口接收到的RB8=0,只有与前面地址相符合的从机系统(即SM2位已清“0”的从机)才能激活中断标志位RI,从而进入中断服务程序,在中断服务程序中接收主机的数据(或者命令);其他从机因SM2保持位1,有RB8=0,不能激活中断标志RI,所有不能进入中断,把所有接收的数据丢失不做处理,从而保证主机和从机间的通信正确性1。第3章 软件设计3.1系统软件设计说明 在进行本系统设计的时候,除了系统硬件设计外,就是如何根据每一个电路模块的实际需要
32、设计应用程序。所以,软件设计在该系统设计中占有重要的地位。 在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。数据处理包括:数据的采集、数字滤波、标度变换等。过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以便控制各模块实现设计的功能。 为了完成上述任务,在进行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。所谓“模块”,实质上就是所完成一定功能,相对独立的程序段,这种程序设计方法叫模块程序设计法。模块程序设计法的主要优点是: 1.单个模块电路的程序设计比起一个系统综合程序设计易编写和调试; 2.模块之间都由主控制系统控制,一个模块可以被多个任务在不同
33、条件下调用; 3.模块程序允许分割任务和利用已有程序,为设计提供方便。 本系统软件采用模块化结构,由主程序定时子程序、避障子程序寻光子程序、中断子程序显示子程序调速子程序构成。其主程序流程图如图3-1-1所示 在进行系统设计时,除了系统的硬件设计外,大量的工作就是如何根据每个电路模块的实际需要设计应用程序,为了实现模块的电路功能,在进行软件设计时,我们把该模块功能又分成若干个部分分别实现,最后再统一起来。 3-1-1主程序系统流程图3.2 光源探测模块程序设计 按照硬件设计要求,光源探测模块需要检测光源的方向,并让小车跟随着光源方向前进,软件程序设计的方法需按照这个思路进行,单片机完成光源的检
34、测并分析处理检测信息,此信息再传送给系统主单片机显示其相关信息,其软件程序设计流程如下图3-3-1所示。 图3-2-1 光源探测模块程序流程图3.3 避障模块程序设计 避障程序需要按照避障模块需要完成的功能来进行软件设计,最后再把信息传送给主单片机,其避障子程序的设计流程图如下图3-3-1所示。图3-3-1 避障程序的设计流程3.4 显示及报警程序设计 本设计的显示程序设计,当小车行驶,通过扫描传感器的数据,将所得数据传输给单片机,通过单片机控制LCD显示器显示小车行驶距离。当小车在行驶途中,由于外界原因导致内部电压和电流值达到警戒标准,单片机就会给出一个输出信号,导通蜂鸣器报警,软件设计流程
35、图如下图3-4-1所示。图3-4-1显示和报警程序流程图第4章 系统软硬件调试4.1 硬件部分的调试我们把整个系统的硬件调试电路模块分成了最小系统调试、L298驱动芯片调试、直流电动机转速控制调试。对这些单个的电路,用简单的检测方法来判断工作是否正常、功能是否满足要求。4.1.1 基于光敏电阻的寻光模块硬件调试 1AT89S52与AD0809接口调试 不管给IN0的模拟信号是+5V还是0V还是别的,或改变A的值,出来的结果都是00。而且断电后,再上电,就不会再有任何显示,即使按了复位键。 给ADC0809的时钟为500KHz,片选信号由P2.0给出,P2.0和/WR信号通过或非门给ST和ALE
36、,P2.0和/RD信号通过或非门给OE,EOC通过非门把信号给P3.3,作为查询ADC0809转换结束信号。 2基于光敏电阻传感器电路模块调试 首先最强光检测出最大电压,在检测出了最强电压之后,在逐渐将光源的强度减弱,依次获得检测出的电压与光强的对比数据,最后观察分析检测出电压是否跟光强呈线性关系。4.1.2 驱动模块硬件调试 芯片L298N给我们调试过程中出现了难题。在经过上面的硬件测试,指示灯的反应,直流电机单独接12V电源正常运转.我们想进行一次通过芯片给L298N送值驱动电机转动的测试。安装好各部件,接好5V电源外接线,准备好电源。给出一段简单驱动程序到L298N,使两电机正转,小车直
37、行。4.1.3电动机转速控制调试单片机的P2口的某两位模拟PWM波,单片机端口某一位模拟PWM 调速,利用输出高低电平的占空比的不同来模拟实现 PWM 调速的功能,车轮在不同占空比的PWM波下,转速不同。4.1.4 主机与从机通信模块硬件调试 将主机单片机RXD、TXD管脚分别与从机单片机的TXD、RXD管脚交叉连接并初始化芯片,对系统主单片机的最小系统烧写进一段点灯程序,观察各模块的单片机的最小系统是否按照烧写进的预定程序工作,以检测主芯片与从芯片之间的信号传输是否正常。4.2 软件部分的调试4.2.1 基于光敏电阻的寻光模块软件调试 根据该电路模块检测出的不同电压值,让其驱动光源接收器旋转
38、的步进电机有不同的转动角度及方向,首先让其小车在停止的状态下检测出光源最强的那一路光敏传感电路模块,然后根据传感器所获得的数据,传送至单片机,控制直流电机转动,使小车行驶。4.2.2 避障模块软件调试超声波发生器发出的超声波的频率在40KHz左右,接收头的谐振频率也应该相同,否则无法接收到超声波信号,然后检测单片机最小系统的供电是否正常,确保系统的正常稳定下,人为设置超声波的检测距离。通过反复试验后,最终获得小车成功避开障碍物的最短距离,实现小车的成功避障。4.2.3 主机与从机通信模块软件调试主机和各个模块间通过多机通讯模式进行通讯。使用串口模式2/模式3。将所有从机的SM2控制位置为1,这
39、样一来从机只接收TB8为1的控制帧。主机利用控制帧实现从机的选择。各个从机收到控制帧后判断是否选中自己,如果被选中则根据从机自身特点结合控制帧中的控制码做相应处理。控制帧定义如下:BIT7-BIT5:作为从机选择编号,从0到7号,最多可以有8个从机。BIT4:读写控制位。0表示主机将要写数据到从机;1表示主机需要读取指定的从机。BIT3-BIT0:为根据从机自身相关功能定义的命令控制字。具体的通讯步骤如下:主机发送广播命令,设置各个从机的相关参数,选取要进行通讯的从机。各个从机接收广播命令;初始化相关参数。当接到需要交互通讯的命令时,相关从机修改串口控制字,进入交互通讯模式。主机和从机进行8位
40、的交互通讯。完成指定数目的数据交互后,从机自动恢复到只接收广播命令状态。主机的广播控制命令信号的时基由定时器产生,每隔20mS产生一次遍历访问所有从机的信号。在20mS时钟信号产生的时刻,主机向所有从机发送状态锁定/更新的广播命令。各个从机收到命令后,检测作用的从机用当前状态值更新待发送的状态寄存器;控制功能的从机用前次收到的控制字更新控制寄存器。从而同步各个采集及控制模块。检测模块从机收到读取自己的广播后,锁定状态值,初始化相关模式,准备待发送的数据,然后向主机发送状态信息。电机执行模块从机,接收到控制自己的广播后,初始化相关参数。开始接收主机发来的控制命令。控制命令用一个字节表示。其中0表
41、示停机,1到127之间的数据表示各重运行参数。 总结以及展望:时光飞逝,大学的生活即将结束,回想这四年来的大学生活,充满了学习的热情和同学之间的关心,我们曾陪伴在彼此的学习和生活中,在这即将分手的时刻,难免有一丝伤感,我们共同在大学四年一起奋斗,一起拼搏,这将成为我们难忘的记忆。本设计在硬件上采用了基于PWM技术的H型桥式驱动电路,解决了电机马驱动的效率问题,在软件上也采用较为合理的系统结构及算法,提高了单片机的使用效率,且具有一定的防飞能力。但该设计也有不足之处,主要是在关于速度的反馈上,首先,速度的变化范围较小,因此,有必要引入传感器技术对速度进行反馈。本次智能小车的研究与设计主要实现了小
42、车的电源、驱动、寻光和避障等功能,其中寻光和避障的设计难度比较大,而且主要通过模块之间的相互通信来完成数据的传输与控制。对智能小车进行软件编写时,遇到了一定的困难,如控制过程的算法和PWM波的调试等,通过指导老师的讲解和查阅相关资料,我理解和掌握了软件设计的一些方法,程序的的编写水平有了一定的提高。在完成毕业设计的4个月里,通过查阅相关资料以及指导老师的辅导,使我对设计的内容和方案有了更深刻的认识和理解,为最终完成设计打下一定的基础。在整个设计过程中,也体现了小组成员之间的默契配合和相互学习的精神,虽然在即将答辩之际,还未能按照原定方案完成设计,但也提升了我们的实验设计和动手能力。希望在今后的
43、生活中,继续发扬不放弃的精神,不断学习,使自己能更好地掌握专业知识。参 考 文 献1孙育才编著.MCS51系列单片机及其应用M. 东南大学出版社,1992 2王晓明编著.电动机的单片机控制M.北京: 北京航空航天大学出版社,20023何立民编著.单片机应用系统设计M.北京:北京航空航天大学出版社,19904杨振江等编著.流行单片机使用子程序机应用实例M. 西安: 西安电子科技大学出版社 ,20025苏长赞编著.使用遥控技术手册M. 北京:人民邮电出版社,19966张毅刚编著.单片机原理及应用M. 北京:高等教育出版社,2003 751 单片机技术与应用系统开发案例精选M.北京:清华大学出版社,
44、2008 ,P58P145,P422P446851 单片机 C 语言应用程序设计实例精选M.电子工业出版社,2006 ,P102P111,P332P3399赵负图,传感器集成电路手册M.第一版,化学工业出版社,2004,P590P591附录:主程序:limiw equ 30h ;厘米位 miao equ 31h ;秒位 fenmi equ 32h ;分米位 fmiao equ 33h ;分秒位 meter equ 34h ;米位 fenzh equ 35h ;分位 point equ 36h ;小数点位 shimi equ 37h ;十米位 shifn equ 38h ;十分位 sudu equ 39h ;速度控制 jishk equ 3ah ;记时开始 zhond equ 3bh zhodu equ 3ch zhon equ 3eh maicho equ 3fh jinweb equ 40h bhcs equ 41h dpan equ 42h fenchu equ 43h fencun equ 44h p