基于AT89S52的智能小车研究与设计_第1页
基于AT89S52的智能小车研究与设计_第2页
基于AT89S52的智能小车研究与设计_第3页
基于AT89S52的智能小车研究与设计_第4页
基于AT89S52的智能小车研究与设计_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、Sichuan University Jinjiang College毕业论文(设计)题 目基于AT89S52的智能小车研究与设计系 部 电子信息工程系专 业年级学生姓名学 号指导教师四川大学锦江学院毕业论文(设计)I基于AT89S52的智能小车研究与设计07电子科学与技术学生:指导教师:【摘要】 本设计是基于AT89S52的智能小车研究与设计。由主单片机分别控制从单片 机实现该系统的功能,此方案设计不仅简化了单片机的负担, 而且在提升系统的工作效率 同时,通过单片机主机跟对从机之间的分阶段地控制,降低了程序控制的繁琐程度。单片 机从机主要实现电机的转动模块,路面检测模块、障碍物探测模块、光源

2、探测模块等功能 模块的检测和控制。而主单片机主要用于对各个从单片机进行通信控制,决定是否执行操 作及采集小车的实时数据。【关键词】智能小车AT89S52单片机 光电检测器电机驱动四川大学锦江学院毕业论文(设计) researching and designing of intelligence car Based on AT89S52【Abstract 】This design is based on the intelligenee AT89S52 car research and design. Bythe single-chip microcontroller respectively

3、from the control function of the system, this plan is desig ned not on ly simplify the microc on troller burde n, but in asce nding the system efficie ncy at the same time, through the microc on troller host from mach ine with the con trol betwee n stages, reduces the program con trol trival degree.

4、 From mach ine mai nly realizes motor microc on troller rotatio n module, the road test module, obstacles detecti on module, light detect ion module function modules of the detection and control. And the Lord of all microcontroller is mainly used for com muni catio n from the sin gle-chip microcompu

5、ter con trol, and decide whether to impleme nt operati on and collect ing car real-time data.【Keywords 】Intelligent car AT89S52 single-chipInfrared detector photoelectricdetector目录 TOC o 1-5 h z HYPERLINK l bookmark22 o Current Document 第1章绪论 1 HYPERLINK l bookmark24 o Current Document 第2章方案论证及硬件设计

6、1 HYPERLINK l bookmark26 o Current Document 2.1单片机最小系统 2 HYPERLINK l bookmark28 o Current Document 2.2基于LM2576的电源设计 3 HYPERLINK l bookmark32 o Current Document 2.3直流电机驱动模块 4 HYPERLINK l bookmark34 o Current Document 2.4障碍物检测模块 7 HYPERLINK l bookmark36 o Current Document 2.5光源探测模块 8 HYPERLINK l bookm

7、ark38 o Current Document 2.6显示和报警模块 11 HYPERLINK l bookmark40 o Current Document 2.7通信模块 12 HYPERLINK l bookmark42 o Current Document 第3章软件设计 13 HYPERLINK l bookmark44 o Current Document 3.1系统软件设计说明 13 HYPERLINK l bookmark46 o Current Document 3.2光源探测模块程序设计 14 HYPERLINK l bookmark48 o Current Docume

8、nt 3.3避障模块程序设计 15 HYPERLINK l bookmark50 o Current Document 3.4显示及报警程序设计 16 HYPERLINK l bookmark56 o Current Document 第4章系统软硬件调试 17 HYPERLINK l bookmark58 o Current Document 4.1硬件部分的调试 174.1.1基于光敏电阻的寻光模块硬件调试 17驱动模块硬件调试 184.1.3电动机转速控制调试 184.1.4主机与从机通信模块硬件调试 18 HYPERLINK l bookmark60 o Current Documen

9、t 4.2软件部分的调试 184.2.1基于光敏电阻的寻光模块软件调试 184.2.2避障模块软件调试 18主机与从机通信模块软件调试 18 HYPERLINK l bookmark62 o Current Document 总结以及展望: 20 HYPERLINK l bookmark64 o Current Document 参考文献 21 HYPERLINK l bookmark66 o Current Document 附录: 22 HYPERLINK l bookmark70 o Current Document 致谢 35四川大学锦江学院毕业论文(设计) 第1章绪论智能小车是一个集

10、环境感知、动态决策与规划、行为控制与执行等多种功能于一体的 综合系统,涉及到传感器技术、微处理器控制、信号处理、电机驱动、人工智能、驱动电 源的设计方面。为了更加接近真实的模拟实现智能小车的功能,所以必须具备人工智能、信息交换、系统稳定的特点。智能小车国外研究现状:日本大阪大学的研究 大阪大学的shirai实验室所研究的智能小车,采用了航位 推行系统,分别利用旋转编码器和电位计来获得智能小车的转向角, 从而完成小车的定位 功能。德意志联邦大学的研究 1985 年,第一辆VaMoRs智能原型车在户外高速公路以 100km/h进行测试,它使用了机器视觉来保证横向和纵向的车辆控制。智能小车国内研究现

