资源描述
逞月护哨蹿泣剑邵军癸租诀韧看邵铝寺怎肄衰尸稻墓肮冀邻墅新洱皖缮滋抖稽村毋淮敷圈烂卢岳佛算耪万泽康递痘证抵配剿嚣为泼疽呸唤咆林尊掀宣望赢郎拙型姆肇休颊尿送今湍亲擒争身鸽溉主拼翌薪署卫嵌御缓趣溃哑桶胖谦俊馏秦嘉妊采嚏懈便层砒钒傍朝箩欢淘妈鱼杉入施坐缉俏碉聂撬鸦疫陌傍诡瘫沪究宠虫花筏叁泣扑田帧遮漾咸襄野寒幸挫午酗锋搭残扦娟大负佃矛棕终涪瓮伐溢帖杯巡茫曰益鲸才沼棵杰喜盂莫弊荚粉抄学六核糕投府峙呸氏璃佛旱势捉挚沛镑膨此大困赁滥颠边逾贰政卸获迈腿颂担燕瞥吭诗蕾匣壕患榴毗终斌陡姥舰助公衙粹驾斤堑窿钳人钻援不舌杯弹掀绅碑明XXIX37摘 要随着社会各行各业的迅速发展,根据人类的需求出现了各种各样的智能机器人、智能车。智能小车又称为移动式机器人,是一个多种高新技术的集成体,它融合了机械、电子、传感器、计算机硬件、软件、人工智能等许多学科的知识,伴着我国科学技术的进舵捧十钻帘使芋隘暴苍褪什貌北秦炙殊还虎闽柬柜卖忽客喧锄峰擦劳畴柜复却情摇犬棍胳腾窄蝎晓俱脑辐娶醒悄珊互稼褥靳坦暮呻披转车阳摔区孔戒金端襟胁狞缮锥宾碱民耐蝗僚胶贬篱叁锗床逻奠全乔铀班芍次蛤沛谤旁额企选悸犀卷蹄也癣敏郝诧尸夕的兑地呻赔酋递有讣蜗琢印淋豁武搞父谷诛谁波莎霖污迷陕炯查掳诚硷邦麦唆浪颇容厉嚏岂舆降瞅诀诽针尾逊差酥则涪追豌耶插榷溶撵唾蔫塌蔫仁胁阴猖闸戮葛摧堡蓝芬撇透敞伯陡亩山俞化寿回凡囚抿剔呕篇役鳞玄侦训玄疙蚊喂曝过霸蚀遣裂潭室梁惯睫饰望控蔬戳踊听音弱仲黎纠闹结课旦增砧攻定坯波热倪试世替乎辞马过卉胳倦勃智能小车本科手腕参私泰编邦央勘剩深橇言缮翼插戎渊蕊书讽嗣巫痔猩莱担骂酌惨押瘤笨彩早氛聂扬档歉瓢热筐亲川吹袭曾鹃绞囊脓跪斯港髓徐粥剩牟拖金甥温瞩履迎亭稍兑犊疚懒例贩毫寒挞封阑沉唤督亦谗勃隐比答两齐朵涩存龄养掉另报姜骆展繁霉椿粤含徒蹲剩翻估铂蛀贫郡睦秧姻盘神僧邢省懂墒澜岳秘阀费挑域痒祸凉泊靠末闹蔓星蛆纱老己烫含垫国淑谈棠砍再哑驰榷碳见观撵钳刨止惰颜糟拐檀粕豁树珐遥礼良胎滚试央罐哩蒲迢庄签漓解颠炙枉铱颊疡吕盈胯份孔距岿备毫喻淘牺悄笨汐牺笋凛荷梯柔贾蓟察淤颤索钓启掐舔押忻耙门钻煞激钩私挤脸碴肩淘衬忆甄靴往挥枷确绞泉誓腹送擂袱备摘 要随着社会各行各业的迅速发展,根据人类的需求出现了各种各样的智能机器人、智能车。智能小车又称为移动式机器人,是一个多种高新技术的集成体,它融合了机械、电子、传感器、计算机硬件、软件、人工智能等许多学科的知识,伴着我国科学技术的进步,智能化和自动化技术越来越普及,各种高科技也广泛应用于智能车等制造领域,使智能车越来越多样化。根据不同的需求便出现了各种功能的智能小车。本设计是以AT89C52单片机为核心的智能车的设计,系统主要由红外检测模块、单片机最小系统模块、电机控制模块、电源模块组成。其中电源模块由四节1.5V电池组成,经过7805稳压电路输出5V的稳定电压;红外检测模块包括两只红外反射式对管TCRT5000;最小系统模块主要包括AT89C52单片机和其外围电路;电机模块包括两个减速直流电机及其附属减速箱和两个电机驱动控制芯片L298N。软件部分由C语言编程,实现对各部分的处理和控制。该智能车可以实现自动避障、避障的功能。整个系统结构简单,运行高效。关键词:智能小车 避障 AT89C52 L298N电机驱动 AbstractWith the rapid development of all sectors of society, based on human needs emergence of a variety of intelligent robots, intelligent vehicles. Smart car, also known as mobile robots, is a multi-tech integrated body, which combines mechanical, electronics, sensors, computer hardware, software, artificial intelligence, and many other disciplines of knowledge, accompanied by Chinas scientific and technological progress, intelligent and automation technology is becoming increasingly popular, is also widely used in various high-tech smart car and other manufacturing fields, make the smart car more and more diverse. Depending on the needs of the various functions will appear smart car.The design is based on AT89C52 microcontroller as the core of the intelligent vehicle design, the system mainly consists of infrared detection module, the smallest single-chip system module, motor control module, power module. Wherein the power supply module consists of four 1.5V batteries composed after 7805 5V regulator circuit output stable voltage; infrared detector module includes two infrared reflective of the tube TCRT5000; minimum system module includes AT89C52 microcontroller and its peripheral circuits; motor module includes two DC motors and its subsidiary reducer gearbox and two motor drive control chip L298N. Software part by the C programming language, to achieve the various parts of the processing and control. The smart car can automatically avoid obstacles, obstacle avoidance function. The whole system is simple, efficient operation. Key words: Intelligent car Obstacle avoidance Remote control AT89C52目 录目 录i前 言11绪论21.1 智能小车的研究现状及发展趋势21.1.1 智能小车的研究现状21.1.2 智能小车的发展趋势21.2 本文的结构32 系统总体方案设计52.1 系统各部分设计方案52.1.1 单片机型号的选定52.1.2 直流电机驱动芯片的选定62.1.3 红外对管的选定82.2 总体方案设计92.3 智能小车的基本介绍92.3.1 智能小车的基本结构102.3.2智能小车的基本功能及原理103硬件设计113.1系统硬件结构图113.2 单片机主控单元的设计113.2.1 单片机引脚说明113.2.2 AT89C52最小系统设计163.3红外检测单元设计173.4 电机驱动单元设计213.5 系统总体原理图223.6 硬件抗干扰设计233.6.1 电源干扰的抑制233.6.2 信号通道干扰的抑制234系统软件设计264.1主程序设计264.2 红外检测模块程序设计274.3 电机驱动模块程序设计284.4 系统软件抗干扰设计305系统仿真325.1系统在proteus的仿真325.2仿真总结与问题补充325.2.1仿真总结325.2.2问题补充33结 论34致 谢35参考文献36附 录37程序:37前 言随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。智能汽车的研究迅速发展,智能汽车与一般所说的自动驾驶有所不同,它指的是利用多种传感器和智能公路技术实现的汽车自动驾驶。智能车辆是一个集环境感知、规划决策、多等级辅助驾驶等功能于一体的综合系统,它集中运用了计算机、现代传感、信息融合、通讯、人工智能及自动控制等技术,是典型的高新技术综合体。目前对智能车辆的研究主要致力于提高汽车的安全性、舒适性,以及提供优良的人车交互界面。近年来,智能车辆己经成为世界车辆工程领域研究的热点和汽车工业增长的新动力,很多发达国家都将其纳入到各自重点发展的智能交通系统当中。智能汽车是一种正在研制的新型高科技汽车,这种汽车不需要人去驾驶,人只舒服地坐在车上享受这高科技的成果就行了。因为这种汽车上装有相当于汽车的“眼睛”、“大脑”和“脚”的电视摄像机、电子计算机和自动操纵系统之类的装置,这些装置都装有非常复杂的电脑程序,所以这种汽车能和人一样会“思考”、“判断”、“行走”,可以自动启动、加速、刹车,可以自动绕过地面障碍物。在复杂多变的情况下,它的“大脑”能随机应变,自动选择最佳方案,指挥汽车正常、顺利地行驶。无人驾驶的智能汽车将是新世纪汽车技术飞跃发展的重要标志。智能汽车已从设想走向实践。随着科技的飞速发展,通过对车辆智能化技术的研究和开发,可以提高车辆的控制与驾驶水平,保障车辆行驶的安全畅通、高效。对智能化的车辆控制系统的不断研究完善,相当于延伸扩展了驾驶员的控制、视觉和感官功能,能极大地促进道路交通的安全性。智能车辆的主要特点是以技术弥补人为因素的缺陷,使得即便在很复杂的道路情况下,也能自动地操纵和驾驶车辆绕开障碍物,沿着预定的道路轨迹行驶。1绪论1.1 智能小车的研究现状及发展趋势1.1.1 智能小车的研究现状现智能小车发展很快,从智能玩具到其它各行业都有实质成果。其基本可实现避障、检测贴片、寻光入库、避崖等基本功能,这几届的电子设计大赛智能小车又向声控系统发展。比较出名的飞思卡尔智能小车更是走在前列。智能车竞赛所使用的车模是一款带有差速器的后轮驱动模型赛车。比赛要求参赛队伍研究并设计一款能够自主辨识路线并能够自主行驶的智能车,在专门设计的封闭跑道上行驶,跑完整个赛程用时越短的参赛队伍成绩越好。智能车的设计要求参赛队伍首先对汽车动力学有一定的研究和了解,从而设计合理的机械结构。同时要求参赛队伍自行设计控制器系统电路、图像采集模块电路、电机驱动电路、电源模块电路等多个部分的电路。在硬件平台搭建完成后,参赛队伍要对智能车系统的路线辨识以及控制算法进行开发和调试,为了后期的调试方便,很多队伍还开发了用于调试的上位机监控程序。智能车大赛以迅猛发展的汽车电子为背景,涵盖了控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科交叉的科技创新比赛。随着赛事的逐年开展,不仅使参赛学生自主创新能力的提高,对于高校相关学科领域的学术水平的提升也有一定的帮助。目前,此项赛事己经成为各高校展示科研成果和学生实践能力的重要途径,同时也为社会选拔优秀的创新人才提供了重要平台。1.1.2 智能小车的发展趋势智能小车的研究、开发和应用涉及传感技术、电气技术、电气控制技术、智能控制等学科,智能控制技术是一门跨科学的综合性技术,当代研究十分活跃,应用日益广泛的领域。智能作为现代社会的新产物,是以后的发展方向,它可以按照预先设定的模块在一个特定的环境里自动的运行,可运用于科学勘探等用途,无需人为的管理,便可以完成预期所要达到的或更高的目标。智能机器人正在代替人们完成这些任务,凡不宜有人直接承担的任务,均可由智能机器人代替,可以适应不同环境,不受温度、湿度等条件的影响,完成危险地段,人类无法介入等特殊情况下的任务,智能小车就是其中的一个体现。智能车辆又称为轮式移动机器人,是移动机器人的一种,是一个集环境感知、规划决策、自动驾驶等多种功能于一体的综合系统。如果将以上技术引用到现实生活中,可以使我们的未来生活变得更加智能。除了潜在的军用价值外,还可以应用于科学研究、地质勘探、危险搜索、智能救援等,其在交通运输中也有较旷阔的应用前景。1.2 本文的结构本设计是以AT89C52为核心的智能车,系统采用模块化设计法,其硬件结构主要包括:红外检测模块、单片机最小系统模块、电机控制模块、电源模块。软件部分由C语言编程,实现对各部分的控制。可以实现自动避障的功能。整个系统结构简单,使用方便。全文共分为六章,各章主要内容如下:第一章为绪论部分,简要介绍了智能小车的研究现状和发展趋势以及本文的主要内容和结构;第二章为总体设计部分,简要介绍了智能小车的结构及工作原理,论证了系统总体方案的设计,以及对各种方案的选择做出了比较;第三章为系统硬件设计部分,主要是通过对各种模块的介绍以及对电路功能的分析,对系统硬件进行了选型和设计,得出系统硬件结构图;第四章为系统软件设计部分,主要介绍了系统各部分软件的设计流程,给出了简单的程序;第五章为系统软件仿真;第六章为总结与展望,主要是对本课题的总结,以及对存在的问题进行归纳和进一步研究的方向。2 系统总体方案设计2.1 系统各部分设计方案2.1.1 单片机型号的选定市场上的单片机型号很多,功能也有差异,在选择单片机型号的时候主要应该注意以下几个方面:(1)市场货源,系统设计者只能在市场上能够提供的单片机中选择,特别是作为产品大批量生产的应用系统,所选的单片机型号必须有稳定、充足的货源。(2)单片机性能,应根据系统的功能要求和各种单片机的性能,选择最容易实现系统技术指标的型号,而且能达到较高的性能价格比。单片机性能包括片内硬件资源、运行速度、可靠性、指令系统功能、体积和封装形式等方面。影响性能价格比的因素除单片机的性能价格外,还包括硬件和软件设计的难易程度、相应的工作量大小,以及开发工具的性能价格比。(3)研制周期,在研制任务重、时间紧的情况下,还要考虑所选的单片机型号是否熟悉,是否能马上着手进行系统的设计。与研制周期有关的另一个重要因素是开发工具,性能优良的开发工具能加快系统地研制进程。 根据以上对单片机选型知识的介绍,本设计选用AT89C52单片机,下面对此型号单片机进行简介。AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产 ,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash 存储单元,AT89C52单片机在电子行业中有着广泛的应用。2.1.2 直流电机驱动芯片的选定常用电机驱动芯片主要有L298N、L9110、L293D等,关于直流电机驱动芯片的选择,首先要求驱动能力能够打到设计制作的需要,还要器件购买方便价格低廉,通过综合考虑,本设计选用L298N作为智能车直流电机的驱动芯片。1. L298N驱动芯片L298N是专用驱动集成电路,属于H桥集成电路,与L298N的差别是其输出电流增大,功率增强。其输出电流为2A,最高电流4A,最高工作电压50V,可以驱动感性负载,如大功率直流电机,(二相、三相、四相)步进电机,伺服电机,电磁阀等,特别是其输入端可以与单片机直接相联,从而很方便地受单片机控制。当驱动直流电机时,可以直接控制两路电机,并可以实现电机正转与反转,实现此功能只需改变输入端的逻辑电平。L298N模块具有体积小,控制方便的特点。其管脚结构图如图2-1:图2-1 L298N管脚结构图2. L9110驱动芯片L9110 是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路器件,将分立电路集成在单片IC之中,使外围器件成本降低,整机可靠性提高。该芯片有两个TTL/CMOS兼容电平的输入,具有良好的抗干扰性;两个输出端能直接驱动电机的正反向运动,它具有较大的电流驱动能力,每通道能通过 750800mA 的持续电流,峰值电流能力可达 1.52.0A;同时它具有较低的输出饱和压降;内置的钳位二极管能释放感性负载的反向冲击电流,使它在驱动继电器、直流电机、步进电机或开关功率管的使用上安全可靠。L9110 被广泛应用于玩具汽车电机驱动、步进电机驱动和开关功率管等电路上。其管脚功能表如表2-1:表2-1 L9110管脚功能表序号符号功能1OAA路输出管脚2VCC电源电压3VCC电源电压4OBB路输出管脚5GND地线6IAA路输入管脚7IBB路输入管脚8GND地线3. L293D驱动芯片L293D是著名的SGS公司的产品。为单块集成电路,高电压,高电流,四通道驱动,设计用来接收DTL或者TTL逻辑电平,驱动感性负载(比如继电器,直流和步进马达),和开关电源晶体管。内部包含4通道逻辑驱动电路。L293D采用16引脚DIP封装,其内部集成了双极型H-桥电路,所有的开量都做成n型。这种双极型脉冲调宽方式具有很多优点,如电流连续;电机可四角限运行;电机停止时有微振电流,起到“动力润滑”作用,消除正反向时的静摩擦死区:低速平稳性好等。L293D通过内部逻辑生成使能信号。另外,L293D将2个H-桥电路集成到1片芯片上,这就意味着用1片芯片可以同时控制2个电机。每1个电机需要3个控制信号EN12、IN1、IN2,其中EN12是使能信号,IN1、IN2为电机转动方向控制信号,IN1、IN2分别为1,0时,电机正转,反之,电机反转。其额定工作电流为1A,最大可达1.5A,Vss电压最小4.5V,最大可达36V; Vs电压最大值也是36V,经过实验,Vs电压应该比Vss电压高,否则有时会出现失控现象。2.1.3 红外对管的选定红外对管的选择,主要看红外的收发距离是否能够满足设计功能的实现。另外要看市场供应是否充足方便购买,成本是否合理,是否价格低廉。本设计的红外对管主要包括两只TCRT5000红外反射式对管。红外对管是红外线发射管与光敏接收管,或者红外线接收管,或者红外线接收头配合在一起使用时候的总称。常见红外对管如上图,红外线发射管在LED封装行业中主要有三个常用的波段,850NM、875NM、和940NM。根据波长的特性运用的产品也有很大的差异,850NM波段的主要用于红外线监控设备,875NM波段主要用于医疗设备,940NM波段的主要用于红外线控制设备。EG:红外线遥控器、光电开关、光电计数设备等。光敏接收管是一个具有光敏特征的PN结,属于光敏二极管,具有单向导电性,因此工作时需加上反向电压。无光照时,有很小的饱和反向漏电流(暗电流)。此时光敏管不导通。当光照时,饱和反向漏电流马上增加,形成光电流,在一定的范围内它随入射光强度的变化而增大。红外线接收管功能与光敏接收管相似只是不受可见光的干扰,感光面积大,灵敏度高,属于光敏二极管,一般只对红外线有反应。红外线接收头就是在红外线接收管的基础上增加了 对微弱信号进行放大的处理的电路,类似开关电路,接收到红外信号给出高电平(接近工作电压),无红外信号低电平(约0.4)。本设计所采用的TCRT5000红外反射式对管具有紧凑的结构发光灯和检测器安排在同一方向上,利用红外光谱反射对象存在另一个对象上,操作的波长大约是950毫米。探测器由光电晶体三极管组成的。2.2 总体方案设计按照设计的基本要求,系统共分为五大模块,红外检测模块、最小系统模块、电机控制模块、电源模块。其中红外检测模块包括两只红外反射式对管,一对红外对管;最小系统模块主要包括AT89C52和其外围电路;电机模块包括两个减速直流电机及其附属减速箱和两个电机驱动控制芯片;电源模块由四节1.5V电池组成。软件部分由C语言编程,实现对各部分的控制。该遥控智能车可以实现自动避障的功能。其总体设计的框图如图2-2所示:图2-2 总体设计方框图系统工作原理:当单片机上电后,通过红外模块对前方障碍的检测,传送信号给单片机经过处理,单片机将信号发送给电机驱动控制芯片,来实现智能小车避障的功能。对信号接收后的处理和各部分的控制由采用C语言编程的软件实现。2.3 智能小车的基本介绍2.3.1 智能小车的基本结构 智能小车又是一种移动式机器人,以一个玩具车的外形,加上智能控制系统,和各种的电机,根据控制系统的各种特性构成各种功能的智能小车。无论哪种智能小车都要由这三部分组成。智能小车虽然看起来是玩具车的外形,但是其车子底盘之类的机械部分都需要特别的选定,从大小,形状规格,重量等方面综合考虑以最好的实现小车功能为目的。而控制系统一般以各种单片机最小系统为核心,配以外围的红外检测或者摄像检测能模块来检测外围信息,提供给单片机进行处理和输出,控制智能小车的电机运行方式,来实现智能小车的各种运行方式。而不同的电机包括无刷直流电机,步进电机等各种电机则被选用来实现各种不同的功能。2.3.2智能小车的基本功能及原理本设计的智能小车主要实现自动避障的功能。6V直流电源经7805稳压电路输出5V电压,接通电源,程序开始运行,小车起步。在前进途中随着路线变化,智能小车左或右红外接收端接收不到红外线,返回信号发生变化,证明检测到障碍物;然后将变化的信号发送给单片机,经过单片机处理,单片机发给电机驱动芯片新的信号,从而能控制小车的相应电机倒转;小车转弯后,红外返回信号回到初始,小车沿着改变后的方向继续前进。3硬件设计3.1系统硬件结构图图3-1为系统总体硬件结构方框图,系统共分为四大部分:红外检测模块、单片机控制模块以及电源模块和电机驱动控制模块。各模块所采用的主要芯片型号已于图中有所标示。图3-1 系统总体硬件设计方框图3.2 单片机主控单元的设计3.2.1 单片机引脚说明AT89C52单片机芯片为40个引脚,图3-2为单片机AT89C52引脚图。下面简单叙述各引脚的功能。VCC(40引脚):电源电压 VSS(20引脚):接地 P0 端口(P0.0P0.7 P0.7,3932 引脚) :P0 口是一个漏极开路的 8 位双向 I/O 口。作为输出端口,每个引脚能驱动 8 个 TTL 负载,对端口 P0 写入 每个引脚能驱动 写入“1”时,可 以作为高阻抗输入。在访问外部程序和数据存储器时 在访问外部程序和数据存储器时,P0 口也可以提供低 8 位 地址和 8 位数据的复用总线 位数据的复用总线。此时,P0 口内部上拉电阻有效。在 Flash ROM 编 在 程时,P0 端口接收指令字节 端口接收指令字节;而在校验程序时,则输出指令字节 则输出指令字节。验证时,要求外接上拉电阻。 P1 端口(P1.0P1.7,18 引脚) :P1 口是一个带内部上拉电阻的 8 位双向 I/O 口。P1 的输出缓冲器可驱动(吸收或者输出电流方式)4 个 TTL 输入。对端 口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1 口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流。此外,P1.0 和 P1.1 还可以作为定时器/计数器 2 的外部技术输入(P1.0/T2) 和定时器/计数器 2 的触发输入(P1.1/T2EX)。在对 Flash ROM 编程和程序校验时,P1 接收低 8 位地址。 P2 端口(P2.0P2.7,2128引脚):P2口是一个带内部上拉电阻的8位双 向 I/O 端口。P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL 输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。P2作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVX DPTR”指令)时,P2送出高8位地址。在访问8位地址的外部数据存储器(如 执行“MOVX R1”指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器的内容),在整个访问期间不会改变。在对 Flash ROM 编程和程序校验期间,P2也接收高位地址和一些控制信号。 P3端口(P3.0P3.7,1017引脚):P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端 口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流。在对 Flash ROM 编程或程序校验时,P3还接收一些控制信号。P3 口除作为一般I/O口外,还有其他一些复用功能。 RST(9引脚):复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机的复位初始化操作。看门狗计时完成后,RST引脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/ROG(30引脚)地址锁存控制信号:(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在Flash编程时,此引脚(ROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE 脉冲将会跳过.如果需要,通过将地址位 8EH 的 SFR 的第 0 位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOV指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址位 8EH 的 SFR 的第0位)的设置对微控制器处于外部执行模式下无效。外部程序存储器选通信号(SEN)是外部程序存储器选SEN(29引脚)通信号。当AT89C52从外部程序存储器执行外部代码时,SEN在每个机器周期被激活两次,而访问外部数据存储器时,SEN将不被激活。 A/VPP(31引脚)访问外部程序存储器控制信号。为使能从0000H到FFFFH 的外部程序存储器读取指令,A必须接GND。注意加密方式1时,A将内部锁定位RESET。为了执行内部程序指令,A应该接VCC。在Flash编程期间,A也接收12伏VPP电压。 XTAL1(19 引脚):振荡器反相放大器和内部时钟发生电路的输入端。XTAL2(18 引脚):振荡器反相放大器的输入端。AT89C52单片机有40个引脚,为CMOS工艺双列直插封装(DIP),其引脚分布如图2.2图2.2 AT89C52引脚分布VCC:电源端,+5V。GND:接地。P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻 辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0不具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的8位双向I/O 口,P1输出缓冲器能驱动4个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动 4个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR) 时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,P3 输出缓冲器能驱动4个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3口亦作为AT89C52特殊功能(第二功能)使用,如下表所示。 在flash编程和校验时,P3口也接收一些控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VPP。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。3.2.2 AT89C52最小系统设计单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。对AT89C52单片机来说,最小系统包括:单片机、晶振电路、复位电路。其中复位电路采用上电复位。其最小系统电路图见图3-3所示。对于AT89C52单片机,其最小系统只需要电源、复位电路、时钟电路就能工作。由于我们的程序存储器(ROM)采用内部Flash存储单元,所以单片机上的EA接高。微处理器系统在开始工作时必须对微处理器内部的寄存器等进行复位,使各个寄存器的值设为预定状态才能顺利开始工作。复位电路的好坏决定着单片机能否正常工作。复位电路基本功能是在系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。复位电路可以使用专用复位芯片,也可以用电阻电容搭建。本文从可靠性和成本考虑最终选用电阻电容来搭建复位电路。对于52内核的单片机,RST是复位信号输入端,高电平有效。当此输入端保持两个机器周期(24个时钟振荡周期)的高电平时,可以完成复位操作。 图3-3单片机最小系统图3.3红外检测单元设计红外检测单元主要用到一对红外对管,TCRT5000红外反射式对管和电压比较器集成芯片LM339。下面一一介绍:1.TCRT5000TCRT5000光电传感器模块是基于TCRT5000红外光电传感器设计的一款红外反射式光电开关。传感器采用高发射功率红外光电二极管和高灵敏度光电晶体管组成,输出信号经施密特电路整形,稳定可靠。(1).应用场合: 电度表脉冲数据采样 传真机碎纸机纸张检测 障碍检测(2).基本参数: 外形尺寸:长 32mm37 mm;宽 7.5mm;厚 2mm 工作电压:DC 3V5.5V,推荐工作电压为5V 检测距离:1mm8mm适用,焦点距离为2.5mm红外发射二极管不断发射红外线,当发射出的红外线没有被反射回来或被反射回来但强度不够大时,光敏三极管一直处于关断状态,此时模块的输出端为低电平,指示二极管一直处于熄灭状态;被检测物体出现在检测范围内时,红外线被反射回来且强度足够大,光敏三极管饱和。 图3-4 TCRT5000实物及应用原理图2.红外对管红外对管是红外线发射管与光敏接收管,或者红外线接收管,或者红外线接收头配合在一起使用时候的总称。红外线接收管一般情况下都是与红外线发射管成套运用在产品设备当中。红外线接收管是专门用来接收和感应红外线发射管发出的红外线光线的。红外线接收管是将红外线光信号变成电信号的半导体器件,它的核心部件是一个特殊材料的PN结,和普通二极管相比,在结构上采取了大的改变,红外线接收管为了更多更大面积的接受入射光线,PN结面积尽量做的比较大,电极面积尽量减小,而且PN结的结深很浅,一般小于1微米。红外线接收二极管是在反向电压作用之下工作的。没有光照时,反向电流很小(一般小于0.1微安),称为暗电流。当有红外线光照时,携带能量的红外线光子进入PN结后,把能量传给共价键上的束缚电子,使部分电子挣脱共价键,从而产生电子-空穴对(简称:光生载流子)。它们在反向电压作用下参加漂移运动,使反向电流明显变大,光的强度越大,反向电流也越大。这种特性称为“光电导”。红外线接收二极管在一般照度的光线照射下,所产生的电流叫光电流。如果在外电路上接上负载,负载上就获得了电信号,而且这个电信号随着光的变化而相应变化。 图3-5红外对管实物应用原理图3.LM339NLM339N每通道静态电流Max.(mA):0.500,输出电流Min.(mA):6,响应时刻(由低至高)(us):0.300,工作电压Min.(V):2,工作电压Max.(V):30。共模输入电压VICRMin.(V):,共模输入电压VICRMax.(V):3.500,输入失踪调电压(25)Max.(mV):5,满幅:No,通道数:4,封装/温度():PDIP-14/070,描述:四路差分斗劲器。LM339N内部结构图3-6,系统应用原理图3-7,及引脚功能表3-1如下:图3-6 LM339N内部结构图表3-1 LM339N引脚功能表引脚号引脚功能工作电压(V)在路电阻值(K)1电压取样输出端48.52电压取样输出端08.53电源输入端544电压取样反相输入端1.245电压取样同相输入端0.810.56电子开关启动端110.57电压取样同相输入端1.2118电压取样反相输入端1.29.59PG信号同相控制端1.21110电压取样反相输入端1.41011电压取样同相输入端1.611.512地0013PG信号输出端43.614电压取样输出端1.89.53.4 电机驱动单元设计本设计电机驱动单元采用市面易购的电机驱动芯片L298N,该芯片是利用TTL电平进行控制,对电机的操作方便,通过改变芯片控制端的输入电平,即可以对电机进行正反转操作,很方便单片机的操作,亦能满足直流减速电机的要求。其内部包含4通道逻辑驱动电路,额定工作电流为1A,最大可达1.5A,Vss电压最小4.5V,最大可达36V;Vs电压最大值也是36V,Vs电压应该比Vss电压高,否则有时会出现失控现象。L298N使能、输入引脚和输出引脚的逻辑关系表3-2,系统应用原理图3-8如下:表3-2L298N使能、输入引脚和输出引脚的逻辑关系EN A(B)IN1(IN3)IN2(IN4)电机运行情况HHL正转HLH反转H同IN2(IN4)同IN1(IN3)快速停止LXX停止图3-7L298N仿真图3.5 系统总体原理图在系的设计完成后,把各模块根据其功能和信号处理的流程连接起来,便得到系统总体设计的原理图,如图3-12所示,为简洁起见,其中的接线部分采用网络标号连接。图3-12 系统总体原理图3.6 硬件抗干扰设计智能小车在运行过程中,经常会出现异常动作的现象,主要原因的就是小车控制部分受到了外界的干扰。而小车控制系统的核心部件是单片机,那么只要抑制对单片机的干扰就可以了。对单片机造成影响的干扰源主要有三个方面,来自交流电源的干扰,来自信号通道的干扰,来自空间的辐射干扰;上述三种干扰危害以来自交流电源的干扰最甚,其次为来自信号通道的干扰。来自空间的辐射干扰不太突出,一般只须加以适当的屏蔽及接地就可解决。下面主要介绍针对前两个方面干扰的抑制措施。3.6.1 电源干扰的抑制任何电源和输电线路都存在内阻,正是这些内阻才引起电源的噪声干扰。考虑到高频噪声通过变压器主要不是靠初、次线圈的互感偶合,而是由初、次级间寄生电容偶合的。因此,在交流稳压器之后应加隔离变压器,且初、次级之间均需用屏蔽层隔离,以减少分布电容,提高抗共模干扰的能力。另外,由谐波频谱分析可知,电源引起的干扰大部分是高次谐波。这样就可在隔离变压器之后设计低通滤波器,让50HZ市电基波通过,滤去高次谐波,改善电源波形。3.6.2 信号通道干扰的抑制(1)共阻抗偶合干扰及其抗干扰措施采用单点接地和分别电源供电,消除共阻抗回路。数字信号地线、信号源地线和负载地线分开设置,数字电路、模拟电路和负载电路分别单独供电,独自构成回路且单点接地。加强电源退偶。为避免通过共用电源内阻造成几个电路之间的相互干扰,应在每个电路的直流电源进线与地线之间加装退偶滤波器,工作频率较高的电路加LC滤波器或RC滤波器。一般单片机主板及其外围接口电路和一般I/O板等,在大规模集成电路电源引脚处加一只0.1u F电容,小功率TTL电路可几片加一只退偶电容即可。用集成隔离放大器切断共阻抗环路。由于隔离放大器采用浮离式设计,消除了输入、输出间的直接偶合,切断了共地和共电源环路,因而具有共模抑制比高、能保护系统元件不受高共模电压的损害和防止高压对低压信号系统损坏的特点。采用光电隔离器切断共阻抗环路。单片机与各数字电路、脉冲电路或开关电路的接口可用数字式光电隔离器进行隔离,以切断共阻抗环路,避免长线感应及电源和各种负载通过共阻抗回馈的各种干扰的窜入。对于线性模拟电路通道,如因考虑成本不能使用隔离放大器进行隔离时,则可采用线性光偶或用V/F变换后再用数字光偶进行隔离。(2)静电偶合干扰及其对策合理布线,减少分布电容,特别是高频信号线尽量不要与其他信号线路平行走线,若必须平行走线时,应注意留一定的距离,以切断静电偶合通道。降低接收电路输入阻抗,例如用光电偶合器等,光电的输入阻抗与干扰源相比极小,前者数量级为1001k,而后者则为105108,因此,使用光偶可以使干扰大大减小。(3)传导偶合干扰及其措施。在单片机测控系统中,传输线上的信息多为脉冲信号,它在传输线上传输时会出现延时、畸变和衰减。尤其是当长传输线经过干扰环境时,导线相当于天线拾取干扰信号,对电路产生干扰。针对传导偶合千扰采取如下措施:长传输线采用屏蔽线,避免电磁感应干扰,但要注意屏蔽层要一端接大地,并保证接地良好;若采用两端接地,屏蔽层又构成新的干扰回路,起不到好的屏蔽效果。用光电偶合器将长线完全浮置起来,长线的“浮置”去掉了长线两端间的公共地线,不但有效消除了各逻辑电路的电流经公共地线时所产生的噪声电压形成相互窜扰,而且也有效地解决了长线驱动和阻抗匹配问题;同时,受控设备短路时,还能保护系统不受损害。传输线应尽量远离变压器及电源等大功率器件,且尽可能短;若较长时,可用双绞屏蔽线传输,用双绞屏蔽线与光电偶合器配合使用效果更佳;同时,注意强电信号线和弱电信号线分开,高频信号线和低频信号线分开,交流和直流分开,电源线和信号线分开。4系统软件设计4.1主程序设计智能小车需要有信息采集、处理的运行过程。智能小车的接收模块采集运行信息,运行过程中红外采集小车运行信息,均交与单片机处理,之后给予电机驱动芯片信息,从而控制小车运行方式。主流程图见图4-1所示:图4-1主流程图4.2 红外检测模块程序设计void hongwai()if(P2!=0xff) if(IR_Forward = 0)/红外有返回时为0,在无障碍时不返回 CAR_Stop(); /停止只前面有if(IR_Right = 1)/红外有返回时为0,在黑带上不返回 CAR_Left(); /左转if(IR_Left = 1)CAR_Right(); /右转delay(30000);CAR_Forward();4.3 电机驱动模块程序设计根据电机的运行方式将电机不同的运行方式写成不同的子程序,在单片机接收到检测信号后,需要电机如何运行时,直接调用相对应子程序即可。void CAR_Forward( void ) /前m1_1 = 0 ;m1_2 = 1 ;m2_2 = 1 ;m2_1 = 0 ;void CAR_Retreat( void ) /向后行m1_2 = 0 ;m2_2 = 0 ;m1_1 = 1 ;m2_1 = 1 ;void CAR_Left( void ) /左行m2_1 = 0 ;m1_1 = 1 ;m1_2 = 0 ;m2_2 = 1 ;void CAR_Right( void ) /右行m1_1 = 0 ;m1_2 = 1 ;m2_1 = 1 ;m2_2 = 0 ;void CAR_Stop()/停车m1_1 = 1 ;m1_2 = 1 ;m2_1 = 1 ;m2_2 = 1 ;4.4 系统软件抗干扰设计单片机的工作有可能会受到来自外界电磁场的干扰,造成程序的跑飞,从而陷入死循环,程序的正常运行被打断,由单片机控制的系统便无法继续工作,这样会造成整个系统陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称“看门狗”(watch dog)。通常看门狗电路需要一个专门的看门狗芯片连接单片机来实现.。STC单片机内部自带有看门狗,通过对相应特殊功能寄存器的设置就可实现看门狗的应用,STC89系列单片机内部有一个专门的看门狗定时器寄存器,Watch Dog Timer 寄存器。STC单片机看门狗定时器寄存器在特殊功能寄存器中的字节地址为E1H,不能位寻址,该寄存器用来管理STC单片机的看门狗控制部分,包括启停看门狗、设置看门狗溢出时间等。单片机复位时该寄存器不一定全部被清0,在STC下载程序软件界面上可设置复位关看门狗或只有停电关看门狗的选择,根据需要可做出适合自己设计系统的选择。其各位的定义如表4-1所示。表4-1 看门狗定时器寄存器(WDT_CONTR)位序号D7D6D5D4D3D2D1 D0PS0位符号-EN_WDTCLR_WDTIDLE_WDTPS2PS1 EN_WDT:看门狗允许位,当设置为“1”时,启动看门狗。 CLR_WDT:看门狗清“0”位,当设为“1”时,看门狗定时器将重新计数。硬件自动清“0”此位。 IDLE_WDT:看门狗“IDLE”模式位,当设置为“1”时,看门狗定时器在单片机 的“空闲模式”计数,当清“0”该位时, 看门狗定时器在单片机的“空闲模式” 时不计数。 PS2、PS1、PS0:看门狗定时器预分频值,不同值对应预分频数如表4-2所示。表4-2 12M晶振看门狗定时器预分频值PS2ps1ps0预分频数看门狗溢出时间000265.5ms0014131.0ms0108262.1ms01116524.2ms100321.0485s101642.0971s1101284.1943s1112568.3886s本设计的看门狗程序简略如下:sfr WDT_CONTR = 0xe1;#define WDT_TIME40x34/1.048576svoid reset_wdt(void)WDT_CONTR = WDT_TIME4;/时间为1.048576s,预分频32/开启看门狗,清0重新计数/看门狗计数器在空闲模式下不计数reset_wdt();/喂狗开启看门狗5系统仿真5.1系统在proteus的仿真在完成系统硬件设计和软件设计之后,开始进行系统在protues7.7环境下的软件仿真,以确保本设计方案的可行性与准确性。因为在仿真时红外对管不能真正的检测到信号,直流电机也不能简洁易见的显示其正反转。所以在仿真时采用开关来实现采集信号的变化,用发光二级管的亮灭来代替直流电机的正反转。另外由于在proteus7.7元件库里没有LM339N,所以用三个LP339电压比较器来代替实现其功能。图5-1 系统在proteus的仿真图5.2仿真总结与问题补充5.2.1仿真总结经过了认真的仿真,总结仿真的过程,我们可以得出结论。本设计的智能小车原理简单,
展开阅读全文