基于单片机智能循迹壁障小车.doc

上传人:飞****2 文档编号:51983350 上传时间:2022-10-20 格式:DOC 页数:35 大小:1.13MB
返回 下载 相关 举报
基于单片机智能循迹壁障小车.doc_第1页
第1页 / 共35页
基于单片机智能循迹壁障小车.doc_第2页
第2页 / 共35页
点击查看更多>>
资源描述

《基于单片机智能循迹壁障小车.doc》由会员分享,可在线阅读,更多相关《基于单片机智能循迹壁障小车.doc(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 届 别 学 号 毕业设计基于单片机智能循迹壁障小车 姓 名 系 别、 专 业 导 师 姓 名、职 称 完 成 时 间 摘 要智能循迹壁障小车是移动式机器人的重要组成部分,本设计通过不断检测各个模块的传感器的输入信号。循迹模块实时检测5路循迹模块在黑线跑道上的状态,当小车跑出所设置的范围时,智能小车自主调整小车的方向位置。并且具有循迹的跑道上检测前方的距离,当前方距离小于25厘米时,小车避开障碍物往回继续循迹。小车把前方障碍物的距离显示在LCD1602液晶上,小车的驱动是采用L298驱动芯片驱动循迹壁障小的行走。关键词:循迹壁障小车;STC89C52单片机;驱动芯片(L298) Abstrac

2、tIntelligent tracking walls car is an important part of the mobile robot, this design through continuous testing each module of the input signal of the transducer.Tracking module 5 road tracking real-time detection module in the state of the black line on the runway, when the range of the car ran ou

3、t of the set, the direction of the intelligent car independently adjust the car position.And a tracking on the runway detection distance ahead, the current party distance less than 25 cm, the car back to avoid obstacles continue to tracking.The car distance obstacles in front of the display on the L

4、CD1602 LCD, the car driver is driven by L298 drive chip tracking small walls of walking. Key words:Tracking walls car;STC89C52 single-chip microcomputer;Drive chip (L298)1 绪论1.1国内外研究动态智能小车方面:智能小车,也称轮式机器人,是一种以汽车电子为背景,涵盖控制、模式识别、传感技术、电子、电气、计算机、机械等多学科的科技创意性设计。智能汽车作为一种智能化的交通工具,体现了车辆工程、人工智能、自动控制、计算机等多个学科领

5、域理论技术的交叉和综合,是未来汽车发展的趋势。机器人技术方面:目前已经开发出了多种类型机器人机构,其结构有串联、并联及垂直关节和平面关节多种。目前研究重点是机器人新的结构、功能及可实现性,其目的是使机器功能更强、柔性更大、满足不同目的的需求。同时机器人机构向着模块化、可重构方向发展。机器人控制技术现已实现了机器人的全数字化控制,基于传感器的控制技术已取得了重大进展。目前重点研究开放式、模块化控制系统,人机界面更加友好,具有良好的语言及图形编辑界面。同时机器人的控制器的标准化和网络化以及基于PC机网络式控制器已成为研究热点。机器人已经实现了全数字交流伺服驱动控制,绝对位置反馈。目前正研究利用计算

6、机技术,探索高效的控制驱动算法,提高系统的响应速度和控制精度;同时利用现场总线技术,实现的分布式控制。单片机方面:单片机的应用在后PC时代得到了前所未有的发展,但对处理器的综合性能要求也越来越高。综观单片机的发展,以应用需求为目标,市场越来越细化,充分突出以“单片”解决问题。单片机系统作为嵌入式系统的一部分,主要集中在中、低端应用领域。1.2 课题的目的和意义在国外机器人的发展有如下趋势。一方面机器人在制造业应用的范围越来越广阔,其标准化、模块化、网络化和智能化的程度越来越高,功能也越来越强,并向着技术和装备成套化的方向发展;另一方面,机器人向着非制造业应用以及微小型方向发展,如表演型机器人,

7、服务机型器人,机器人玩具等。国外研究机构正试图将机器人应用于人类活动的各个领域。在我国机器人主要应用于工业制造领域,我国工业机器人现在的总装机量约为台,其中国产机器人占有量约为 1/3,即40000多台。与世界机器人总装机台数7500万台相比,中国总装机量仅占万分之十六1。对中国这样一个拥有13亿人口的大国来说,仅在机器人数量上就和发达国家有着很明显的差距。因此大力发展我国的机器人事业刻不容缓。智能循迹避障小车可以理解为机器人的一种特例,它是一种能够通过编程手段完成特定任务的小型化机器人。与普遍意义上的机器人相比智能小车制作成本低廉,电路结构简单,程序调试方便,具有很强的趣味性,为此其深受广大

8、机器人爱好者以及高校学生的喜爱。全国大学生电子设计竞赛每年都设有智能小车类的题目,由此可见国家对高校机器人研究工作的重视程度。2、循迹壁障小车总体方案设计 本设计采用由STC89C52单片机最小系统、电机驱动电路模块、超声波壁障模块、5路循迹模块、液晶显示模块和电源模块块组成。单片机实时检测5路循迹模块在黑线跑道上的状态,并自主调整小车的方向。在循迹的跑道上检测前方的距离,当前方距离小于20厘米时,小车避开障碍物往回继续循迹。小车把前方障碍物的距离显示在LCD1602液晶上,小车的驱动是采用L298驱动芯片驱动循迹壁障小的行走。系统总体框图如图3-1所示:电源部分减速电机超声波壁障单片机STC

9、89C52L298驱动液晶显示5路循迹模块3-1总体结构框图3、系统方案比较、设计与论证 该系统主要由单片机主控模块、循迹模块、壁障模块电路,液晶显示模块、电机驱动模块和电源模块电路组成,下面介绍实现此系统功能的方案。3.1主控制器模块选择方案1: 采用可编程逻辑器件CPLD作为控制器。CPLD可以实现各种复杂的逻辑功能、规模大、密度高、体积小、稳定性高、IO资源丰富、易于进行功能扩展。采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模控制系统的控制核心。但本系统不需要复杂的逻辑功能,对数据的处理速度的要求也不是非常高。且从使用及经济的角度考虑我们放弃了此方案。方案2: 采用STC8

10、9C52单片机作为整个系统的核心,用其控制水温测量控制系统,以实现其既定的性能指标。充分分析我们的系统,其关键在于实现水温的自动控制,而在这一点上,单片机就显现出来它的优势控制简单、方便、快捷。这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。STC89C52单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序空间多达8K,对于本设计也绰绰有余,更可贵的是STC89C52单片机价格非常低廉。3.2循迹壁障小车车体的选择方案1: 购买玩具电动车。购买的玩具电动车具有组装完整的车架车轮、电机及其驱动电路。但是一般的说来,玩具电动车具有如下缺点:

11、首先,这种玩具电动车由于装配紧凑,使得各种所需传感器的安装十分不方便。其次,这种电动车一般都是前轮转向后轮驱动,不能方便迅速的实现原地保持坐标转90度甚至180度的弯角。再次,玩具电动车的电机多为玩具直流电机,力矩小,空载转速快,负载性能差,不易调速。而且这种电动车一般都价格不扉。因此我们放弃了此方案。方案2: 买现成的车模。经过反复考虑论证,我们制定了买左右两轮分别驱动,后万向轮转向的车模方案。即左右轮分别用两个转速和力矩基本完全相同的直流减速电机进行驱动,后装一个万向轮。这样,当两个直流电机转向相反同时转速相同时就可以实现电动车的原地旋转,由此可以轻松的实现小车坐标不变的90度和180度的

12、转弯。综上考虑,我们选择了方案2。3.3电机驱动芯片的选择方案1: 采用SM6135W电机遥控驱动模块控制直流电机,SW6135W是专为遥控车设计的大规模集成电路,能实现前进、后退、向右、向左、加速五个功能,但是其采用的是编码输入控制,而不是电平控制,这样在程序中实现比较麻烦,而且该电机模块价格比较高。方案2:采用电阻网络或数字电位器调节电动机的分压,从而达到分压的目的。但电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。更主要的问题在于一般的电动机电阻很小,但电流很大,分压不仅会降低效率,而且实现很困难。方案3:采用功率三极管作为功率放大器的输出控制直流电机。线性型驱动的电路结构和原

13、理简单,加速能力强,采用由达林顿管组成的 H型桥式电路(如图2)。用单片机控制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高,H型桥式电路保证了简单的实现转速和方向的控制,电子管的开关速度很快,稳定性也极强,是一种广泛采用的 PWM调速技术。现市面上有很多此种芯片,我选用了L298N(如图3),L298N是一个具有高电压大电流的全桥驱动芯片,它相应频率高,一片L298N可以分别控制两个直流电机,而且还带有控制使能端。用该芯片作为电机驱动,操作方便,稳定性好,性能优良。因此我们选用了方案3。图2 H桥式电路图3 L298N3.4壁

14、障传感器的选择方案1: 用超声波传感器进行避障。超声波传感器的原理是:超声波由压电陶瓷超声波传感器发出后,遇到障碍物便反射回来,再被超声波传感器接收。然后将这信号放大后送入单片机。超声波传感器在避障的设计中被广泛应用。方案2: 用红外光电开关进行避障。光电开关的工作原理是根据投光器发出的光束,被物体阻断或部分反射,受光器最终据此作出判断反应,是利用被检测物体对红外光束的遮光或反射,由同步回路选通而检测物体的有无,其物体不限于金属,对所有能反射光线的物体均能检测。光电开关E3F-DS10C4操作简单,使用方便。当有光线反射回来时,输出低电平。当没有光线反射回来时,输出高电平。但是如果有太阳光线干

15、扰,红外光电开关会受干扰 因此我们最终选择了方案1。3.5显示模块的选择方案1:用数码管进行显示。数码管由于显示速度快,使用简单,显示效果简洁明了而得到了广泛应用。但是由于要显示温度。及设置菜单,用数码管无法显示如此丰富的内容,因此我们放弃了此方案。方案 2:用LCD液晶进行显示。LCD由于其显示清晰,显示内容丰富、清晰,显示信息量大,使用方便,显示快速而得到了广泛的应用。对于此系统我们选用1602液晶能够很好的满足显示要求,因此我们选择了此方案。3.6循迹传感器的选择方案1:用光敏电阻组成光敏探测器。光敏电阻的阻值可以跟随周围环境光线的变化而变化。当光线照射到白线上面时,光线发射强烈,光线照

16、射到黑线上面时,光线发射较弱。因此光敏电阻在白线和黑线上方时,阻值会发生明显的变化。将阻值的变化值经过比较器就可以输出高低电平。但是这种方案受光照影响很大,不能够稳定的工作。因此我们考虑其他更加稳定的方案。方案2:用红外发射管和接收管自己制作光电对管寻迹传感器。红外发射管发出红外线,当发出的红外线照射到白色的平面后反射,若红外接收管能接收到反射回的光线则检测出白线继而输出低电平,若接收不到发射管发出的光线则检测出黑线继而输出高电平。这样自己制作组装的寻迹传感器基本能够满足要求,但是工作不够稳定,且容易受外界光线的影响,因此我们放弃了这个方案。方案3:用RPR220型光电对管。RPR220是一种

17、一体化反射型光电探测器,其发射器是一个砷化镓红外发光二极管,而接收器是一个高灵敏度,硅平面光电三极管。RPR220采用DIP4封装,其具有如下特点:(1) 塑料透镜可以提高灵敏度。(2) 内置可见光过滤器能减小离散光的影响。(3) 体积小,结构紧凑。当发光二极管发出的光反射回来时,三极管导通输出低电平。此光电对管调理电路简单,工作性能稳定。因此我们选择了方案3。3.7供电方式选择 由于本系统采用电池供电,我们考虑了如下几种方案为系统供电。方案1:采用12V蓄电池为系统供电。蓄电池具有较强的电流驱动能力以及稳定的电压输出性能。但是蓄电池的体积过于庞大,在小型电动车上使用极为不方便。因此我们放弃了

18、此方案。方案2:采用6节1.5 V干电池共9V做电源,经过7805的电压变换后为单片机,传感器供电。经过实验验证小车工作时,单片机、传感器的工作电压稳定能够满足系统的要求,而且电池更换方便。综上所述采用方案24、芯片资料简介4.1L298电机驱动模块L298是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片的主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器、线圈等感性负载;采用标准TTL逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或

19、禁止器件工作;有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。 L298的引脚功能L298芯片的引脚图如下图3.1,其引脚功能见表3.1。图3.1 L298引脚图表3.1 L298引脚功能表引脚符号功能115SENSING ASENSING B此两端与地连接电流检测电阻,并向驱动芯片反馈检测到的信号23OUT 1OUT 2此两脚是全桥式驱动器A的两个输出端,用来连接负载4Vs电机驱动电源输入端57IN 1IN2输入标准的TTL逻辑电平信号,用来控制全桥式驱动器A的开关611ENABLE AENABLE B使能控制端.输入标准TTL逻辑电平信号;

20、低电平时全桥式驱动器禁止工作。8GND接地端,芯片本身的散热片与8脚相通9Vss逻辑控制部分的电源输人端口1012IN 3IN 4输入标准的TTL逻辑电平信号,用来控制全桥式驱动器B的开关1314OUT 3OUT 4此两脚是全桥式驱动器B的两个输出端,用来连接负载 L298的运行参数表3.2 L198的运行参数参数符号测试环境最小值典型值最大值单位驱动电源电压Vs持续工作时2.546V逻辑电源电压Vss4.557V输入低电平电压ViL-0.31.5V输入高电平电压ViH2.3VssV使能端低电平电压Ven=L-0.31.5V使能端高电平电压Ven=H2.3VssV全桥式驱动器总的电压降(每一路

21、)VcEsat)IL=1AIL=2A1.83.24.9VV检测电压1,15脚Vsen-12VL298的逻辑控制L298的逻辑控制见如下表3.3。其中C、D分别为IN1、IN2或IN3、IN4;L为低电平,H为高电平,为不管是低电平还是高电平。表3.3 L298对直流电机控制的逻辑真值表输入输出Ven=HC=H;D=L正转C=L;D=H反转C=D制动Ven=LC=;D=没有输出,电机不工作4.2LCD显示模块4.2.1LCD1602的特性及使用说明HJ1602A 是一种工业字符型液晶,能够同时显示16x02 即32个字符。(16列2行)。在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为