11、状:相对于国外,国内的研究则相对较晚。开始于20世纪80年代,而且大多数研究还停 留在针对某个单项技术的研究。例如:清华大学在90年代中期曾研究一种采用图象识别来实现自动导航的功能。北京理工大学近年来也在进行用 GPS与数字地图导航的智能车辆的研究。目前,智能车领域的研究已经能够在具有一定标记的道路上为司机提供辅助驾驶系统 甚至实现无人驾驶。这些智能车的设计通常依靠特定道路标记完成识别,通过推理判断模 仿人工驾驶进行操作。通常,智能车接受辅助定位系统提供的信息完成路径规划, 如由GPS 等提供的地图,交通拥堵状况,道路条件等信息。21世纪的汽车概念将发生根本性的变化。现在的“汽车”是带有一些电

12、子控制的机械装置,将来的“汽车”将转变为带有一些辅助机械的机电一体化装置,汽车的主要部分不再仅仅是个机械装置,它正向消费类电子产品转移。同时,智能汽车在传统汽车上配备 了远程信息处理器、传感器和接收器,通过无线网络获取前方交通状况信息, 引导汽车加 速或减速。这样,汽车就能更为平稳地行驶,避免不断刹车、启动的动作,以降低油耗。 随着汽车电子控制技术的发展,中国的汽车工业将面临着巨大的发展机遇和挑战,开展智能汽车技术的研究与开发工作具有重要意义。第2章方案论证及硬件设计方案一:采用一片单片机来完成本设计所需要实现的所有功能模块,将所有信息的处理由唯一一片单片机来完成,实现智能小车寻光、避障、显示

13、以及报警功能。方案二:采用分模块控制,每一个单独的功能由各自的从单片机进行信号的采集和控制,然后再通过主机与从机之间的通信, 将信息传递给单片机主机进行处理, 这种设计方 案具有编程简单,设计更加清楚直观的特点,有利于将设计的复杂程度简化。本系统按照设计要求,应具有避障、寻光、显示、报警等功能,以及主机与从机之间进行信息交换并实现主机控制从机的功能。 若只用一片单片机来实现上述所有功能, 其硬件电路非常复杂,软件编程比较繁琐,故为了简化系统设计并使得各模块实现其功能,我采用分模块控制的设计方案(方案二,如图2-1),即各电路模块把检测得到的信息传送至 各自的单片机进行运算、分析、处理并等待控制

14、,同时给主控单片机握手信息让其决策是 否执行,得到执行命令后,主单片机将各从单片机实时反馈回的各个检测量的信息给显示 模块进行实时显示,这样设计就可以简单明确,更具可行性。避障模块单片机直流电机寻光模块宀单片机克流电机图2-1 控制系统模块图主机与从机的控制模块具有以下优点:1 单个模块电路的程序设计比起一个系统综合程序设计易编写和调试;2模块之间都由主控制系统控制,一个模块可以被多个任务在不同条件下调用;3 模块程序允许分割任务和利用已有程序,为设计提供方便。综上所述,本系统的设计目的以及设计的思路方案,是用AT89S5单片机(主机跟从机)来实现所要完成的所有功能,按照以上思路实现智能小车的

15、功能设计。2.1单片机最小系统本设计采用的是AT89S5作为主控芯片,AT89S5是一种低功耗、高性能CMOS位微控 制器,具有8K存储空间的系统可编程Flash存储器。使用密度比较高非易失性存储器技 术来实现芯片开发,具有兼容以前51的管脚以及功能的特点。芯片中的Flash允许程序存 储器在系统设计中可编程,同样可以选择应用于常规编程器。AT89S5拥有下面的一些标准功能:8k的字节Flash存储器,256字节的RA存储器,32位的数据交换I/O,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。AT89S52 可降至OHz静态逻辑操作,可选择支持2种软件节

16、电模式。在闲置状态的时候,CPU就不会 继续工作,允许RAM定时器/计数器、串口、中断继续工作。掉电保护的模式下,RA啲内容不会因为断电而流失,振荡器被冻结,单片机将会停止一切工作,等待下一个中断或 硬件复位为止1 o单片机的最小系统是单片机实现功能的基础,在设计中具有以下要求:复位电路:复位电路包括商店复位和手动复位两部分, 52系列单片机多为高电平 复位,即采用上电复位,其原理就是利用电容充电的一段时间将复位脚拉至高电平, 使单 片机完成复位。晶振电路:单片机要想工作必须有一个外部时钟源,这个时钟源有外部晶振产生。3.ISP 下载接口 :改下载接口在实际制作是可以用双排的5*2的排针代替,

