《基于单片机的智能小车的设计-毕业论文-总.doc》由会员分享,可在线阅读,更多相关《基于单片机的智能小车的设计-毕业论文-总.doc(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于单片机的智能小车的设计学习文档 仅供参考摘要单片机作为一种微型控制器,自走入人们的视野以来,就随着科技进步不断地更新换代。它能够将电脑所有关键的零件整合集中在一块芯片上,并且具有强大的计数功能,以及各种必要的接口,因此单片机在自动控制系统中通常处于核心地位。本文对于智能小车的设计思路就应用了最常见的AT89S51单片机作控制处理器,该单片机在低功率的基础上,能够保持其性能在一个较高的水平上,且其8K的处理器够灵巧,适用于嵌入式产品,在众多单片机中,表现较为优秀。本设计是在单片机的基础上实施的,兼具数据处理、即时调控和报警提醒功能,小车接到行驶指令后,红外探头会检测路况信息是否处在黑线路径范
2、围内并反馈给单片机处理,单片机判断后作出相应指令,由电机驱动使小车执行相应行驶动作。单片机与系统的配合使智能小车的行驶保持灵敏迅速的状态。关键词:单片机 寻迹 报警 红外线 电机驱动学习文档 仅供参考AbstractWith the rapid development of science and technology in recent years, SCM applications are continually deepening. Traditional control test drive at the same time, the rapidly growing update. I
3、n real-time detection and control of the microcomputer application system, the microcontroller is often used as a core component. SCM is the main feature integrated computer chip in a micro-computer. It is a set of multi-counting and the interface in one of the micro-controller. The 51 single-chip m
4、icrocontroller is the most typical and most representative one.The design of the main application AT89S51 as the control, and display driver integrated circuits and other systems. Based on single chip design. MCU AT89S51 using the controller as an alarm device that can give full play to AT89S51 of d
5、ata processing and real-time control functions. Make the system work in the best condition, improve the system sensitivity.When two signal driven forward by car tracing module,the infrares on whether to produce level signals through the black,retutn again according to requirement of design procedure
6、 of judgment for motor driver module,it controls the car turning back forward of running on the black line.Keywords: SCM,Tracing, Alarm device, Level signals, Motor driver module学习文档 仅供参考目录摘要IAbstractII目录III前言11 设计任务及方案21.1 设计任务及要求21.2 设计方案论证21.2.1 控制器选择21.2.2 电机驱动芯片的选择31.2.3 路况检测模块42 系统硬件电路与实现52.1
7、红外遥控及解码模块52.1.1 二进制信号的调制62.1.2 二进制信号的解调72.1.3 二进制信号的解码72.2 单片机红外接收硬件电路的实现82.3 电机驱动模块9路况检测模块132.4.1 寻迹模块142.4.2 智能防撞报警模块163系统软件设计与实现17整体程序的构架18红外遥控解码的实现19电机驱动213.4 小车寻迹213.5 小车防撞报警224 小车系统原理图245 系统调试265.1 遥控发送接收调试265.2 电机驱动调试275.3 寻黑线和防撞的调试27总结27致谢28参考文献29附录30元件清单30系统程序31学习文档 仅供参考学习文档 仅供参考前言在科技飞快进步的今
8、天,自动控制技术已经迅速成长起来,它与传感器技术之间的配合也越来越默契,时下大热的各种电子智能产品就是自动控制技术发展的产物。目前国内的自控和传感技术与国外还存在一定的差距,这一领域的优秀产品已有很多,比方日本本田制造出来的智能机器人,对于人类的步态模仿已到达非常自然的水平,并且它还有一定的智力,能够与六岁的孩童相比。在机械领域一直处于热门地位的汽车,也加入了越来越多的电子信息元素,比方越来越多的汽车产品配置了电子装置,人们在车上不仅可以办公,还能进行多种娱乐活动,这使得汽车向着更加娱乐化和多功能的方向发展,而不仅仅发挥代步功能。另外,汽车的核心配置也越来越电子化,自动控制技术让汽车工艺发展更
9、进了一步。随着自动控制产业的发展,电子信息化的教育也渐渐在国际上被提上日程,越来越多的培养年前一代人才的科技竞赛也走入了人们的视野,比方中国大学生方程式汽车大赛(FSC、FSEC)、全国大学生机器人大赛等, 都能够很好地激发学生群体的兴趣,促使他们主动学习,对我国电子信息行业的发展产生一定的促进作用。本设计是以杨老师所给出的小车为框架,以AT89C52单片机为控制器制作一辆简易的智能小车,希望到达小车能够按照引导线的路径自动行驶的效果,以期跟上汽车产业自动化发展的脚步,并掌握本阶段应具有的专业素养和动手能力。1 设计任务及方案1.1 设计任务及要求本设计是以单片机作为控制核心制作的一个具有简单
10、智能的小车。设计要求如下:具有单片机核心控制模块;具有红外遥控解码模块;具有电机驱动模块;具有路况检测模块;具有光感模块;具有声控模块;具有7段数码管显示模块;具有报警模块;1.2 设计方案论证 控制器选择方案一:采用MSP430单片机MSP430是德州仪器 (TI)生产的一种RISC混合信号处理器,这个系列的产品一方面在低功耗上表现极其优秀,另一方面又能够不影响信号连接、传感器以及其他组件的正常运行,可以说为电池续航问题交上了一份完美的答卷。MSP430优点:0.1uA RAM 保持;250uA/MIPS有效;高性能模拟器件;是精确测量的理想选择;其处理器能够到达仅需一串代码就使一个应用运转
11、起来;而且还能够在系统内部更改、更新代码和数据。但系列单片机也有缺点,由于其功耗低,导致几个管脚的驱动力不够,主频也不够高,处理数据的速度不够快,达不到本设计对于单片机的预期,故不选用这一系列的单片机。方案二:采用AT89S51单片机1与MSP430不同,AT89S51在低功率的基础上,能够保持其性能在一个较高的水平上,其8K字节的FLASH存储器能够与工业80C51产品指令和引脚完美融合,同时也能够兼容常规编程器。与MSP430的16位处理器相比,AT89S51的8位处理器更加迷你灵活,适用于更多的嵌入式产品,兼容性更好。AT89S51具有以下标准功能:8k字节Flash,256字节 RAM
12、,32位I/O口线,看门狗定时器,2个数据指针,三只16位定时器/计数器,一个6向2级中断结构,全双工串行口,片内晶振及时钟电路。除此之外他还能够实现0Hz静态逻辑操作,有两款软件能开启省电模式。在不需高效工作的时候,还能够保持处理器不运行,RAM、定时器/计数器、串口、中断继续工作的状态。在低电量模式,还能够保证RAM 数据不丧失,振荡器停止,单片机不运行,持续该状态到各项条件能够恢复正常工作。方案选择:综上所述:经过对MSP430和AT89S51的各项条件比较,本设计将采用MSP430作为处理器,其物美价廉,上手更容易,性能表现也优异,符合设计最初的期望值。1.2.2 电机驱动芯片的选择方
13、案一:采用L298N L298N为SGS-THOMSON Microelectronics 所出产的双全桥步进电机专用驱动芯片( Dual Full-Bridge Driver ) ,内部包含4信道逻辑驱动电路,是专门针对于二相CEs838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电子元器件符号-各种图纸和四相步进电机的一款驱动器,它能够在同一时间调动两个二相或者一个四相的步进电机,它的内部有两个H-Bridge 的高电压、大电流双全桥式驱动器,用来接收标准CEs838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电子
14、元器件符号-各种图纸TTL逻辑准位信号,能够调动46V、2A以下的步进电机,且可以直接透过电源来调节输出电压;它还能够识别单片机IO端口传来的模拟信号,但IO 端口在智能小车中较为少见,不过这一芯片的优点是造价低廉。方案二:采用LG9110LG9110这种电路驱动芯片对电路的集成度更高,将各个电路集中在一个芯片上,能够减少外部元件比例,减少造价。另外这种芯片有两个通道可以进行输入,且两个输出端都能保持750-800mA较大电流通过,峰值电流能力可达1.5-2.0A,从而保证了驱动能力,提供更高的工作效率。而它所具有的低输出饱和压降以及内置钳位二极管释放感性负载的反向冲击电流的功能,又保证了在使
15、用中安全性。因此,这种芯片作为集成电路器件已经普遍被用在玩具汽车电机驱动、步进电机驱动以及开关功率管等电路上。方案三:使用分立原件搭建电机驱动电路 这种方法成本非常低,普遍应用于规模化生作业中,但它有一个缺点,即H桥电路的运转状态不能保持稳定,发生硬件问题的几率比较大,因此不选用这种方法。综上所述:经过对上面三种驱动芯片的比较,我们发现第二种芯片不管是在驱动能力上、造价上,还是使用的难易程度上都表现较为优秀,因此决定使用第二种芯片LG9110。1.2.3 路况检测模块这个部分我们将使用红外发射探头来处理,当红外线检测到异物后,将信号返回到探头,探头再把信号传送给单片机控制器进行判断,以这样的一
16、个模式,来判断整体路况信息。2 系统硬件电路与实现本方案选取AT89C52AT89C52遥控模块路面检测模块电机驱动模块报警模块显示模块 图2.1 系统硬件组成框架图2.1 红外遥控及解码模块家中普遍使用的电视遥控器就使用了红外遥控技术,这种技术有诸多优势,比方:无线实施、不需要触控、干扰因素少、有效信息传输率高、功率损耗小、造价低廉等,随着近年来的发展,已经被广泛地应用于各个领域。这一技术系统由2个部门构成:发送和接收部门。发送部分由主芯片将待发的二进制信号编码调制为一系列的脉冲串信号,通过红外发射管发射红外信号红外信号接收端普遍采用价格廉价,效率高且效果有保证的一体化红外接收头如HS003
17、8,它接收红外频率为38KHz,周期为26us。这种接收头在放大信号的同时,还能对信号的波形进行检测和修整,并转换成TTL电平的编码语言,传到中央处理器,由cpu解码和发布指令,去控制相关对象。如图所示。遥控器一体化红外接收头单片机发送接收解调解码图 红外遥控解码框图 2.1.1 二进制信号的调制控制器的主芯片要负责二进制信号的处理工作,它将二进制信号的编码处理为 38KHz的不连续脉冲串,简单来说就是做一个把两者相乘的工作,用于之后的信号发射环节。如图所示,A为二进制信号波,B 是频率=38KHz(周期=26us) 的不间断脉冲串,C为经芯片处理过的不连续脉冲串即C=AB,用于之后的信号发射
18、环节的波信号图中二进制信号编码为 101。 图2. 二进制信号的调制 二进制信号的解调红外接收头我们采用的是HS0038,它负责了二进制信号的复原工作,就是解调,即将上面提到的不连续脉冲信号恢复成二进制信号波恰好是图2.中二进制信号波的垂直翻转。此阶段接收头的工作可以简单解释成:有脉冲串时输出低电平,没有脉冲串时则输出高电平。该红外接收头1脚GND接电源地,2脚VCC接+5V,3脚OUT为数据输出TTL电平,反相输出,能直接和单片机连接。 图 HS0038解调出的波形 二进制信号的解码接收单片机的解码工作,相当于将受到的波形复原成一开始发送端输出的信号。如图,把波形E解码复原成数据信息101。
19、传输开始8位数据传输结束20个脉冲高位在前,低位在后10个脉冲 图 红外信号的编码格式2.2 单片机红外接收硬件的电路设计红外接收硬件的电路设计如图2.2.1, IR是红外接收头的圆形面,用于接收红外信号,它和SE303发射管之间的有效距离是35m,在这个范围内能够进行有效的红外收发。 图 红外接收电路3脚接电源,2脚接地,一脚接单片机的P3.3外部中断0,在收到红外信号时,1脚处理之后把信号输送到单片机,使其暂停,进而开始解码工作。2.3 电机驱动模块目前直流电机已经普遍应用于遥控车,它有2个控制端口,能够根据接收的电平的异同来调整电机的工作。电机驱动单元的电路图如图2.3.1所示。图电机驱
20、动模块 P0.0P0.3电平的水平会影响直流电机M1、M2的转向,单片机就是通过调控这几个引脚的电平水平来调控电机的转向。引脚的电平为1010使,M1、M2正转,使小车往前走;引脚电平为0101时,M1、M2反转,使小车向后走;引脚电平为1001或0110时,M1和M2一个正转一个反转,使得小车能够向左向右走。然而只以单片机输出的电压来带动小车形势是完全不够的,其电压太小,不足以带动小车持续运行,因此我们选取了一种合适的电动机芯片来弥补这个不足。L9110芯片在性能上表现优秀,且造价不贵,又能够很好地兼顾到小车本身的重量和电压等其他要求,可以说是最适宜用于这个小车设计的芯片了。下面给出关于L9
21、110的相关数据手册。 图 LG9110的实物图特点: 低静态工作电流; 宽电源电压范围 2.5V-12V; 每通道具有800mA连续电流输出能力; 较低的饱和压降; TTL/CMOS输出电平兼容,可直接连接CPU; 输出内置钳位二极管,适用于感性负载; 控制和驱动集成于单片IC之中; 具备管脚高压保护功能; 图 LG9110管脚图管脚定义如表表 LG9110的管脚定义序号符号功能1OAA路输出管脚2VCC电源电压3VCC电源电压4OBB路输出管脚5GND地线6IAA路输入管脚7IBB路输入管脚8GND地线L9110有8个管脚,电源脚、接地脚、输入脚IA/IB、输出脚(OA/OB)各有2个,2
22、个输出脚与电机两极相连,2个输入脚与单片机相连,它们共同协作调控电机工作。图为L9110的硬件连接图。图 LG9110硬件连接图路况检测模块这个单元的工作主要由红外探头来负责,使用了简易且应用广泛地红外探测法来到达目的。发射器发出红外信号到达路面,再由路面返回接收器,因为黑色和白色物体反射回来的光的强度不同,红外装置就可以通过返回的光的强度来确定路况。图为这一单元的硬件框架图。 图 路况检测单元框架设计图发射管V1、V6、V3通电之后,往车前面和地面连续发出红外光,在前方有白墙或者普通路面就会反射回强度较高的红外光,使得V2、V5、V4接通,把低电平信号传到单片机P3.5-3.7,进行进一步的
23、信号识别处理。这一单元的检测可实现黑线检测和障碍物检测2个功能。2.4.1 寻迹模块在这一单元,我们在白纸上预设了一条无规则的弯曲黑线跑道,原理如上面表达的红外探头的工作原理,小车在行进时,探头连续向地面发出红外信号,白纸部分反射回的红外信号能够接通接收管信号通路,黑线部分则会吸收红外,不返回信号,这要求黑线跑道的宽度至少要比两个探头的距离宽,这才能够保证被检测到。寻迹模块设计实物如图所示。 图 小车前方探头实物如图,小车前方下部的两个透明物就是红外发射探头,两个黑色的就是红外接收探头,黑色路径的宽度只要要宽于这个尺寸,就能够确保小车寻迹行驶。当小车开始运行,如果在黑色路径之内,则没有红外信号
24、被返回,小车将继续行驶;如果稍微偏离黑色路径,红外信号就会返回接收管,是接收探头接通,将信号传递给单片机作判断,如果收到的是左边的接收器传来的信号,单片机就会发出向右转向的指令,如果收到的是右边的接收器传来的信号,单片机就会发出向左转向的指令。小车的按照一定的路径行驶就是通过这样的信号传递流程实现的。 智能防撞报警模块这一个单元对于现代汽车向进一步自动化方向发展非常有价值,也是一个非常实用,能够提高驾驶安全性的一个功能。如果车子能够自动判别前面有没有异物,并对驾驶员发出提醒,那么将在一定程度上减少交通事故的发生。当小车在空地上时,前面的2个探头会检测前方是否有异物,向下的4个探头会一同接到检测
25、信息,在小车遇到危险路况时比方山崖边,单片机就会根据探头传来的信号调整小车的行驶方向,并发出警示提醒,防止危险。本单元的设计如图所示。 图 防撞报警模块电路设计如果前方有异物,单片机就会给P0.6传递一个高电平信号,然后三极管V1被接通,接着连通报警器SB1,发出蜂鸣警示。如果前方路况正常无异物,那么红外接收探头就会收到反射回来的红外光,并传递给单片机一个低电平;同样的原理,在小车走到山崖边上时,由于山崖太深,发出去的红外信号返回距离太长不能被接收探头检测到,那么传递给单片机的就还是一个高电平信号,接着单片机就会对次信号进行判断并发出对应指令调整小车路径,同时发给报警器一个指令,发出蜂鸣提醒。
26、 3系统软件设计与实现为了方便使用程序,我们在软件设计方面做了一定的工作,把全部程序单元都嵌入遥控器,这样做的优点不止是方便使用,还能够节省CPU的存储空间,因为整个设计中有多个单元都需要进行即时检测,如果不做这样的嵌入的话,不但会占CPU空间,还会影响各单元的正常运行。各个单元的衔接如图3.1所示。遥控器输入单片机解码电机控制前进后退左右转黑线寻迹防撞报警 图3.1 程序模块连接遥控器发出信号后,单片机运行外部中断模式,对遥控器发出的信号实施解码操作,解码完毕后对照遥控器传来的数据信息向对应的单元发出运行指令,所有模块运行的结果指令由电机来实施,因此图3.1中所有的箭头最后都汇总于电机控制单
27、元。程序框图如图所示图 整体程序框图所有的控制单元都集中在一个遥控器内,因此串联起这个设计的角色就是红外信号的解码部分,它就像是开启这个系统的门。按下遥控器上的按钮发出红外信号时,1脚会将信号转换成脉宽波,并让单片机暂停运转,同时打开定时器和计数器。统计每个脉冲到达的时间和最终的数量,待一次红外信号的脉冲接收完毕后,计数器和定时器停止工作。然后开始识别此次信号的脉冲数量,假设31就舍掉,假设是0或1就存储下来,再进行进一步的判断,先跟前导码比较看是不是吻合,简单来说就是判断遥控器是否匹配,假设匹配就存储起来,之后核心程序再利用swich函数对其处理并发布指令。举例来说就是,按下向下按钮,核心程
28、序就用后退函数来使小车做出后退动作。初始化中断口是否有遥控信号输入是否有抖动进入解码计数脉冲个数同时计数单个脉冲宽度脉冲个数是否为32个数据解码并判断数据码和数据反码取非之后是否相等执行相关模块否是是否是否是否 图3.2 解码程序框图电机驱动在这个设计当中处于一个主导地位,所有单元,所有程序发出的命令,想要最终在小车的行驶动作上有所表达,都必须通过它。电机驱动能让小车实现的动作有前行、倒退、向左向右转和停止。这些动作并不是只能通过按下遥控器上相应的按钮才能实现,我们在设计程序时,为了使小车更加智能化,把前行、倒退、向左向右转和停止这些动作指令分别写成了函数,这样每个子单元的工作只要运行相应的函
29、数就能够实现。这样做就节省了很大的程序空间。比方说,在写入左转函数时,为了让小车实现左转的动作,仅给P0010就能实现,其他前行、后退等动作只要改变对应的赋值就可以完成动作。不过为了保险起见,减少失误,我们可再写入延迟函数,防止指令执行过于迅速损害电机。3.4 小车寻迹小车的主程序假设是监测到遥控器发出的寻迹信号,那么主程序就会通过调取设定好的寻迹函数进行寻迹。以下内容是关于寻迹功能设计的主要思路。首先,我们需要搞懂小车是如何进行寻迹功能的,关于它的原理已经陈述过,这里就不做过多说明,以免冗余。小车寻迹函数指的是:P3.5和P3.6,这两个函数作为实时扫描单片机管脚。小车左侧探头返回的信号由P
30、3.5管脚接受,p3.5=0代表的是左方探头正在跑离黑线,与此同时,实时扫描的单片机监测p3.5=0,立即调取右转函数,实现小车的右转功能。小车右侧探头返回的信号由P3.6管脚接受,同样的原理,当监测到右侧探头正在跑离黑线时,左转的寻迹函数立即被调取,实现小车的左转功能。如图3.4,关于小车寻迹功能设计的程序示意图。初始化探头跑出黑线了吗哪边探头有输入前进后退右转左转是否左左右均有右图3.4 小车寻迹程序示意图3.5 小车防撞与报警小车的防撞报警系统由主人来激活,在遇到阻碍小车前行或者有危险时,小车主程序监测到其防撞系统激活后,立刻调取p3.7函数。p3.7是小车内部防撞函数,借助小车的电机驱
31、动函数共同调控小车行驶路径,以防落入悬崖等危险情况,改变其行驶路径的同时并出发报警信号引起报警。如图3.5,关于小车防撞与报警的程序示意图。初始化前方有悬崖或障碍物吗前进后退并报警左转并报警是否 图3.5 小车防撞与报警程序示意图4 小车系统原理图如图4.1,关于小车的硬件电路总设计图最终主板PCB图前板PCB5 系统调试运用实验室现有的条件,根据成稿的硬件电路总设计图以及 pcb图来制作元件板,在焊接各种元件时,应当注意以下几点情况:1.电解电容的正负极区分。长为正极,短为负极;2.二极管的的正负极区分。长为正极,短为负极;3.话筒的正负区分。负极与外壳相连;4.蜂鸣器的正负极之分。长为正极
32、,短为负极;5.三极管按照电路板封装焊接;6.安装集成电路的芯片时,搞清楚各个缺口的对应关系,缺口一般在芯片或者底座的某一边,缺口对应的部位需要与封装对应的部位保持一致;7.小数点的一致性。焊接数码管应当保持管上小数点和电路板封装上的小数点一致。8.各个电机都应当焊接瓷片电容104,完成后还应当确保各个硬件完好无损,分别对各元件进行功能测试,假设有不适之处则应当调整。5.1 遥控发送接收调试我们还需要对厂家提供的遥控设备进行功能测试,保证遥控设备可以正常工作,可是如何测试呢?遥控设备一般都是集成的并且红外线发射器也是透明的,难以通过人的肉眼识别。针对这个问题,我们发现了一个巧妙的检测方法:首先
33、给遥控设备装上电源,再把 摄像头对准遥控设备的红外线发射器,我们随意按下一个按键,通过看 里红外线发射器能否产生光源,假设产生光源就证明了遥控设备质量没问题,反之则有问题。除了遥控设备的测试外,我们还应当对红外线接收器进行测试,测试其对红外线的接收功能是否正常。接收器的测试也很简单,把接收器的1号管脚与示波器进行连接,长时间按住遥控设备的按键,如果在示波器显示屏幕上看到有高低不等的波形以及脉冲,则可以说明红外线的接收无异常;如果连接之后没有任何反应,那么可能是接收器的问题,具体问题还应作进一步分析,是接收器的原因?还是内部元件损伤?亦或是焊接不成功导致连接短路?疑心以上原因应该重新对电路的连接
34、进行复查。完成了上述测试步骤之后,我们就可以通过烧写遥控设备的一些简单程序,进一步验证在改写程序后,其余程序能否正常解码。5.2 电机驱动调试关于电机驱动的正常与否,目前最便捷的方法是把干电池作为电机电源,然后分别将电源两级与直流电机的两级连接,这里有个小建议,就是在电机的两引脚间连接一个瓷片电容,这样做可以防止由于电流过大将电机烧坏,如果接上之后电机能正常翻转,那么说明电机功能完好。之后,按照自己的意愿对电机工作进行调整,在电动车驱动程序中可以设置一个反应时间,烧写完程序之后重新启动小车,通过看小车前进与后退或者转弯的速度、敏捷程度以及转向弧度是否合适,来调整其反应时间,不断进行调试以到达最
35、正确效果。5.3 寻黑线和防撞的调试在寻黑线和防撞的测试中,我们首先应该检测前板探头的探测功能,检验方法如同上述的红外接收器的检验方法。识别黑色信号的探头检测方法是:把小车放到白色路面上行驶,在小车的行驶路径上放置一个除黑色以外颜色的障物,然后用仪表测管脚P3.5/P3.6/P3.7的电压,读书为0的话则证明小车的电路正常,假设不为0则应当检验小车电路的完整性,确认是否属于电路故障等原因。另外,再进一步检验寻迹和报警功能,把小车放在两边白、中间黑的弯曲跑道上,观察小车的寻迹程序是否正常,小车转向是否灵敏,转向弧度是否合适,并根据自己的要求来调试小车的反应时间,使小车最终能够很好地按照跑道行驶。
36、总结通过这次毕业实验设计,我发现自己的能力大有提升,主要表现在提高了我的信息获取能力,撰写论文能力以及对知识的融会贯穿能力。因为一项创新设计仅仅靠已学到的书本上的知识是不够的,书本上的知识较为落后,必须紧跟当今时代的发展趋势,所以我通过互联网查阅了很多专业方向的文献,从别人的设计中找灵感,突破自己,锻炼自己。设计之后需要付诸于实践,我还必须考虑现实与理想的差距,期间仅关于方案实施的问题我就想老师讨教了不下十次,老师都很耐心地听取我的疑惑并给我非常有用的建议,然后我又翻阅书籍修改方案,在这过程中充满了艰辛与汗水,但我能在过程中学到这么多的知识,并且把学到的知识应用到实际中,提高了动手能力,着实开
37、心,实践才能使人进步。希望不管多少年之后,我都能一直记得保持一种不认输、不畏缩的精神,就如这次毕业设计,刚开始不知道以何定稿,充满疑惑,但是一步一步分解毕业设计后,我便有了方向,不再迷茫,一步一个脚印正是如此。学习文档 仅供参考学习文档 仅供参考参考文献1 宋建国:AVR单片机原理及应用A,北京航空航天大学出版社,1998.2,P35-P45 2 黄继昌:传感器工作原理及应用实例A,北京人民邮电出版社,1998.6,P32-P353 雷辉:基于AT89C2051的智能防撞报警器设计,电气时代J,2005.1,P44-P464吴爱萍: 基于AT89S51的多功能红外遥控器设计期刊论文-仪表技术与
38、传感器 2008(8)5洪刚:一种简易红外遥控键盘的设计期刊论文-重庆科技学院学报自然科学版 2008(4)6王建跃:红外遥控器编码方法期刊论文-工矿自动化 2005(z1)学习文档 仅供参考附录元件清单位号名称位号名称M1电机1接线座SIUILED数码管M2电机2接线座IR1红外接收头X1前端探测板接线座RX110K排阻9脚DC15KZ1R1220IC1STC89C52RCR2150IC2MAX232CPER31MIC3L9110集成电路R447KIC4L9110集成电路R5C110uF/16VR6560C2104R7560C3104R8560C4104R9560C510uF/16VR105
39、60C610uF/16VR11560C730PFR12560C830PFR13560C9104R14220C1010uF/16VR1510KC1110uF/16VR16560C1210uF/16VR17560C1310uF/16VR18560D1D8红色发光二极管R19560D9绿色发光二极管R20560S1按键开关R21560S2按键开关R22560S3按键开关R23560COM1DB9针串口R24560D1D2LED(前板用)R2510KV1发射头(前板用)R26560V2接收头(前板用)RL1光敏电阻V3发射头(前板用)SB1蜂鸣器V4接收头(前板用)B1话筒V5发射头(前板用)R122
40、0(前板用)V6接收头(前板用)R2560(前板用)R3220(前板用)R415K(前板用)R515K(前板用)R6220(前板用)R7560(前板用)R815K(前板用)9012红外遥控发射器V1V28550J1J2跳线帽系统程序#include /包含51单片机相关的头文件#define uint unsigned int /重定义无符号整数类型#define uchar unsigned char /重定义无符号字符类型uchar code LedShowData=0x03,0x9F,0x25,0x0D,0x99, /定义数码管显示数据 0x49,0x41,0x1F,0x01,0x19;
41、/0,1,2,3,4,5,6,7,8,9uchar code RecvData=0x07,0x0A,0x1B,0x1F,0x0C,0x0D,0x0E,0x00,0x0F,0x19;uchar IRCOM7;static unsigned int LedFlash; /定义闪动频率计数变量unsigned char RunFlag=0; /定义运行标志位bit EnableLight=0; /定义指示灯使能位/*完成基本数据变量定义*/sbit S1State=P10; /定义S1状态标志位sbit S2State=P11; /定义S2状态标志位sbit B1State=P12; /定义B1状态标志位sbit IRState=P13; /定义IR状态标志位sbit RunStopState=P14; /定义运行停止标志位sbit FontIRState=P15; /定义FontIR状态标志位sbit LeftIRState=P16; /定义LeftIR状态标志位sbit RightIRState=P17; /定义RightIRState状态标志位/*完成状态指示灯定义*/sbit S1=P32; /定义S1按键端口sbit S2=P34; /定义S2按键端口/*完成按键端口的定义*/ sbit LeftLed=P20;
限制150内