22、很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LED数码管、液晶显示器。发光管和LED数码管比较常用,软硬件都比较简单。在单片机系统中应用晶液显示器作为输出器件有以下几个优点:由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。 液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。 液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的

23、,在重量上比相同显示面积的传统显示器要轻得多。 相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。 字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。下面以长沙太阳人电子有限公司的1602字符型液晶显示器为例,介绍其用法。一般1602字符型液晶显示器实物如图3-10和3-11所示:图3-10 液晶屏正面 图3-11 液晶屏背面(1)引脚说明:第1脚:VSS为地电源。 第2脚:VDD接5V正电源。 第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对

24、比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第714脚:D0D7为8位双向数据线。 第15脚:背光源正极。 第16脚:背光源负极。(2)1602LCD的RAM地址映射以及标准字库表LCD1602液晶模块内部的字符

25、发生存储器已经存储了160个不同的点阵字符图形,这些字符图有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母。它的读写操作、屏幕和光标的操作都是通过指令编程来实现的(说明:1为高电平,0为低电平)。指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H 。指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 。S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效 。指令4:显

26、示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示。 C:控制光标的开与关,高电平表示有光标,低电平表示无光标。 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁 。指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标 。指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线。 N:低电平时为单行显示,高电平时双行显示。 F:低电平时显示5X7的点阵字符,高电平时显示5x10的点阵字符 (有些模块是 DL:高电平时为8位总线,低电平时为4位总线)。指令7:字符发生器RAM地址设置 。指令8:DDRAM地址设置 。指令9:读出忙信号和光标地址