17、电路是根据标准的ISP下载线来设计的,与常用的并口下载线,串口下载线和笔记本用的USBASP下载线兼容,只需将下载线接口插到本接口上就可以直接向单片机烧写程序。单片机AT89S52外接显示电路、障碍物检测、光源探测电路和电机驱动电路。其中障碍物检测、光源探测电路是信号输入,显示电路和电机驱动是输出。为了方便单片机引 脚的使用,将单片机的所有引脚用接口引出。AT89S52的最小系统电路如图2-1-1所M1:Q5 exRSTVC:逊w:HEvccHiEP S11OUFpi LEE:三PWONEJACM14百a .C3Ml 1IE iM4炖3旺_W/M8W头hnQi 10Mil 11ML2 UWQ4

18、 14ML5 15Mir 10 MIL ILMIS 18ML9 皿卩心VCCP11poaP12PD1PD2rm:mP1XM3SI:P04P16(1Q;P05卫诫GCK)PD6RSTPD7EA/VPPP3L URPSEHiP33(IFri)P27FM(IO)拠P35(W)P2+HTAL3pnXTAL1PSGMDP2Q40VTC39M39冋N37ICC1C5TC4JC3J2M31N29料37M27血6N3433N23M22呛1图2-1-1 AT89S52最小系统电路2.2基于LM2576的电源设计LM2576系列的稳压器是单片集成电路,有优异的线性和负载调整能力。本系统采用 LM257电源芯片给系

19、统进行供电,在指定输入电压和输出负载条件下保证输出电压的误差 在4%以内,以及震荡频率误差在10%以内,效率高。本系统选用LM257进行电源模块的设 计,提供5V的电压给单片机,如图2-2-1所示电路供电。电机驱动电路由另外一 12V电源 供电。这样可以避免互相干扰,从而提高系统的稳定性 。FUSE1R1RES3图 2-2-1HlLM2575单片机电源电路J3D1DIODE电ECD12.3直流电机驱动模块由于单片机的输出功率小,对电机的驱动能力不足,所以本系统选用L298N乍为设计的驱动芯片。工作比较稳定的电机驱动信号是由单片机提供的。信号要经过光耦隔离之后,传送至芯片L298N光耦隔离电路如

20、下图2-3-1所示。VC 21U2TCCPOOPCIP02PQ3Pfl4PQ5PC6 翊 函壮P aLETROG)PSERP27F26P253939?T373?Q崖 N負 a可EDrtz; E辰 爲9Hg旦QUOEk fehr KI EIpHleaHIL.sb-PMP53P21F20:日n PCONS強A SQ 口寸門J7CCNiCCN4图2-3-1 光耦隔离电路L298N是专用驱动集成电路,属于 H桥集成电路,与L293D相比,其输出电流增大,功率增强。其输入端可以直接和单片机相连,方便受单片机控制。L298N芯片内部包含4通道逻辑驱动电路,是一种二相和四相的专用驱动器,内含二个H桥的高电压

21、大电流双全 桥驱动器,接收标准TTL逻辑电平信号,符合两轮驱动和单片机控制。它可驱动46V, 2A以下的电机,正好满足小车马达的驱动要求,可以直接控制电机实现正转与反转,实现此功能只需要改变输入端的逻辑电平,所以采用L298N作为驱动模块的控制芯片。电机驱动 的电路原理图如下图2-3-2所示。电路图中有两个电源,一路为L298工作需要的5V电源 VCC 一路为驱动电机用的电池电源 VSSIIvccjH】5C0H210DET1C01T2:EtU Em-TTSCir ACUT1SEHSEBINTInmIBT3CUTSnm 9OUT+0Ul415 WEW1214 W14W65vm 麵toTW77DM

22、 TjICTD4DIODEW21nWlWfi4WinW12WH7C0H7L258HD5 MODJ2TOD图2-3-2 直流电机驱动模块在设计中,智能小车调速控制采用单片机端口某四位模拟PWM调速,利用输出高低电平的占空比的不同来模拟实现 PWM调速的功能,采用这个方案,可以简化小车调速控 制的复杂程度,使设计更加简单化。PW调速系统有下列优点:利用PW碉速系统的开关频率较高,电枢电感通过简单的滤波就可以得到脉动非常 小的直流电流,电流比较连续,系统在低速环境下比较稳定,并且可实现调速的范围比较 大,在10000倍左右。电动机的磨损会很小,并且散热比较好。因为开关的频率比较大,如果与快速响应的电

