




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于单片机的多信息采集红外避障机器人(福州大学物理与信息工程学院,福建 福州)摘 要 主要设计基于单片机控制的多信息采集自动避障机器人小车。采用AT89S52单片机进行实时控制,实现智能避障,另外通过车载的无线温度采集,将采集到的温度发送到上位机显示在PC机上,从而实现温度、光强、气体浓度等等多信息采集的目的。研究内容包括:模块化系统设计、单片机程序知识、pcb板制作、各个信息子系统的软硬件设计。关键词 多信息、智能避障、无线传输、VB上位机、单片机一、 引言:随着社会的日益发展,智能机器人在现实生活中发挥其重要作用。研究基于单片机的多信息采集避障机器人,可以在此基础上研发出更多自动化产品,例
2、如自动巡逻机器人、自动吸尘器等从而提高人们的生活水平和质量。随着超级商场、大型物流仓库规模和数量的不断扩大,高层高档商用楼的日益增多,其保安巡逻自动化需求将日趋迫切。目前依赖于人力巡逻或CCD定位监控已不能满足夜间保安的要求,采用机器人实行定时、定点监控巡逻与不间断流动巡逻结合将解决这些场所的巡逻保安问题,所以很多国家都在研究这个方面,力求更加智能化,能够基本取代人力。美国在机器人发展史上走过一条重视理论研究,忽视应用开发研究的曲折道路,但是美国的机器人技术在国际上仍一直处于领先地位。其技术全面、先进,适应性也很强。其他像英国、俄罗斯、法国、日本也都在机器人研究方面处于领先水平。目前,中国示教
3、再现型机器人技术已基本成熟,并在工厂中推广应用。我国自行生产的机器人喷漆流水线在长春第一汽车厂及东风汽车厂投入生产,所以机器人研究在中国已经初步成型,不过还是有很大的空白需要填补。红外的典型应用领域为自主式智能导航系统,机器人要实现自动避障功能就必须要感知障碍物,感知障碍物相当给机器人一个视觉功能。智能避障是基于红外传感系统,采用红外传感器实现前方障碍物检测,并判断障碍物远近。综合考虑各种因素,我们选择多功能信息采集避障小车作为我们的制作项目。二、系统组成及电路设计:1. 系统组成部分红外光电开关89C52单片机主系统电源模块7805稳压模块89C52单片机从系统 (无线温度发送)MQ烟雾、光
4、敏传感器模块蜂鸣器报警12864大板液晶显示89C52单片机从系统 (无线温度接受)蜂鸣器报警蜂鸣器报警VB上位机显示(GUI界面)本系统组成如图一所示,主要由三部分组成:1) 传感器及信号处理部分:MQ烟雾信号、光强信号经过处理后变成可处理的数字信号0或1以及温度数据无线发射和传输部分;2) 以89C52组成的中央处理单元及其从系统2块:处理信号并发出控制命令;3) 电源驱动避障控制电路 :根据路况给出避障信号,并由89C52给出的命令控制小车走向,同时将时间信息显示在板子上。整个系统在89C52控制下工作。其工作过程为:主控制单元根据光电开关的信号控制底层驱动使机器人小车正确避障,并向二层
5、的温度数据采集发送模块供应5V稳压电,此时温度数据通过DS18B20采集,通过从单片机的处理,将数据显示在数码管上,同时通过无线传输模块NRF2401传送至接受方板子上,通过串口,将数据进一步显示于上位机上,形成友好的GUI采集信息界面(VB),该软件系统能够自动绘制温度曲线,并且可以自动生成text文档,方便观测人员检测温度数值;另外,我们还在底层再添加了相应的MQ烟雾和光明电阻的信息采集模块,可以对诸如烷烃类等可燃气体和光度强暗进行判定报警。整个系统动态运动就可以进行实时地实现火检等功能了。2.各个模块电路设计部分1)单片机最小系统控制模块 作为微处理器部分,主要控制直流电机的转速,机械轮
6、的转向,以及对脉冲调制的反射式红外线的接收和处理,达到自主控制行进路线。下面是各系统概念模块图: a)51单片机基本介绍 51单片机是对目前所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。目前很多公司都有51系列的兼容机型推出,在目前乃至今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是52系列的单片机一般不具备自
7、编程能力。用C 语言编写单片机应用程序和编写标准的C 语言程序的不同之处,在于根据单片机的存储结构及内部资源定义C 语言中的数据类型和变量,其他的语法规定、程序结构及程序设计方法与标准的C 语言相同,所以在后面的几节中主要介绍如何定义C51 中的变量的数据类型、存储类型、特殊功能寄存器以及中断函数,与标准C 相同的部分就不再赘述。b)51单片机主要功能:8位CPU4kbytes 程序存储器(ROM) (52为8K) 256bytes的数据存储器(RAM) (52有384bytes的RAM) 32条I/O口线111条指令,大部分为单字节指令 21个专用寄存器 2个可编程定时/计数器5个中断源,2
8、个优先级(52有6个) 一个全双工串行通信口 外部数据存储器寻址空间为64kB 外部程序存储器寻址空间为64kB 逻辑操作位寻址功能双列直插40PinDIP封装 单一+5V电源供电 五个中断源的中断控制系统; 一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信; 片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最高振荡频率为12M。c)电路设计部分单片机最小系统核心电路图: 2)红外光电开关传感器模块a)分类与工作方式1)槽开光电开关把一个光发射器和一个接收器面对面地装在一个槽的两侧的是槽形光电。发光器能发出红外光或可见光,在无阻情况下
9、光接收器能收到光。但当被检测物体从槽中通过时,光被遮挡,光电开关便动作。输出一个开关控制信号,切断或接通负载电流,从而完成一次控制动作。槽形开关的检测距离因为受整体结构的限制一般只有几厘米。2)对射式光电开光若把发光器和收光器分离开,就可使检测距离加大。由一个发光器和一个收光器组成的光电开关就称为以射分离式光电开光,简称对射式光电开关。它的检测距离可达几米乃至几十米。使用时把发光器和收光器分别装在检测物通过路径的两侧,检测物通过时阻挡光路,收光器就动作输出一个开关控制信号。3)反光板反射式光电传感器把发光器和收光器装入同一个装置内,在它的前方装一块反光板,利用反射原理完成光电控制作用的称为反光
10、板反射式(或反射镜反射式)光电开关。正常情况下,发光器发出的光被反光板反射回来被收光器收到;一旦光路被检测物挡住,收光器收不到光时,光电开关就动作,输出一个开关控制信号。4)扩散反射式光电开关它的检测头里也装有一个发光器和一个收光器,但前方没有反光板。正常情况下发光器发出的光收光器是收不到的;当检测物通过时挡住了光,并把光部分反射回来,收光器就收到光信号,输出一个开关控制信号。5)光纤式光电开关把发光器发出的光用光纤引导到检测点,再把检测到的光信号用光纤引导到光接收器就组成光纤式光电开关。按动作方式的不同,光纤式光电开关也可分成对射式、反光板反射式、扩散反射式等多种类型。b)光电开光传感器工作
11、原理光电传感器是通过把光强度的变化转换成电信号的变化来实现控制的。光电传感器在一般情况下,有三部分构成,它们分为:发送器、接收器和检测电路。发送器对准目标发射光束,发射的光束一般来源于半导体光源,发光二极管(LED)、激光二极管及红外发射二极管。光束不间断地发射,或者改变脉冲宽度。接收器有光电二极管、光电三极管、光电池组成。在接收器的前面,装有光学元件如透镜和光圈等。在其后面是检测电路,它能滤出有效信号和应用该信号。此外,光电开关的结构元件中还有发射板和光导纤维。三角反射板是结构牢固的发射装置。它由很小的三角锥体反射材料组成,能够使光束准确地从反射板中返回,具有实用意义。它可以在与光轴0到25
12、的范围改变发射角,使光束几乎是从一根发射线,经过反射后,还是从这根反射线返回。正常情况下,发光器发出的光被反光板反射回来被收光器收到;一旦光路被检测物挡住,收光器收不到光时,光电开关就动作,输出一个开关控制信号它的检测头里也装有一个发光器和一个收光器,但前方没有反光板。正常情况下发光器发出的光收光器是找不到的。当检测物通过时挡住了光,并把光部分反射回来,收光器就收到光信号,输出一个开关信号。 C)红外探测模块原理图探测障碍原理框图3)LCD显示模块a) LCD显示基本原理通常所说的12864LCD显示块是所说的点阵液晶显示模块,就是由128*64个液晶显示点组成的一个128列*64行的阵列,所
13、以也就叫成了12864。每个显示点都对应着有一位二进制数,0表示灭,1表示亮。存储这些点阵信息的RAM被称为显示数据存储器。如果要显示某个图形或汉字就是将相应的点阵信息写入到对应的存储单元中。图形或汉字的点阵信息是由自己设计,这时候问题的关键是显示点在液晶屏上的位置与其在存储器中的地址之间的关系。显示点在64*64液晶屏上的位置由列号(line,063)与行号(line,063)确定。512*8 bits RAM中某个存储单元的地址由页地址(Xpage,07)和列地址(Yaddress,063)确定。每个存储单元存储8个液晶点的显示信息。由于多数液晶显示模块的驱动电路是由一片行驱动器和两片列驱
14、动器构成,所以12864液晶屏实际上是由左右两块独立的64*64液晶屏拼接而成,每半屏有一个512*8 bits显示数据RAM。左右半屏驱动电路及存储器分别由片选信号CS1和CS2选择。如如果点亮12864的屏中(20,30)位置上的液晶点,因列地址30小于64,该点在左半屏第29列,所以CS1有效;行地址20除以8取整得2,取余得4,该点在RAM中页地址为2,在字节中的序号为4;所以将二进制数据00010000(也可能是00001000,高低顺序取决于制造商)写入Xpage=2,Yaddress=29的存储单元中即点亮(20,30)上的液晶点。这是为了为了使液晶点位置信息与存储地址的对应关系
15、更直观关,将64*64液晶屏从上至下8等分为8个显示块,每块包括8行*64列个点阵。每列中的8行点阵信息构成一个8bits二进制数,存储在一个存储单元中。(需要注意:二进制的高低有效位顺序与行号对应关系因不同商家而不同)存放一个显示块的RAM区称为存储页。即64*64液晶屏的点阵信息存储在8个存储页中,每页64个字节,每个字节存储一列(8行)点阵信息。因此存储单元地址包括列地址(Yaddress,063)和页地址(Xpage,07)。78xx/79系列三端稳压器件是最常用的线性降压型 DC/DC 转换器,78xx/79 系列简单易用、价格低廉,直到今天还在大多电路中采用。 如7805,7806
16、,7809,7812,7815,7824,(79)以及三瑞可调稳压(LM317,337,338.) 。 b)电源模块电路图4)直流电机驱动模块 a)直流电机定义输出或输入为直流电能的旋转电机,称为直流电机,它是能实现直流电能和机械能互相转换的电机。当它作电动机运行时是直流电动机,将电能转换为机械能;作发电机运行时是直流发电机,将机械能转换为电能。1、直流电机原理直流电机里边固定有环状永磁体,电流通过转子上的线圈产生洛伦兹力,当转子上的线圈与磁场平行时,再继续转受到的磁场方向将改变,因此此时转子末端的电刷跟转换片交替接触,从而线圈上的电流方向也改变,产生的洛伦兹力方向不变,所以电机能保持一个方向
17、转动。 2、直流电机的结构由直流电动机和发电机工作原理示意图可以看到,直流电机的结构应由定子和转子两大部分组成。直流电机运行时静止不动的部分称为定子,定子的主要作用是产生磁场,由机座、主磁极、换向极、端盖、轴承和电刷装置等组成。运行时转动的部分称为转子,其主要作用是产生电磁转矩和感应电动势,是直流电机进行能量转换的枢纽,所以通常又称为电枢,由转轴、电枢铁心、电枢绕组、换向器和风扇等组成。 定子(1)主磁极 主磁极的作用是产生气隙磁场。主磁极由主磁极铁心和励磁绕组两部分组成。铁心一般用0.5mm1.5mm厚的硅钢板冲片叠压铆紧而成,分为极身和极靴两部分,上面套励磁绕组的部分称为极身,下面扩宽的部
18、分称为极靴,极靴宽于极身,既可以调整气隙中磁场的分布,又便于固定励磁绕组。励磁绕组用绝缘铜线绕制而成,套在主磁极铁心上。整个主磁极用螺钉固定在机座上, 1换向器 2电刷装置 3机座 4主磁极 5换向极 6端盖 7风扇 8电枢绕组 9电枢铁心 (2)换向极 换向极的作用是改善换向,减小电机运行时电刷与换向器之间可能产生的换向火花,一般装在两个相邻主磁极之间,由换向极铁心和换向极绕组组成,如8.6所示。换向极绕组用绝缘导线绕制而成,套在换向极铁心上。 (3)机座 电机定子的外壳称为机座,见图的3。机座的作用有两个:一是用来固定主磁极、换向极和端盖,并起整个电机的支撑和固定作用; 1主磁极 2励磁绕
19、组 3机座 二是机座本身也是磁路的一部分,借以构成磁极之间磁的通路,磁通通过的部分称为磁轭。为保证机座具有足够的机械强度和良好的导磁性能,一般为铸钢件或由钢板焊接而成。 4)电刷装置 电刷装置是用来引入或引出直流电压和直流电流的,如图所示。电刷装置由电刷、刷握、刷杆和刷杆座等组成。电刷放在刷握内,用弹簧压紧,使电刷与换向器之间有良好的滑动接触,刷握固定在刷杆上,刷杆装在圆环形的刷杆座上,相互之间必须绝缘。刷杆座装在端盖或轴承内盖上,圆周位置可以调整,调好以后加以固定。 转子(电枢)(1)电枢铁心 电枢铁心是主磁路的主要部分,同时用以嵌放电枢绕组。一般电枢铁心采用由0.5mm厚的硅钢片冲制而成的
20、冲片叠压而成(冲片的形状如图所示),以降低电机运行时电枢铁心中产生的涡流损耗和磁滞损耗。叠成的铁心固定在转轴或转子支架上。铁心的外圆开有电枢槽,槽内嵌放电枢绕组。 (2)电枢绕组 电枢绕组的作用是产生电磁转矩和感应电动势,是直流电机进行能量变换的关键部件,所以叫电枢。它是由许多线圈(以下称元件)按一定规律连接而成,线圈采用高强度漆包线或玻璃丝包扁铜线绕成,不同线圈的线圈边分上下两层嵌放在电枢槽中,线圈与铁心之间以及上、下两层线圈边之间都必须妥善绝缘。为防止离心力将线圈边甩出槽外,槽口用槽楔固定,如图所示。线圈伸出槽外的端接部分用热固性无纬玻璃带进行绑扎。 (3)换向器 在直流电动机中,换向器配
21、以电刷,能将外加直流电源转换为电枢线圈中的交变电流,使电磁转矩的方向恒定不变;在直流发电机中,换向器配以电刷,能将电枢线圈中感应产生的交变电动势转换为正、负电刷上引出的直流电动势。换向器是由许多换向片组成的圆柱体,换向片之间用云母片绝缘。片的紧固通常如下图所示,换向片的下部做成鸽 1槽楔 2线圈绝缘 3电枢导体 尾形,两端用钢制V形套筒和V形云母环固定,再用 4层间绝缘 5槽绝缘 6槽底绝缘 4)转轴 转轴起转子旋转的支撑作用,需有一定的机械强度和刚度,一般用圆钢加工而成。 b)电动机 PWM 驱动模块的电路设计与实现Gn#O!t4Q3a+Pf33186 本电路采用的是基于 PWM 原理的 H
22、 型驱动电路。采用 H 桥电路可以增加驱动能力,同时保证了完整的电流回路。电子园51单片机学习网u_W#C图 2 H 型驱动模块的设计当为高电平,为低电平时,、管导通,、管截止,电动机正转。当为低电平,为高电平时,、管截止,、管导通,电动机反转。电机工作状态切换时线圈会产生反向电流,通过四个保护二极管 D1 、 D2 、 D3 、 D4 接入回路,防止电子开关被反向击穿。电子园51单片机学习网(M.P#|4pCv /trX0t.r33186采用 PWM 方法调整马达的速度,首先应确定合理的脉冲频率。脉冲宽度一定时,频率对电机运行的平稳性有较大影响,脉冲频率高马达运行的连续性好,但带负载能力差;
23、脉冲频率低则反之。经试验发现,脉冲频率在 50Hz 以上,电机转动平稳,但智能车行驶时,由于摩擦力使电机转速降低,甚至停转。当脉冲频率在 10Hz 以下时,电机转动有明显的跳动现象,经反复试验,本车在脉冲频率为 15 20Hz 时控制效果最佳。为方便测量及控制,在实际中我们采用了 20Hz 的脉冲。G)J bt72ia2I33186电子园51单片机学习网 sB%#I$b脉宽调速实质上是调节加在电机两端的平均功率,其表达式为:biRq7ab33186电子园51单片机学习网cJ*bV14I R电子园51单片机学习网3wVX%e 电子园51单片机学习网Oulp K/w R式中 P 为电机两端的平均功
24、率;为电机全速运转的功率; K 为脉宽。电子园51单片机学习网;RQLnz1kl9AV&Y5PT9yb o-S33186当 K=1 时,相当于加入直流电压,这时电机全速运转,;当 K=0 时,相当于电机两端不加电压,电机靠惯性运转。.V+Nisu|33186 n|J lEC 9sS33186当电机稳定开动后,有A|8jS.eV|8D33186电子园51单片机学习网E.Zal+Q(f 为摩擦力 )9g9b,fC/R33186电子园51单片机学习网PxR(u N;cn1U则电子园51单片机学习网8u+X&SpF9h O&J电子园51单片机学习网G l?#?所以,S,eIE y9F/E33184?8
25、d;ldD,1L33186由上式可知智能车的速度与脉宽成正比。+B7J k+nyL33186电子园51单片机学习网vt3CTANH;U#H8M1I由上述分析,、这对控制电压采用了 20Hz 的周期信号控制,通过对其占空比的调整,对车速进行调节。同时,可以通过、的切换来控制电动机的正转与反转。Vk_3m/| h3!Y.Qu;q33;H0Uht8g5f33186在实际调试中,我们发现由于桥式电路中四个三极管的参数不一致,使控制难度加大,因此我们用专用的电机驱动管 L298 构成使用一片 L298 便可完成对两路电机的控制,这里我们是四轮驱动,故采用两个驱动。Q+O a:JBP33186 图 4 用
26、 L298 实现双路电机驱动电子园51单片机学习网;hoBMw eGq驱动信号由单片机的 P1.1P1.4 口输出,同时使用一片 74HC08 驱动 LED 完成行驶状态指示5)电源模块模块a)L7805简介三端稳压集成电路lm7805。电子产品中,常见的三端稳压集成电路有正电压输出的lm78 系列和负电压输出的lm79系列。顾名思义,三端IC是指这种稳压用的集成电路,只有三条引脚输出,分别是输入端、接地端和输出端。它的样子象是普通的三极管,TO- 220 的标准封装,也有lm9013样子的TO-92封装。 用lm78/lm79系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流
27、、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。该系列集成稳压IC型号中的lm78或lm79后面的数字代表该三端集成稳压电路的输出电压,如lm7806表示输出电压为正6V,lm7909表示输出电压为负9V。因为三端固定集成稳压电路的使用方便,电子制作中经常采用。主要参数:L7805,采用TO-220封装方式。 压降:2V 输出数:1 针脚数:3 封装类型:TO-220 工作温度范围:0C to +150C 封装类型:TO-220 工作温度最低:0C 工作温度最高:150C 器件标号:7805 器件标记:L7805CV 容差, 工作电压 +:4% 电压整流器类型:正固定 电源电压 最
28、大:20V 电源电压 最小:8V 芯片标号:7805 表面安装器件:通孔安装 输入电压 最大:35V 输入电压 最小:7V 输出电压 最大:5V 输出电流 最大:1.5A 电压:5V 输出电压:5Vb)电源供电设计 本次多功能避障机器人小车设计主要采用双电源供电,蓄电池输出电压,经过L7805稳压后给单片机模块供电;上面部分主要采用四个5号电池给四个电机驱动。这样做的主要目的是隔离各个系统因为系统电压不稳定所造成的干扰,提高系统的稳定性。6)多信息采集模块a)DS18b20温度采集单元1)、DS18b20DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附
29、式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。DS18B20的主要特性 1.1、适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数 据线供电 1.2、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯 1.3、 DS18B20支持多点组网功能,多个
30、DS18B20可以并联在唯一的三线上,实现组网多点测温 1.4、DS18B20在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路内 1.5、温范围55+125,在-10+85时精度为0.5 1.6、可编程 的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温 1.7、在9位分辨率时最多在 93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快 1.8、测量结果直接输出数字温度信号,以一 线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力 1.9、负压特
31、性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。2)温度采集模块电路图无线温度发射电路无线温度接受电路b)烟雾光敏报警单元1)、自感应器件MQ2参数A. 标准工作条件符号参数名称技术条件备注 Vc回路电压15VAC or DC VH加热电压5.0V0.2 VAC or DC RL负载电阻可调 RH加热电阻313室温 PH加热功耗900mW B. 环境条件符号参数名称技术条件备注 Tao使用温度-10-50 Tas储存温度-20-70 RH相对湿度小于95%RH O2氧气浓度21%(标准条件)氧气浓度会影响灵敏度特性最小值大于C. 灵敏度特性符号参数名称 技术参数备注Rs敏感体表面电
32、阻 3K-30K (1000ppm 异丁烷 )探测浓度范围100ppm-10000ppm液化气和丙烷300ppm-5000ppm 丁烷5000ppm-20000ppm 甲烷300ppm-5000ppm 氢气100ppm-2000ppm 酒精 (3000/1000) 异丁烷浓度斜率 0.6标准工作条件 温度: 202 Vc:5.0V0.1V 相对湿度: 65%5% Vh: 5.0V0.1V2)光敏电阻光敏电阻又称光导管,常用的制作材料为硫化镉,另外还有硒、硫化铝、硫化铅和硫化铋等材料。这些制作材料具有在特定波长的光照射下,其阻值迅速减小的特性。这是由于光照产生的载流子都参与导电,在外加电场的作用
33、下作漂移运动,电子奔向电源的正极,空穴奔向电源的负极,从而使光敏电阻器的阻值迅速下降。光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。常用的光敏电阻器硫化镉光敏电阻器,它是由半导体材料制成的。光敏电阻器的阻值随入射光线(可见光)的强弱变化而变化,在黑暗条件下,它的阻值(暗阻)可达110M欧,在强光条件(100LX)下,它阻值(亮阻)仅有几百至数千欧姆。光敏电阻器对光的敏感性(即光谱特性)与人眼对可见光(0.40.76)m的响应很接近,只要人眼可感受的光,都会引起它的阻值变化。设计光控电路时,都用白炽灯泡(小电珠)光线或自然光线作控制光源,使设计大为简化。3)、主要参
34、考电路这里我们主要关注MQ2的烟雾报警电路,参考如上。3、程序清单:/避障和液晶#include #include #define uchar unsigned char#define uint unsigned intsbit lab=P10;/左前轮向后sbit law=P11;/左前轮向前sbit rab=P12;/右前轮向后sbit raw=P13;/右前轮向前sbit lbb=P14;/左后轮向后sbit lbw=P15;/左后轮向前sbit rbb=P16;/右后轮向后sbit rbw=P17;/右后轮向前sbit left=P27;sbit mid=P26;sbit right=
35、P25;/*TS12864A-3 端口定义*/#define LCD_data P0 /数据口sbit LCD_RS = P35; /寄存器选择输入 sbit LCD_RW = P36; /液晶读/写控制sbit LCD_EN = P34; /液晶使能控制sbit LCD_PSB = P37; /串/并方式控制sbit wela = P26;sbit dula = P27;uchar code dis1 = 多信息采集红外避;uchar code dis2 = 障机器小车;uchar code dis3 = 时间:2011-06-01;uchar code dis4 = 物理信息工程学院;#d
36、efine delayNOP(); _nop_();_nop_();_nop_();_nop_();uchar IRDIS2;uchar IRCOM4;void delay0(uchar x); /x*0.14MSvoid beep();void dataconv();void lcd_pos(uchar X,uchar Y); /确定显示位置/*/* */* 延时函数 */* */*/void delay(int ms) while(ms-) uchar i; for(i=0;i250;i+) _nop_(); _nop_();_nop_();_nop_(); /*/* */*检查LCD忙状
37、态 */*lcd_busy为1时,忙,等待。lcd-busy为0时,闲,可写指令与数据。 */* */*/bit lcd_busy() bit result; LCD_RS = 0; LCD_RW = 1; LCD_EN = 1; delayNOP(); result = (bit)(P0&0x80); LCD_EN = 0; return(result); /*/* */*写指令数据到LCD */*RS=L,RW=L,E=高脉冲,D0-D7=指令码。 */* */*/void lcd_wcmd(uchar cmd) while(lcd_busy(); LCD_RS = 0; LCD_RW =
38、 0; LCD_EN = 0; _nop_(); _nop_(); P0 = cmd; delayNOP(); LCD_EN = 1; delayNOP(); LCD_EN = 0; /*/* */*写显示数据到LCD */*RS=H,RW=L,E=高脉冲,D0-D7=数据。 */* */*/void lcd_wdat(uchar dat) while(lcd_busy(); LCD_RS = 1; LCD_RW = 0; LCD_EN = 0; P0 = dat; delayNOP(); LCD_EN = 1; delayNOP(); LCD_EN = 0; /*/* */* LCD初始化设
39、定 */* */*/void lcd_init() LCD_PSB = 1; /并口方式 lcd_wcmd(0x34); /扩充指令操作 delay(5); lcd_wcmd(0x30); /基本指令操作 delay(5); lcd_wcmd(0x0C); /显示开,关光标 delay(5); lcd_wcmd(0x01); /清除LCD的显示内容 delay(5);/*避障程序*/cwalk()law=1;raw=1;lbw=0;rbw=0;lab=0;rab=0;lbb=0;rbb=0;/车子直走cstop()law=0;raw=0;lbw=0;rbw=0;lab=0;rab=0;lbb=
40、0;rbb=0;/车子停止cleft()law=0;raw=1;lbw=0;rbw=1;lab=1;rab=0;lbb=1;rbb=0;/车子左转cright()law=1;raw=0;lbw=1;rbw=0;lab=0;rab=1;lbb=0;rbb=1;/车子右转/*/* */* 主程序 */* */*/ main() uchar i; delay(10); /延时 wela=0;dula=0; lcd_init(); /初始化LCD lcd_pos(0,0); /设置显示位置为第一行的第1个字符i = 0;while (1) while(dis1i != 0) /显示字符 lcd_wda
41、t(dis1i); i+; lcd_pos(1,0); /设置显示位置为第二行的第1个字符 i = 0; while(dis2i != 0) lcd_wdat(dis2i); /显示字符 i+; lcd_pos(2,0); /设置显示位置为第三行的第1个字符 i = 0; while(dis3i != 0) lcd_wdat(dis3i); /显示字符 i+; lcd_pos(3,0); /设置显示位置为第四行的第1个字符 i = 0; while(dis4i != 0) lcd_wdat(dis4i); /显示字符 i+; /delay(5);left=1;mid=1;right=1; /避
42、障程序delay(5); while (1) if (left=1&mid=1&right=1) cwalk(); else if (left=0&(mid=0|mid=1)&right=1) cright(); else if (left=1&(mid=0|mid=1)&right=0) cleft(); else if(left=0&mid=0&right=0) cstop(); else continue; /while(1); / delay(1000); /*/* */* 延时x*0.14ms子程序 */* */*/void delay0(uchar x) /x*0.14MS uch
43、ar i; while(x-) for (i = 0; i13; i+) /*/* */* 设定显示位置 */* */*/void lcd_pos(uchar X,uchar Y) uchar pos; if (X=0) X=0x80; else if (X=1) X=0x90; else if (X=2) X=0x88; else if (X=3) X=0x98; pos = X+Y ; lcd_wcmd(pos); /显示地址/蜂鸣器实验#include#define uint unsigned intsbit led1=P26; /只适用于自己的最小系统I/O口void delay1s();void main() while(1) led1=0;delay1s();led1=1;delay1s();void delay1s()uint i,j;for (i=1;i0;i-)for(j=110;j0;j-); /改变其数值可以调节蜂鸣器音色小车初调程序#include#define uint unsigned int#define uchar unsigned charsbit P10=P10; / 控制左电机前进sbit P11=P11;/控制左电机
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 唐山市2024-2025学年高一上学期期末考试英语试卷(含答案)
- 中国诗词大会:30道关于诗词中儿童形象的选择题(附答案和解释)
- 2025年区块链技术考试题及答案
- 2025年大咯血考试试题及答案
- 2025年暴雨心理测试试题及答案
- 保健按摩师中级复习测试附答案
- 工业机器人应用编程1+X中级练习试题
- 工业机器人复习试题含答案
- 2025年二波疫情测试题及答案
- 2025年传热学试题库及答案
- 20以内退位减法口算练习题100题30套(共3000题)
- 2024年湖南铁道职业技术学院单招职业技能测试题库及答案解析word版
- 2024发电企业智慧电厂智慧安防技术方案
- 腾讯专有云产品介绍-售前篇
- 火花机保养维护计划表
- 六年级心理健康教育课件
- 弦切角-相交弦-切割线定理
- 棘轮机构与槽轮机构
- 云南省普通高中学生学分认定及管理办法
- 公司借款申请表
- 化工制图第一章制图的基本知识课件
评论
0/150
提交评论