27、。 BF为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙,模块就能接收相应的命令或者数据。指令10:写数据 。指令11:读数据 。液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。1602 内部显示地址如图3-12所示: 图3-12 1602内部显示地址例如第二行第一个字符的地址是40H,那么是否直接写入40H 就可以将光标定位在第二行第 一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1,所以实际写入的数据应该是B(4

28、0H)+B(80H)=B(C0H) 。在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。1602 液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如下图所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是B(41H),显示时模块把地址41H 中的点阵字符图形显示出来,我们就能看到字母“A”。4.3STC89C52单片机的简介51系列单片机最初是由Intel 公司开发设计的,但后来Intel

29、 公司把51 核的设计方案卖给了几家大的电子设计生产商,譬如 SST、Philip、Atmel 等大公司。因此市面上出现了各式各样的均以51 为内核的单片机。这些各大电子生产商推出的单片机都兼容51 指令、并在51 的基础上扩展一些功能而内部结构是与51一致的。STC89C52有40个引脚,4个8位并行I/O口,1个全双工异步串行口,同时内含5个中断源,2个优先级,2个16位定时/计数器。STC89C52的存储器系统由4K的程序存储器(掩膜ROM),和128B的数据存储器(RAM)组成。STC89C52单片机的基本组成框图见图3-1。图3-1 STC89C52单片机结构图 4.3.1 STC8