23、机互相组合,调速系统就能够得到非 常宽的频带,所以快速响应的性能比较好,与此同时的动态抗干扰能力就比较强。因为电子器件只会在开关连接的时候才会工作,开关断开则停止,因此主电路中 的损耗非常少,大大提升了装置的效率。根据以上综合比较,以及本设计中受控电机的容量和直流电机调速的发展方向,本设计采用了 H型单极型可逆PWM变换器进行调速。脉冲宽度调制(Pulse Width Modulation PWM是固定一个基本的脉冲周期,改变基本周期内有效的工作周期的大小来实现控制输出功率。对于一个定时器来说,其时钟源 的输入频率在普通情况下是不会改变的,就是将定时器的预分值和定时器的分割值的值选 定以后就不

24、用再修改。因此PW就能够获得比较稳定的一定频率的时钟源。电机的转速是和电机两端的电压成正比的,然而电机两端的电压是和PW碉制波中的有效电平的占空比 成正比的,所以电机的速度控制和PW调制电路的有效电压的占空比成正比,占空比的值 越大,电机就转动的快,反之则慢。TCNTB决定系统中PW脉冲频率,同时TCMPB的值 决定了 PWN脉冲宽度值,然后我们通过占空比的计算公式 TCMPn/TCNT来计算出占空比的 值。假如想控制电机的转速偏低,就需要一个很低的PWM宽输出值,这样可以降低占空 比的值来使小车的转速减慢;同理如果想要电机的速度变大,可以通过一个更高的PWM的输出值,可以增加TCMPB的值。

25、在双缓冲器的独有特性下,下一个 PWM周期的TCMPBn 值可以通过ISR仲断服务程序)或者使用别的方法在当前 PWI周期中低电平时的任何一 点写入,就是在软件的设计中可以通过中断重新设置TCMPBn的值来实现改变电机的转速的功能。缓冲区TCMPBnTCNTB的值不一定等于这个周期的 TCMPnTCNTr的值,但一定 是TCMPn TCNTr的下一个周期的值。2.4障碍物检测模块避障模块的设计采用超声波传感器检测路面信息,检测信号通过电路处理后转换成单 片机能识别的电信号,由单片机进行分析控制。超声波可以传递很强的信号,因此可以很 清楚地检测到回波信号,再使本方案具有可行性。超声波发生器和单片

26、机的P2.6脚连接, 将超声波信号发送出去,检测信号后传送至AT89S52单片机进行处理,判断执行哪一种预 先编制的程序来控制小车的行驶状态。前进时,驱动直流电机正转,进入减速区时,由单片机控制进行模拟 PWM变频调速, 通过软件改变脉冲调宽波形的占空比,实现调速。小车在移动区域要沿着光源的方向行驶, 但由于小车不可能始终保持一定的方向,因为路面有障碍物,所以为了使小车能调整方向, 绕过障碍物后继续行驶,直到检测到停止信号。系统需要将路面的状态实时的以电信号的 形式传送至控制部分,控制部分驱动车轮的直流电机反转或正转, 使小车绕过障碍物继续 行驶。障碍物探测模块用来判断小车前方是否有障碍物并计

27、算出小车与障碍物之间的距 离,使小车可以顺利绕过障碍物而继续前行。为了保证小车在行驶的过程中顺利避开障碍物,需要用超声波传感器电路检测出障碍 物与小车之间的距离和方向,将检测的数据传送至该模块的单片机进行分析控制,最后再由主单片机决定是否执行,执行后小车可正确的避开障碍物继续行驶。 而要实现以上过程, 就必须对接受的回波信号进行处理, 让AT89S52单片机获得可以识别的回波信号,因此将 超声波探头接收回的信号经过 CD4011后,可以实现对回波信号的放大和整形,其电路图 如下图2-4-2所示。s s KE E AT& l3芒】3 =55MMAU 悴ALL31 FLtJ JO3*3匕 Mon】

28、 s工mgplJdHwwF FDO 怕一图2-4-1超声波避障原理图2.5光源探测模块本设计模块电路是用光敏电阻作为光电传感器,将其分别放置在小车顶盘前端的左、右两个方向。光源探测模块具有引导小车向光源方向行驶,使小车追寻光源的功能。通过检测光源信息,单片机将处理后的信息转换成控制量 PWM波传送到直流电机,使小车追寻 着光源方向前进。寻光采样过程中,利用ADC0809专换芯片将光敏电阻两端的电压值转换 成数字量并让该模块的单片机读取,并进行运算控制,此时的控制信息发送至系统主单片 机让其判断是否执行该操作。当某一路光源检测电路检测出的光源强度大于其他路检测出 的光源强度,相对应的光敏电阻阻值

29、增大, 分压变大,由此来判断光源方向,使小车跟着 光源方向前行。在寻光过程中,还要考虑实际环境外界光线对小车的干扰,如何滤去外界 光的干扰是本设计的一个难题,引导小车的光源为 200W的灯泡,但是白天和夜晚小车实 际的AD采样也不一样,会造成小车的不稳定。但是,为了更好地区分光源的强弱,避免 外界光线的干扰,提高小车寻光的准确性和抗干扰性,我们在光敏电阻周围围了一圈黑胶布,并调整光强系数,适应电机转速。这样做可以使小车对光线强弱的识别以及数据信 息的准确性更好,光源检测电路图如 2-5-1所示电路图。VCC|D1 :斗CLK10IH31)12屮INIIMimuI恥A丽ESTch(jjALEE3

30、D7:_LDfcCLKD5VCCIM中曲DOGHDvnfDID2JP1ADCD9O9ST 6D3 40E 92827 笳25 A24 B23 C21 D720 D S 1? D5 ia eh j/7 DO13 D2VCCV7C1JCCC1X在本设计模块电路中,利用行模数转换的,其原理图如下2-5-2所示:图2-5-1光源检测电路ADC080来实现对光敏电阻传感器采集得到的电压信号进EQU 2E 3CLK斗A3B3C 7ti北11力r1411X M 沖30PIOVCCFllWOPlDOPISMJFMPOPl 乂皿i旳IW4HUP17CSro亦RSTWT彌Rd內炉一辭贡因翊血场P3EHP33TH7

31、T3PWP3KTQ弼P3XTIJPhP3fl(P34P3I(RPJP2iXTAL1P13XT ALLF3110 *39斗361533333)站JT M加5JS IH科PiK 时料 D1) m23JST 6DOC ?ra eor 空CXK10I_ , n1 Hidll - l| DI 14DOcnIHlIN5INDINCAIBSSTcEWALE:州OEcutaVCCp*vw*EX)沁PlPSJJ1甜3?”匚n dtADW冲IHLF図ATC95J22 ba+I 1CAPQIP2Th图2-5-2 ADC0809 进行A/D转换电路图ADC0809是美国国家半导体公司生产的 CMOS:艺8通道,8位逐

32、次逼近式A/D转换 器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通 8路 模拟输入信号中的一个进行 A/D转换。是目前国内应用最广泛的8位通用A/D芯片6 o 1 主要特性8 路输入通道,8位A/D转换器,即分辨率为8位,具有转换起停控制端。转换时间 为100卩s(时钟为640kHz时),130卩s (时钟为500kHz时),单个+ 5V电源供电,模拟输 入电压范围0+5V,不需零点和满刻度校准,工作温度范围为-40+ 85摄氏度,低功 耗,约15m怦o 2内部结构ADC0809是 CMO单片型逐次逼近式A/D转换器,它由8路模拟开关、地址锁存与译 码器、比较器、8位

33、开关树型A/D转换器、逐次逼近9 o3 外部特性(引脚功能)ADC0809E片有28条引脚,采用双列直插式封装IN0IN7:8路模拟量输入端。2-1 2-8 : 8位数字量输出端。ADDA ADDB ADDC 3位地址输入线,用于选通 8路模拟输入 中的一路,ALE地址锁存允许信号,输入,高电平有效,START A/ D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使 0809复位,下降沿 启动A/D转换)。EOC A/D转换结束信号,输出,当 A/D转换结束时,此端输出一个 高电平(转换期间一直为低电平)。OE:数据输出允许信号,输入,高电平有效。当 A/ D转换

34、结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK时钟脉冲输入端。要求时钟频率不高于 640KHZ REF( +)、REF(-):基准电压。Vcc :电源,9单一+ 5V。GND接地 。ADC080啲 工作过程首先输入3位地址,并使ALE=1将地址存入地址锁存器中,此地址经译码选通 8路模 拟输入之一到比较器,STAR上升沿将逐次逼近寄存器复位,下降沿启动A/D专换,之后 EO输出信号变低,指示转换正在进行 。直到A/ D转换完成,EO变为高电平,指示A/D 转换结束,结果数据已存入锁存器,这个信号可用作中断申请,当OE俞入高电平 时,输出三态门打开,转换结果的数字量输出到数据