30、9C52单片机主要特性1. 一个8 位的微处理器(CPU)。2. 片内数据存储器RAM(128B),用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据等,SST89 系列单片机最多提供1K 的RAM。3. 片内程序存储器ROM(4KB),用以存放程序、一些原始数据和表格。但也有一些单片机内部不带ROM/EPROM,如8031,8032,80C31 等。目前单片机的发展趋势是将RAM 和ROM 都集成在单片机里面,这样既方便了用户进行设计又提高了系统的抗干扰性。SST 公司推出的89 系列单片机分别集成了16K、32K、64K Flash 存储器,可供用户根据需要选用。4. 四个

31、8 位并行IO 接口P0P3,每个口既可以用作输入,也可以用作输出。5. 两个定时器计数器,每个定时器计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。为方便设计串行通信,目前的52 系列单片机都会提供3 个16 位定时器/计数器。6. 五个中断源的中断控制系统。现在新推出的单片机都不只5 个中断源,例如SST89E58RD 就有9 个中断源。7. 一个全双工UART(通用异步接收发送器)的串行IO 口,用于实现单片机之间或单机与微机之间的串行通信。8. 片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允许振荡频率为

32、12MHz。SST89V58RD 最高允许振荡频率达40MHz,因而大大的提高了指令的执行速度。图3-2 STC89C52单片机管脚图部分引脚说明:1.时钟电路引脚XTAL1 和XTAL2:XTAL2(18 脚):接外部晶体和微调电容的一端;片内它是振荡电路反相放大器的输出端,振荡电路的频率就是晶体固有频率。若需采用外部时钟电路时,该引脚输入外部时钟脉冲。要检查振荡电路是否正常工作,可用示波器查看XTAL2 端是否有脉冲信号输出。XTAL1(19 脚):接外部晶体和微调电容的另一端;在片内它是振荡电路反相放大器的输入端。在采用外部时钟时,该引脚必须接地。2.控制信号引脚RST,ALE,PSEN

33、 和EA:RST/VPD(9 脚):RST 是复位信号输入端,高电平有效。当此输入端保持备用电源的输入端。当主电源Vcc 发生故障,降低到低电平规定值时,将5V 电源自动两个机器周期(24个时钟振荡周期)的高电平时,就可以完成复位操作。RST 引脚的第二功能是VPD,即接入RST 端,为RAM 提供备用电源,以保证存储在RAM 中的信息不丢失,从而合复位后能继续正常运行。ALE/PROG(30 脚):地址锁存允许信号端。当8051 上电正常工作后,ALE 引脚不断向外输出正脉冲信号,此频率为振荡器频率fOSC 的1/6。CPU 访问片外存储器时,ALE 输出信号作为锁存低8 位地址的控制信号。

34、平时不访问片外存储器时,ALE 端也以振荡频率的1/6 固定输出正脉冲,因而ALE 信号可以用作对外输出时钟或定时信号。如果想确定8051/8031 芯片的好坏,可用示波器查看ALE端是否有脉冲信号输出。如有脉冲信号输出,则8051/8031 基本上是好的。ALE 端的负载驱动能力为8 个LS 型TTL(低功耗甚高速TTL)负载。此引脚的第二功能PROG 在对片内带有4KB EPROM 的8751 编程写入(固化程序)时,作为编程脉冲输入端。PSEN(29 脚):程序存储允许输出信号端。在访问片外程序存储器时,此端定时输出负脉冲作为读片外存储器的选通信号。此引肢接EPROM 的OE 端(见后面

35、几章任何一个小系统硬件图)。PSEN 端有效,即允许读出EPROMROM 中的指令码。PSEN 端同样可驱动8 个LS 型TTL 负载。要检查一个8051/8031 小系统上电后CPU 能否正常到EPROMROM 中读取指令码,也可用示波器看PSEN 端有无脉冲输出。如有则说明基本上工作正常。EA/Vpp(31 脚):外部程序存储器地址允许输入端/固化编程电压输入端。当EA 引脚接高电平时,CPU只访问片内EPROM/ROM并执行内部程序存储器中的指令,但当PC(程序计数器)的值超过0FFFH(对8751/8051 为4K)时,将自动转去执行片外程序存储器内的程序。当输入信号EA 引脚接低电平