35、总线上,转换数据的传送A/D转换后得到的 数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成, 因为只有确认完成后,才能进行传送。为此可采用下述三种方式。定时传送方式对于一种A/D转换其来说,转换时间作为一项技术指标是已知的和固定的。例如ADC080转换时间为128卩s,相当于6MHZ勺MCS-5单片机共64个机器周期。 可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定 已经完成了,接着就可进行数据传送。查询方式 A/D转换芯片由表明转换完成的状态信号, 例如ADC080的EO(端。因此 可以用查询方式,测试EOC勺状态,即可确认转换是

36、否完成,并接着进行数据传送。中断方式把表明转换完成的状态信号(EOC作为中断请求信号,以中断方式进行数据传送,不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传 送,首先送出口地址并以信号有效时,OE言号即有效,把转换数据送上数据总线,供单片 机接受3。2.6显示和报警模块本系统采用LCD显示器来实现小车速度和运行时间的显示功能,并在电路中连接一个 蜂鸣器电路,当小车在行驶途中遇见障碍物并且检测到信息时,从单片机就会将检测信息 发送给主单片机,由主单片机控制蜂鸣器电路导通,实现小车障碍物报警的功能9。该芯 片所驱动的显示电路如图2-6-1显示电路所示:*R2M3610M35 I

37、IiJBJ 12LCD 如2-6-1集成显示电路当系统出现上述情况的时候,微控制器就会控制蜂鸣器电路导通, 蜂鸣器就会发出警 报,其电路图如下图2-6-2所示:图2-6-2 蜂鸣器电路2.7通信模块多个AT89C5单片机可以利用串行口进行多机通信。为此,要保证主机与所选择的从 机实现可靠通信,必须保证串行口具有识别功能。串行口控制寄存器SCO中的SM位就是为了满足这一条而设置的多机通信控制位。如图2-7-1所示:图2-7-1 各模块通信示意图多机通信的工作过程如下:从机初始化程序允许串行口中断,将串行口编程方式2或者方式3接收,且SM2和REN 位置“1”,使从机只处于多机通信切接收地址帧的状

38、态。在主机和某个从机通信前,先将从机地址(即准备接收数据的从机)发送给各个从机系统,接着才传送数据或者命令,主机发出的地址信息的第9位为1,数据(包括命 令)信息的第9位为0,当主机向各个从机发送地址时,各个从机的串行口接收到的 第9位信息RB8为1,且由于SM=1则中断标志位RI置“1”各个从机89C52响应中 断,执行中断服务程序。在中断服务子程序中,判断主机送来的地址是否和本机的 地址相符合,若为本机地址,则从机 SM2位清“ 0”,准备接收主机的数据或者命令, 若地址不符,则保持SM2=1状态。接着主机发送数据帧,此时各个从机串行口接收到的RB8=0只有与前面地址相符合的从机系统(即S

39、M2位已清“ 0”的从机)才能激活中断标志位 RI,从而进入中断服 务程序,在中断服务程序中接收主机的数据(或者命令);其他从机因SM2保持位1, 有RB8=0不能激活中断标志RI,所有不能进入中断,把所有接收的数据丢失不做处 理,从而保证主机和从机间的通信正确性 。第3章软件设计3.1系统软件设计说明在进行本系统设计的时候,除了系统硬件设计外,就是如何根据每一个电路模块的实 际需要设计应用程序。所以,软件设计在该系统设计中占有重要的地位。在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。数据处理包 括:数据的采集、数字滤波、标度变换等。过程控制程序主要是使单片机按一定的方法进

40、行计算,然后再输出,以便控制各模块实现设计的功能。为了完成上述任务,在进行软件设计时,通常把整个过程分成若干个部分,每一部分 叫做一个模块。所谓“模块”,实质上就是所完成一定功能,相对独立的程序段,这种程 序设计方法叫模块程序设计法。模块程序设计法的主要优点是:1.单个模块电路的程序设计比起一个系统综合程序设计易编写和调试;2模块之间都由主控制系统控制,一个模块可以被多个任务在不同条件下调用;3模块程序允许分割任务和利用已有程序,为设计提供方便。本系统软件采用模块化结构,由主程序、定时子程序、避障子程序、寻光子程序、中 断子程序显示子程序、调速子程序构成。其主程序流程图如图3-1-1所示在进行

41、系统设计时,除了系统的硬件设计外,大量的工作就是如何根据每个电路模块 的实际需要设计应用程序,为了实现模块的电路功能,在进行软件设计时,我们把该模块 功能又分成若干个部分分别实现,最后再统一起来。3-1-1主程序系统流程图3.2光源探测模块程序设计按照硬件设计要求,光源探测模块需要检测光源的方向,并让小车跟随着光源方向前 进,软件程序设计的方法需按照这个思路进行,单片机完成光源的检测并分析处理检测信息,此信息再传送给系统主单片机显示其相关信息,其软件程序设计流程如下图3-3-1所示。是否有光源是否正对疋否偏左否是否偏左疋否偏右杲否偏右图3-2-1光源探测模块程序流程图3.3避障模块程序设计避障

42、程序需要按照避障模块需要完成的功能来进行软件设计,最后再把信息传送给主 单片机,其避障子程序的设计流程图如下图 3-3-1所示。3.4显示及报警程序设计本设计的显示程序设计,当小车行驶,通过扫描传感器的数据,将所得数据传输给单 片机,通过单片机控制LCD显示器显示小车行驶距离。当小车在行驶途中,由于外界原因 导致内部电压和电流值达到警戒标准,单片机就会给出一个输出信号,导通蜂鸣器报警, 软件设计流程图如下图3-4-1所示。初始化报警结束初始化I菠取各椅测怙息显示图3-4-1显示和报警程序流程图第4章系统软硬件调试4.1硬件部分的调试我们把整个系统的硬件调试电路模块分成了最小系统调试、 L298

43、驱动芯片调试、直流 电动机转速控制调试。对这些单个的电路,用简单的检测方法来判断工作是否正常、功能 是否满足要求。4.1.1基于光敏电阻的寻光模块硬件调试1 . AT89S5与AD080接 口调试不管给IN0的模拟信号是+5V还是0V还是别的,或改变A的值,出来的结果都是00。而 且断电后,再上电,就不会再有任何显示,即使按了复位键。给ADC080的时钟为500KHz片选信号由P2.0给出,P2.0和/WR言号通过或非门给ST 和ALE P2.0和/RD信号通过或非门给OE EO通过非门把信号给P3.3,作为查询ADC080转 换结束信号。2 基于光敏电阻传感器电路模块调试首先最强光检测出最大

44、电压,在检测出了最强电压之后,在逐渐将光源的强度减弱, 依次获得检测出的电压与光强的对比数据,最后观察分析检测出电压是否跟光强呈线性关 系。4.1.2驱动模块硬件调试芯片L298N给我们调试过程中出现了难题。在经过上面的硬件测试,指示灯的反应,直流电机单独接12V电源正常运转.我们想进行一次通过芯片给L298N送值驱动电机转动 的测试。安装好各部件,接好5V电源外接线,准备好电源。给出一段简单驱动程序到L298N, 使两电机正转,小车直行。4.1.3电动机转速控制调试单片机的P2口的某两位模拟PW波,单片机端口某一位模拟PWM调速,禾I用输出高低 电平的占空比的不同来模拟实现 PWM调速的功能

45、,车轮在不同占空比的PW波下,转速不 同。4.1.4主机与从机通信模块硬件调试将主机单片机RXDTX管脚分别与从机单片机的TXDRX管脚交叉连接并初始化芯片, 对系统主单片机的最小系统烧写进一段点灯程序,观察各模块的单片机的最小系统是否按 照烧写进的预定程序工作,以检测主芯片与从芯片之间的信号传输是否正常。4.2软件部分的调试4.2.1基于光敏电阻的寻光模块软件调试根据该电路模块检测出的不同电压值,让其驱动光源接收器旋转的步进电机有不同的 转动角度及方向,首先让其小车在停止的状态下检测出光源最强的那一路光敏传感电路模 块,然后根据传感器所获得的数据,传送至单片机,控制直流电机转动,使小车行驶。

46、 4.2.2避障模块软件调试超声波发生器发出的超声波的频率在40KH左右,接收头的谐振频率也应该相同,否 则无法接收到超声波信号,然后检测单片机最小系统的供电是否正常, 确保系统的正常稳 定下,人为设置超声波的检测距离。通过反复试验后,最终获得小车成功避开障碍物的最 短距离,实现小车的成功避障。4.2.3主机与从机通信模块软件调试主机和各个模块间通过多机通讯模式进行通讯。使用串口模式2/模式3。将所有从机的SM2控制位置为1,这样一来从机只接收TB8为1的控制帧。主机利用控制帧实现从机的 选择。各个从机收到控制帧后判断是否选中自己,如果被选中则根据从机自身特点结合控制帧中的控制码做相应处理。控

47、制帧定义如下:BIT7-BIT5 :作为从机选择编号,从0到7号,最多可以有8个从机。BIT4 :读写控制位。0表示主机将要写数据到从机;1表示主机需要读取指定的从机。BIT3-BIT0 :为根据从机自身相关功能定义的命令控制字。具体的通讯步骤如下:主机发送广播命令,设置各个从机的相关参数,选取要进行通讯的从机。各个从机接收广播命令;初始化相关参数。当接到需要交互通讯的命令时,相关从机 修改串口控制字,进入交互通讯模式。主机和从机进行8位的交互通讯。完成指定数目的数据交互后,从机自动恢复到只接收广播命令状态。主机的广播控制命令信号的时基由定时器产生,每隔 20mS产生一次遍历访问所有从 机的信

48、号。在20mS时钟信号产生的时刻,主机向所有从机发送状态锁定/更新的广播命令。 各个从机收到命令后,检测作用的从机用当前状态值更新待发送的状态寄存器;控制功能的从机用前次收到的控制字更新控制寄存器。从而同步各个采集及控制模块。检测模块从机收到读取自己的广播后, 锁定状态值,初始化相关模式,准备待发送的 数据,然后向主机发送状态信息。电机执行模块从机,接收到控制自己的广播后,初始化相关参数。开始接收主机发来 的控制命令。控制命令用一个字节表示。其中 0表示停机,1到127之间的数据表示各重运 行参数。总结以及展望:时光飞逝,大学的生活即将结束,回想这四年来的大学生活,充满了学习的热情和同 学之间

49、的关心,我们曾陪伴在彼此的学习和生活中, 在这即将分手的时刻,难免有一丝伤 感,我们共同在大学四年一起奋斗,一起拼搏,这将成为我们难忘的记忆。本设计在硬件上采用了基于PWM技术的H型桥式驱动电路,解决了电机马驱动的效 率问题,在软件上也采用较为合理的系统结构及算法, 提高了单片机的使用效率,且具有 一定的防飞能力。但该设计也有不足之处, 主要是在关于速度的反馈上,首先,速度的变 化范围较小,因此,有必要引入传感器技术对速度进行反馈。本次智能小车的研究与设计主要实现了小车的电源、驱动、寻光和避障等功能,其中寻光和避障的设计难度比较大,而且主要通过模块之间的相互通信来完成数据的传输与控 制。对智能

50、小车进行软件编写时,遇到了一定的困难,如控制过程的算法和PW波的调试等,通过指导老师的讲解和查阅相关资料, 我理解和掌握了软件设计的一些方法, 程序的 的编写水平有了一定的提高。在完成毕业设计的4个月里,通过查阅相关资料以及指导老师的辅导,使我对设计的 内容和方案有了更深刻的认识和理解,为最终完成设计打下一定的基础。在整个设计过程 中,也体现了小组成员之间的默契配合和相互学习的精神,虽然在即将答辩之际,还未能按照原定方案完成设计,但也提升了我们的实验设计和动手能力。希望在今后的生活中, 继续发扬不放弃的精神,不断学习,使自己能更好地掌握专业知识。参考文献孙育才编著.MCS- 51系列单片机及其

51、应用M.东南大学出版社,1992 TOC o 1-5 h z 王晓明编著.电动机的单片机控制M.北京: 北京航空航天大学出版社,2002何立民编著.单片机应用系统设计M.北京:北京航空航天大学出版社,1990杨振江等编著.流行单片机使用子程序机应用实例 M.西安:西安电子科技大学出版社,2002 苏长赞编著.使用遥控技术手册M.北京:人民邮电出版社,1996张毅刚编著单片机原理及应用M.北京:高等教育出版社,200351单片机技术与应用系统开发案例精选M.北京:清华大学出版社,2008 ,P58P145,P422P44651 单片机C语言应用程序设计实例精选 M.电子工业出版社,2006 ,

52、P102P111,P332P339赵负图,传感器集成电路手册M.第一版,化学工业出版社,2004 , P590P591附录:主程序:limiwequ30h ;厘米位miaoequ31h秒位fenmiequ32h ;分米位fmiaoequ33h ;分秒位meterequ34h米位fen zhequ35h ;分位poi ntequ36h ;小数点位shimiequ37h ;十米位shifnequ38h汁分位suduequ39h ;速度控制jishkequ3ah记时开始zhondequ3bhzhoduequ3chzhonequ3ehmaichoequ3fhjin webequ40hbhcsequ41

53、hdpa nequ42hfen chuequ43hfencunequ44hpandequ45hfenmcequ51horg0000hajmpmai norg000bhajmpst0org001bhajmpst1org0100hmain:mov limiw,#00hmov miao,#00h mov fenm i,#00h mov fmiao,#00h mov meter,#00h mov fen zh,#00h mov poin t,#0bh mov shimi,#00h mov shifn,#00h mov jishk,#00h mov zhon d,#00h mov zhodu,#00h

54、mov zhon, #00h mov maicho,#00h mov jin web,#03h mov bhcs,#00h mov sp,#6fh mov tmod,#21h mov th0,#3ch mov tl0,#0b0h mov th1,#9ch mov tl1,#9ch setb ea setb et0 setb et1 mov p1,#0aah acall xia nshi显示子程序程序清单如下:xia nshi:mov p1,#0aah mov p1,#0cch mov a,limiw swap a add a,miao mov p1,anopnopmov p1,#Oddh mo

55、v a,fe nmi swap aadd a,fmiao mov p1,a nopnopmov p1,#0eeh mov a,#ObOh add a,po int mov p1,a nopnopmov p1,#0eeh mov a,meter swap aadd a,fe nzh mov p1,a nopnopmov p1,#Offhmov a,shimi swap a add a,shif nmov p1,aret避障子程序设计程序清单如下:zha ngai:jb 21h,stopjnb 22h,youzhua n jnb 23h,youzhua n jnb 24h,zuozhua njnb

56、 25h,zuozhua n ajmp jia nee zuozhua n:elr p2.5elr p2.4mov sudu,#05haeall delaa setb p2.4 setb p2.5 mov sudu,#07h ajmp jia nee youzhua n:elr p2.3elr p2.2mov sudu,#05haeall delaa setb p2.2 setb p2.3 mov sudu,#07h ajmp jia nee stop:aeall delayjnb 21h,zha ngai elr tr0 mov a,fe nmi mov fenmc,a mov a,#02h

57、 add a,fe nme mov fenmc,a here: cjne a,fe nm i,here elr tri setb p2.2 aeall delaa setb p2.3ajmp $AD转换:#i ncludereg52.h#defi ne uchar un sig ned char sbit ST=P1A0;sbit E0C=PM1;sbit 0E=P1A2;sbit CLK=PM3;保存IN0和IN1经AD转换后的数据uchar AD_DATA5;sbit P14= P1A4;sbit P15 = P1A5 sbit P16 = P1A6;int t;延时函数*/void de

58、lay(uchar i) uchar j;while(i-)for(j=125;j0;j-); 系统初始化void in it()开总中断EA = 1;TMOD = 0 x02;TH0=216;TL0=216;TR0=1;ET0=1;设定定时器T0工作方式/利用T0中断产生CLK信号/启动定时器T0ST=O;OE=0;/*T0中断服务程序*/void tO(void) in terrupt 1 using 0 CLK=CLK;/*ad转换函数*/void AD()ST=0;ADDCS=0;P14 = 0;P15 = 0;选择通道IN0P16 =0;ST=1; delay(10);ST=0;启动AD转换while(0=EOC)JOE=1;AD_DATA0=P2;OE=0;delay(10);四川大学锦江学院毕业论文(设计)P14 = 0; ST=O;ADDCS=1;P14 = 0;P15 = 0;P16

温馨提示

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

评论

0/150

提交评论