36、(接地)时,CPU 只访问外部EPROM/ROM 并执行外部程序存储器中的指令,而不管是否有片内程序存储器。对于无片内ROM 的8031 或8032,需外扩EPROM,此时必须将EA 引脚接地。此引脚的第二功能是Vpp 是对8751 片内EPROM固化编程时,作为施加较高编程电压(一般12V21V)的输入端。3.输入/输出端口P0/P1/P2/P3:P0口(P0.0P0.7,3932 脚):P0口是一个漏极开路的8 位准双向I/O口。作为漏极开路的输出端口,每位能驱动8 个LS 型TTL 负载。当P0 口作为输入口使用时,应先向口锁存器(地址80H)写入全1,此时P0 口的全部引脚浮空,可作为

37、高阻抗输入。作输入口使用时要先写1,这就是准双向口的含义。在CPU 访问片外存储器时,P0口分时提供低8 位地址和8 位数据的复用总线。在此期间,P0口内部上拉电阻有效。P1口(P1.0P1.7,18 脚):P1口是一个带内部上拉电阻的8 位准双向I/O口。P1口每位能驱动4 个LS 型TTL 负载。在P1口作为输入口使用时,应先向P1口锁存地址(90H)写入全1,此时P1口引脚由内部上拉电阻拉成高电平。P2口(P2.0P2.7,2128 脚):P2口是一个带内部上拉电阻的8 位准双向I/O口。P口每位能驱动4个LS 型TTL 负载。在访问片外EPROM/RAM 时,它输出高8 位地址。P3口

38、(P3.0P3.7,1017 脚):P3口是一个带内部上拉电阻的8 位准双向I/O口。P3口每位能驱动4个LS型TTL负载。P3口与其它I/O 端口有很大的区别,它的每个引脚都有第二功能,如下:P3.0:(RXD)串行数据接收。P3.1:(RXD)串行数据发送。P3.2:(INT0#)外部中断0输入。P3.3:(INT1#)外部中断1输入。P3.4:(T0)定时/计数器0的外部计数输入。P3.5:(T1)定时/计数器1的外部计数输入。P3.6:(WR#)外部数据存储器写选通。P3.7:(RD#)外部数据存储器读选通。5、硬件实现及单元电路设计5.1主控制模块 主控制最系统电路如图4所示。单片机

39、最小系统包括单片机、复位电路、时钟电路构成。STC89C52 单片机的工作电压范围:4V-5.5V,所以通常给单片机外界5V直流电源。连接方式为单片机中的40脚VCC接正极5V,而20脚VSS接电源地端。复位电路就是确定单片机的工作起始状态,完成单片机的启动过程。单片机接通电源时产生复位信号,完成单片机启动确定单片机起始工作状态。当单片机系统在运行中,受到外界环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。一般有上电自动复位和外部按键手动复位,单片机在时钟电路工作以后,在RESET端持续给出2个机器周期的高电平时就可以完成复位操作。本设计采用的是外部手动按键复位电路,需要接

40、上上拉电阻来提高输出高电平的值。 时钟电路好比单片机的心脏,它控制着单片机的工作节奏。时钟电路就是振荡电路,是向单片机提供一个正弦波信号作为基准,决定单片机的执行速度。XTAL1和XTAL2分别为反向放大器的输入和输出,该反向放大器可以配置为片内振荡器。如采用外部时钟源驱动器件,XTAL2应不接。因为一个机器周期含有6个状态周期,而每个状态周期为2个振荡周期,所以一个机器周期共有12个振荡周期,如果外接石英晶体振荡器的振荡频率为12MHZ,一个振荡周期为1/12us。 图4 单片主控电路5.2液晶显示模块电路设计显示模块采用LCD1602液晶显示器,能够清晰的在液晶上显示字符和数字,看到能让人

41、感觉到舒服感。液晶的命令操作脚是RS、RW、EN接在单片机的P35、P36、P37脚。,数据脚D0D7分别接单片机的的P1口。具体电路图如图5所示:图5液晶显示电路5.3电机驱动模块的设计电机驱动一般采用H桥式驱动电路,L298N内部集成了H桥式驱动电路,从而可以采用L298N电路来驱动电机。通过单片机给予L298N电路PWM信号来控制小车的速度,起停。驱动电路原理图如图6所示。图6电机驱动电路L298N的5、7、10、12四个引脚接到单片机上,单片机通过编程就可以实现两个直流电机的正反转。5.4壁障模块的设计避障模块采用超声波避障,接口电路如图7所示。 超声波模块采用现成的超声波模块,该模块

42、可提供 2cm-400cm 的非接触式距离感测功能,测距精度可达高到 3mm。模块包括超声波发射器、接收器与控制电路。基本工作原理:采用 IO 口 TRIG 触发测距,给至少 10us 的高电平信号;模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回;有信号返回,通过 IO 口 ECHO 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S)/2。实物如下图8。其中VCC 供5V 电源,GND 为地线,TRIG 触发控制信号输入,ECHO 回响信号输出等四支线。图7 避障接口电路图8 超声波模块实物5.5循迹模块电路设计小车循迹

43、原理是小车在贴有黑线的白纸 “路面”上行驶,由于黑线和白纸对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”黑线。笔者在该模块中利用了简单、应用也比较普遍的检测方法红外探测法。 红外探测法,即利用红外线在不同颜色的物理表面具有不同的反射性质的特点。在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色地面时发生漫发射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,则小车上的接收管接收不到信号,再通过LM339作比较器来采集高低电平,从而实现信号的检测。电路图如图9所示。市面上有很多红外传感器,在这里我选用ST178型光电对管。图9 循迹原理图 5.6电源部分的设计电

44、源部分的设计主要采用7805芯片,使用7805芯片搭建的电路的优点是简单、实用,78系列三端稳压IC组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。并且完全能够满足壁障小车单片机控制系统和L298N芯片的逻辑供电的供电需要。7805芯片有3个引脚,分别为输入IN端、输出OUT端和接地GND端,通常情况下可以提供1.5A的电流,在散热足够的情况下可以提供大于1.5A的电流。7805芯片的输入电压可以为9V、12V、15V不等,输出电压稳定在5V,正负误差不超过0.2V。基于这样的情况再结合电机的工作电压,选取了6节干电池9V作为7805

45、的输入电源,搭建的电源部分电路如图10所示:图10电源接口电路 6、系统软件设计6.1程序结构分析智能循迹壁障小车的软件设计采用模块化的设计思想,这样就把一个复杂的软件设计分成几个相对简单的部分分别予以解决。本论文完成的功能是循迹壁障小车,单片机实时检测5路循迹模块在黑线跑道上的状态,当前方距离小于25厘米时,小车避开障碍物往回继续循迹,并在液晶上显示距离。先初始化超声波和液晶,读取超声波检测的距离并在液晶上把距离显示出来。利用红外传感器检测小车循迹的位置,判断是否调整小车的位置。在循迹的路上检测前方的距离,判断前方障碍物是否小于25cm,如果小于则小车壁障障碍物原路返回继续循迹。流程图如图7-1所示:6.2系统程序流图开始开始液晶、超声波初始化小车后退避开障碍物小车调整相应角度回到跑道上循迹是否调整结束是否有障碍物显示当前检测的距离读出前方的距离是是否液晶、超声波初始化图7-1 主程序流程图7、系统的安装与调试 小车在调试的时候遇到了很多问题,经过努力问

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