版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、三 江 学 院本科生毕业设计(论文)题 目 遥控小车控制系统设计 电气与自动化工程院(系)电气工程及其自动化专业指导教师 熊老师 职称 副教授 起讫日期 2015年3月2日-2015年6月13日 摘 要 当今社会,人们已经离不开遥控,研究遥控的对象越来越多,本文研究的红外遥控小车就是在这样的背景下提出的。 这款小车采用STC12C5A60S2作为控制核心,采用红外遥控原理将其应用到红外遥控小车上。遥控器通过单片机产生38kHz方波并编码进行红外发射,小车接收信号进行解码,经单片机对信号处理,判断地址码和指令码,进行相应的控制操作。采用PWM信号来产生不同的平均电压控制直流电机的转速。该小车可以
2、进行红外遥控,实现前进、后退、左转和右转等功能。 经软硬件联合调试,所设计的遥控小车运行平稳、正确,具有一定的应用价值。关键词:红外遥控小车;STC12C5A60S2单片机;编码;解码 ABSTRACTPeople are inseparable from the remote control in today's society, more and more remote control object is researched, this paper studies the infrared remote control car is put forward in the back
3、ground. The car uses STC12C5A60S2 as the core of the control, using the principle of infrared remote control was applied to the infrared remote control car. The remote control was encoded by MCU to produce 38 kHz square wave and infrared emission , The car decoding by MCU for signal processing after
4、 receiving signal, judging address code and order code, carries on the corresponding control operation. PWM signal is used to produce different average voltage control of DC motor speed. Was realized by the infrared remote control, the car can move forward, backward, turn left and turn right, and ot
5、her functions. The joint debugging of software and hardware, and the designed remote control car running smoothly and correctly.In the end ,the car has a certain application value.Key words: infrared remote control car; STC12C5A60S2 MCU;Coding;decoding 目 录第一章 绪论11.1 课题的工程背景、目的和意义11.2红外线11.2.1红外线的简介1
6、1.2.2红外线的应用21.3 国内外研究现状21.4 STC12C5A60S2单片机21.4.1 STC12C5A60S2单片机的简介31.4.2 STC12C5A60S2单片机的主要特点31.4.3 STC12C5A60S2单片机的主要参数31.5 论文的主要内容及章节安排3第二章 方案设计42.1 系统结构52.2模块选择52.2.1控制模块的选择52.2.2车身的选择62.2.3遥控控制模块的选择62.2.4电机的选择6第三章 硬件设计73.1控制模块STC12C5A60S2单片机83.2红外遥控发射模块93.3驱动模块103.4直流供电模块12第四章 软件设计134.1软件设计策略1
7、34.2红外发射程序134.3红外接收程序19第五章 测试环境205.1运行环境215.2小车实物图21致 谢22参考文献23 三江学院2015届本科生毕业设计(论文)0 第一章 绪论1.1 课题的工程背景、目的和意义智能小车,也称轮式机器人,是以当今社会的汽车为研究对象,通过智能控制能够自动运行奔跑的机器人。玩具遥控车是一种可以通过无线电遥控器远程控制的模型汽车。根据车身外型的不同,可以分为:普通的私家房车、越野车、货柜车、翻斗车等等。如现实生活中的越野车,不但可以在野外适应各种不同程度的路面状况,而且还能给人一种粗犷豪迈的驾驶优越感。然而,作为普通的小朋友、普通的游戏玩家来说,可以通过操作
8、一般的遥控玩具车,从而达到一定程度上得"驾驶快感"。随着汽车产业的迅速发展,对于汽车的研究也就越来越受人们关注。国内外每年都有对智能小车这方面研究的题目,全国各高校也都很重视对小车的研究。可见其研究意义很大。单片机的体积小,以其低成本,性价比好的特点,已经被应用于工业、交通、移动设备、智能家电等领域。本设计就是在这样的背景下提出的。 21世纪是高速发展的社会,是技术现代化、智能化的社会。随着红外技术的发展,红外遥控已经成为人们最常用的近距离无线通信方式。红外遥控是通过将数字信号用红外线送出去的方式实现的。由于使用方便、功耗低、抗干扰能力强,所以在智能产品行业中越来
9、越受到人们的重视,并在这几年来得到了迅猛发展;正是因为红外遥控有如此多的优点,所以本次设计是一种基于STC12C5A60S2的红外遥控控制。1.2红外线1.2.1红外线的简介红外线是太阳光线中众多不可见光线中的一种,波长在760纳米至1毫米之间,其波段处于微波和可见光之间。 我们可以利用红外线的这种激发机制来烧烤食物,红外线波长较长,给人的感觉是热的感觉,产生的效应是热效应,红外线频率较低,能量不够,远远达不到原子、分子解体的效果。红外线只能穿透了原子分子的间隙中,而不能穿透到原子、分子的内部,由于红外线只能穿透到原子、分子的间隙,会使原子、分子的振动加快、间距拉大,即增加热运动能量。1.2.
10、2红外线的应用红外线的应用,从日常生活到军工产品有1.红外线开关2.医疗保健3.遥控器4.红外接口5.防盗装置6.红外遥感7.红外侦察8.红外制导等。主要的应用事例如下:比如在夜间行走,夜视仪可以探测人体的热量,红外线成像; 测距仪可以测量距离,以红外线作为载波的一种测量距离的精密仪器; 理疗机在医疗方面使用,远红外线的热效应治疗; 热寻的导弹跟踪飞机尾部热量的导弹,著名的美国响尾蛇。 当今红外技术的一个重要分支是红外通信技术的应用,这个应用的发展非常迅速,尤其是红外通信应用于计算机设备中,科技的进步,红外线遥控技术的成熟,红外也成为了一种被广泛应用的通信和遥控手段。1.3 国内外研究现状随着
11、全球科技技术的飞速发展,人们对现场遥控以及红外通信的技术要求越来越高,尤其是在红外技术的巨大进步下背景下,大大加速了这个趋势。目前,国内外都开始研究和生产智能红外遥控系统,红外遥控已被广泛地应用到日常生活中及工业中,电视机遥控器、视频监控系统、电视演播系统、电视会议系统、微格教学系统、多媒体教学系统、工业智能控制等多种领域都有应用。可以说,红外遥控是人们在近距离无线通信方式中常用的,是生活在各个方面都体现着现代化,方便、简单是红外遥控电子产品的重要优势,现在,玩具用遥控的方式不但实现了商品化,而且产品的质量也越来越高,形成了许多系列和品种,具有准确度高,速度快,既方便又实用等诸多优点,能满足不
12、同层次的爱好者及不同模型的技术要求。国内外遥控小车的发展最近几年有如下几个趋势:(1) 遥控小车性能不断提高,其速度不断提高,质量得到保证,维修起来越来越方便,而且小车里面的核心部分的单片机售价越来越低。 (2)由遥控到智能化,小车无需人工控制,自动识别方向运行,能够在外界不干预的情况下正确的处理好突发情况。(3)其架构越来越小,以前一个模块就只能实现一个功能,而现在伺服电机、减速机和检测系统一体化后,整个小车看起来轻巧许多。1.4 STC12C5A60S2单片机1.4.1 STC12C5A60S2单片机的简介 STC12C5A60S2是一款完全兼容传统8051,速针对电机控制,强干扰场合,具
13、有高速,低功耗,超强抗干扰的新一代8051单片机。该系列单片机包含了中央处理器,程序存储器,数据存储器,计数/定时器,I/O接口,高速A/D转换,SPI接口,PCA,看门狗,片内R/C振荡器,外部晶体震荡器等。几乎包含了采集和控制所需的所有单元模块,可以说是一个片上系统。STC12C5A60S2内部有一个 PCA模块,PCA模块可实现软件定时器,捕获外部脉冲,高速输出,脉宽调制功能,而本设计就是运用了PCA的捕获功能实现了对编码器脉冲信号的捕获以及旋转方向的判断。1.4.2 STC12C5A60S2单片机的主要特点1、由于该单片机属于8051系列,所以片内自带4K的ROM/EPROM;2、该单
14、片机执行I/O口操作读外部状态是4个时钟;3、有完整的P4口,未扩展外部INT2/INT3中断;4、I/O口的驱动能力超强,驱动大电流时不容易烧坏;5、单片机的看门口寄存器里增加了看门狗复位标志位;6、外部时钟和内部时钟的结构上略有不同;7、环境适应能力强。1.4.3 STC12C5A60S2单片机的主要参数工作电压: 3.5V5.5V工作频率: 035MHZ型号: STC12C5A60S2时钟/机械周期: 1T时钟源外部:高精度晶体/时钟内部R/C振荡器R/C振荡器频率: 11MHZ17MHZ通用I/O口个数: 44个A/D转换速度: 250K/S工作温度: -40+85S(工业级)/075
15、(商业级)1.5 论文的主要内容及章节安排小车控制系统以STC12C5A60S2单片机为控制器,采用红外遥控,控制小车实现“前进”、“后退”、“左转”、“右转”等功能,考虑单片机经过处理将信号送入脉宽调速专用集成电路L298芯片,芯片L298接收到脉冲信号,控制左右2个电机的驱动,从而实现小车迹行走、前进、转弯、停止等功能。进行小车结构设计制作,绘制控制电路原理图和PCB图,制作电路板;进行软硬件调试。成功后,探讨其在日常生活和工程中的应用。本文从一开始介绍了遥控小车设计的目的意义,以及小车在国内外的现状。以及开展本课题研究的一些基本情况的绪论部分,本文还包括以下几个部分:第2章 ,进行了方案
16、的设计,要做成一个红外遥控小车我们要从多方面考虑,控制模块的选择:选用的是STC12C5A60S2;车身的选择:选用的是市场上用于实验室的小车车架(有机玻璃成分),小车底盘采用5mm 厚有机玻璃经激光切割整体成形(同时提供金属底盘),小车顶面采用激光切割的3mm有机玻璃,预留位置大,并在预留位置加工了多组安装孔,扩展能力强。利用小车的圆形底盘特性,在底面左右两边直流电机和放滑轮,后面二个万向轮起平衡小车作用;电机驱动模块的选择:选用的是L298,工作电压高,最高工作电压可达46V。输出电流大,瞬间峰值电流可达3A,持续工作电流为2A,内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动
17、机和步进电动机、继电器、线圈等感性负载;电池的选择:选用的是干电池,干电池易于购买,且符合此次设计的电压需求,6节干电池。第3章 ,硬件设计主要介绍:STC12C5A60S2单片机、红外遥控发射模块、驱动模块、直流供电模块:9v的干电池作为整个系统的电源。第4章 ,软件部分主要介绍:红外发射接收的原理和发射程序。运行的软件KeiluVision4软件是美国Keil Software公司推出的C语言程序开发软件。与汇编语言相比,C语言的主要优点是功能强大,可读性好,灵活方便,可移植性好。它吸收了高级语言的优点,有拥有低级语言的特点。KeiluVision开发环境集中了包括C编译器在内的许多功能。
18、Keil软件需要运行在WIN98以上的操作系统 第二章 方案设计2.1 系统结构本课题是设计一辆红外遥控小车。小车的电路系统由单片机STC12C5A60S2、红外遥控发射和接收模块、小车驱动和小车行动指示四个模块组成。小车的车身是采用购买来的小车模型。系统基本工作过程是基于单片机的控制,采用编码解码芯片发送和接收操作控制指令,并对信号快速处理。输出两路不同的信号给驱动模块L298来控制电机的动作。从而控制整个小车的运动。小车的运动完全取决于控制两个主动轮的直流电机。电机单个启动时小车实现左右转弯,电机同时运动时小车实现前进后退。小车后面装有2个懒轮来稳定小车的运动。这样的智能小车效果显著且使电
19、路简单化,直流电动机也具有优良的调速特性,调速平滑、方便,调整范围广,过载能力强,能承受频繁的冲击负载,还可以实现频繁的前进和后退等优点。整个小车系统功能框架见图2-1。左右电机STC12C5A60S2接收模块发射模块L298左右指示图2-1功能框架图2.2模块选择2.2.1控制模块的选择此部分是小车的核心部分方案1:采用可编程逻辑器件CPLD作为控制器。它具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价格大众化等特点,可实现较大规模的电路设计,因此被广泛应用于产品的原型设计和产品生产(一般在10,000
20、件以下)之中。但是本系统并不需要复杂的逻辑运算功能,对数据处理要求也并不很高。方案2:采用凌阳公司的16位单片机,它是16位控制器,具有体积小、驱动能力高、集成度高、易扩展、可靠性高、功耗低、结构简单、中断处理能力强等特点。处理速度高,尤其适用于语音处理和识别等领域。但是我们这系统并不需要强大的语音处理能力。方案3:采用STC12C5A60S2单片机作为主控制器。STC12C5A60S2是一个低功耗,高性能的8位单片机,片内含32K空间的Flash只读存储器,具有1280字节的随即存取数据存储器(RAM),36个IO口,4个16位可编程定时计数器。且STC12C5A60S2系列的单片机可以在线
21、编程、调试,方便地实现程序的下载与整机的调试2。 本文选用方案3。2.2.2车身的选择方案1:自己做一个小车车架。采用尼龙板制作,需要切割板并在板上打孔安装电机会大大加大本课题的设计的制作的时间。方案2:购买市场上的用于我们实验的小车车架。找到了现成的小车模型,小车底盘采用5mm 厚有机玻璃经激光切割整体成形(同时提供金属底盘),小车顶面采用激光切割的3mm有机玻璃,预留位置大,并在预留位置加工了多组安装孔,扩展能力强。利用小车的圆形底盘特性,在底面左右两边直流电机和放滑轮,后面二个万向轮起平衡小车作用。四个轮构成轿车状态,稳定车身,能够方便地实现转速、小车的直线前进与后退。直流电机更是容易控
22、制及调速,而且这种玩具车架一般都价格便宜。 本文采用方案2购买小车车架。2.2.3遥控控制模块的选择方案1:采用RF无线发射模块F05V、RF无线接收模块J04V,以及编码芯片PT2262解码芯片PT2272组成的无线遥控模块,此遥控模块在开阔地参考距离大于150米,而且能够在有障碍物的情况下实现遥控,但是实验室的不需要那么高精度的遥控。此模块也是红外遥控,自动解码和编码。此方案作为接口预留。方案2:采用红外遥控模块,采用红外发射器、红外接收器构成,这样的遥控方式控制距离比较短,在遇到障碍物时,对绕过障碍物的遥控能力比较差。但我们的小车不需要在有障碍物的情况下能灵活的运动。所以红外遥控可以适用
23、。 本文采用方案2。2.2.4电机的选择方案1:步进电机一般分为混合式、反应式和永磁式三种。混合式电机结合了反应式和永磁式两种电机的长处。有两相的和五相的。两相的步进电机步进角是1.8度两相的步进电机步进角0.72度。因此,混合式步进电机得以广泛使用。反应式步进电机通常是三相的。广泛应用在大转矩输出的场合。它的步进角是1.5度。主要缺点是震动很强且会产生很大噪声。永磁式步进电机通常是两相的。它的转矩以及体积都很小。它的步进角是15度和7.5度。方案2:直流电机的控制相对比较简单,但其定位精度不高,可用于对速度要求高,而对于位移的定位要求不高的场合;步进电机可实现精确定位,广泛应用于精确定位场合
24、,但其控制复杂。从本课题研究要求、控制要求以及性价比等综合方面考虑,我们采用方案2。2.2.5供电模块由于本设计中电机、芯片的供电电压不同。主电源要采用6节1.5v的干电池供电。芯片需要5v的电压,所以采用AMS1117满足不同模块的电压需要。第三章 硬件设计3.1控制模块STC12C5A60S2单片机 (1)STC12C5A60S2单片机功能介绍STC12C5A60S2是一种低功耗、高性能的新一代8051单片机,具有8K用户应用程序空间的存储器。指令代码完全兼容传统8051,但是速度快8-12倍。允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,增强型8051CPU,1T,单时钟/机
25、器周期,使得STC12C5A60S2为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。STC12C5A60S2具有以下标准功能:工作频率在0-35MHZ,1280字节RAM,36位I/O 口线,看门狗定时器,4个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC12C5A60S2 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8位微控制8K字节在系统可编程STC12
26、C5A60S2。(2)单片机的最小系统STC12C5A60S2单片机最小控制系统电路主要包括:单片机芯片、复位电路、时钟电路。如图3-1为单片机最小系统电路原理图。 图3-1单片机最小系统复位电路:41号引脚接复位电路,接高电平,复位引脚VCC接一个0.1UF的贴片电容,当输入5V电压时,由于复位电路有20K和10K的分压电阻,分压后受到1.66V的电压,当供电电压低于1.33V时产生复位,如果电压恢复后重新启动程序运行,可以设置成低电压中断,或者复位。当按键按下时,电压降到1.33V以下,产生复位。电源及时钟:电源采用5V电压供电接Vcc引脚,时钟采用24MHz晶振为系统提供时钟基准,振荡脉
27、冲信号从XTAL1和 XTAL2输入。与晶振相连的是两个30pF的电容,它是晶振的负载电容,会影响到晶振的谐振频率和输出幅度。3.2红外遥控发射模块 红外通信是利用红外技术实现两点近距离保密通信和信息转发的, 它一般由红外发射系统和接收系统两部分组成。发射系统对一个红外辐射源进行调制后发射红外信号, 接收系统则用光学装置和红外探测器进行接收, 这样就构成了红外通信系统, 并针通信系统常用的方法有两种, 即通过脉冲宽度来实现信号调制的脉宽调制(P W M )方法和通过脉冲串之间的时间间隔来实现信号调制的脉时调制(PPM)方法。本次毕业设计所使用的方法是PWM。矩阵键盘分两步:第一步是扫描有没有键
28、按下,第二步是扫描是哪个键按下的。首先我们要读取键盘的状态,获得它的的编码。我们可以举一个例子来说明如何获得按键的编码的:假设第一个键被按下,我们要得到它的编码,那么我们从P1口的高四位输出低电平,那么P1.4-P1.7为输出口。低四位输出高电平,那么P1.0-P1.3为输入口。P1口的低四位状态为1101,其值为0DH,类似的道理,P1口高四位输出高电平,那么P1.4-P1.7为输入口。低四位输出低电平,那么P1.0-P1.3为输出口。P1口的低四位状态为1110,其值为E0H,最后进行运算得到编码EDH,其他的15个键是同样的方式,得到它们的编码。 在红外遥控系统中, 虽然发射、接收芯片内
29、部均含有抗干扰及杂波滤除功能, 但红外干扰源对系统的影响仍无法完全避免; 另外, 某些意外情况也可能造成译码的错误. 为了提高系统的抗干扰能力, 杜绝误操作, 在软件上采用了多种抗干扰措施。 距离50米以内的2.4G无线模块,2.4G模块3V也可以供电,不一定用3.3V供电。市场上一般采用CC2500无线模块。其中工业场合,就用CC2500 IC 做的模块,如CC2500M无线模块;一般的应用场合,就用CC2500S无线模块。它采用TI公司的CC2500晶圆绑定,具有很高的性价比。该模块的尺寸大小为12*18mm,有效距离20到50米。最高速率250kbps(预留)。 红外发射灯部分电路主要组
30、成有红外发光管D1,限流电阻R9,三极管Q1(放大)和滤波的电阻R11、电容C5。对于三极管Q1,这个放大信号实际上是电源加在集电极上的信号,而不是三极管自身放大出来的。 三极管的放大原理实际上可以概括为用基极的小信号去控制三极管集电极上的电源信号,让它跟随基极信号变化而变化。 发射极与基极之间只相差一个PN结,而且在放大状态中这个结是正向导通的,导通电压0.7V,并不会随基极信号变化而变化;限流电阻R9减小负载端电流,例如这个电路发光二极管一端添加一个限流电阻可以减小流过发光二极管的电流,防止损坏LED灯;设置滤波电容C5会使电子电路的工作性能更加稳定,同时也降低了交变脉动波纹对电子电路的干
31、扰。见图3-2。 图3-2 红外发射模块3.3驱动模块采用L298作为电机的驱动模块。系统通过两台直流的减速电机提供动能,分别完成前进、后退、左转、右转四个动作。由于单片机型号不较弱,不可能驱动两个驱动扭矩大的直流电机,所以需要通过单片机控制L298电机驱动模块实现。在直流电机调速的时候,主要使用的是L298的线性放大功能和开关功能。L298是工作在线性区的。它的优点是易于控制,输出稳定。缺点是功率低下,不易散热。L298可接受标准TTL逻辑电平信号VSS,VSS可接457 V电压。4脚VS接电源电压,VS电压范围VIH为2546 V。输出电流可达25 A,可驱动电感性负载。1脚和15脚下管的
32、发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4输出为电机的接入端, IN1,IN2,IN3,IN4为单片机控制信号输入端,控制电机的正反转。控制输入端A端输入PWM信号,控制输入端B端输入PWM的反向信号,在一个PWM周期里,电机的电枢承受双极性的电压,电机的速度和方向均由PWM决定。占空比越大,平均电压越大。下图为原理图图3-3 驱动电路图 由于L298的逻辑电源采用5V供电,故其5、7、10、12四个引脚可直接连接到单片机上。通过单片机的片内程序可以实现两个直流电机的PWM调速以及正反转等功能。L298芯片是一种常
33、用的电机驱动芯片。根据数据手册可知,它的里面含有四通道的逻辑驱动电路。它以双H桥的独特结构而被广泛用于驱动两相和四相的电动机。使用逻辑电平对它进行控制,能承受46V的工作电压和2A的工作电流。其中的8个续流二极管是在电机换向和停止使用的,电机在转动,产生电流,二极管就是用来续流使用的。电机采用的是2个直流电机,型号:1B48-1812L,其额定电压:6V,电流限制在200mA以内,减速比在1:48。 L298控制逻辑真值表如表2-1所示。表3-1 L298控制逻辑真值表输入状态ENABLE A=H INPUT 1=H,INPUT 2=L电机正转 INPUT 1=L, INPUT 2=H电机反转
34、 INPUT 1=L, INPUT 2=L电机停止 INPUT 1=H, INPUT 2=H电机急停 3.4直流供电模块由于我们只有9v的干电池作为整个系统的电源,所以必须通过一个稳压电路来得到单片机及其他芯片的电源。 干电池广泛应用于社会生活的方方面面。普通干电池构造简单,多为锰锌电池。它主要由碳棒,石墨和二氧化锰的混合物以及纤维网组成。电池放电其实就是锌与氯化氨的电解反应,释放出的电荷由石墨传导给正极碳棒。由于锌的电解反应会产生增加电池内阻的氢气,因此需要石墨和二氧化锰混合物进行吸收。若电池长时间使用,石墨和二氧化锰不能充分吸收氢气,会造成电池内阻太大从而输出的电压太低。 此电路通过AMS
35、1117-5.0和AMS1117-3.3滤波、输出滤波电容来实现降压。AMS1117的片上微调把基准电压调整到1.5%的误差以内,而且电流限制也得到了调整,以尽量减少因稳压器和电源电路超载而造成的压力。使用起来可靠 、方便 ,而且价格便宜。 图3-4 降压电路第四章 软件设计23 4.1软件设计策略在硬件设计完成以后,进行软件设计,我们进行发射编码、接收解码以及遥控小车运行程序的编写。首先是让单片机有一个告诉脉冲口,脉冲的频率为38KHz,在这个基础上我们要实现64个地址码,则用二进制表示是从000000111111,在输入有脉冲串时,输出端输出低电平,否则输出高电平。这是编码解码原理。红外遥
36、控是以调制的方式发射数据,就是把数据和一定频率的载波进行“与”操作,这样既可以提高发射效率又可以降低电源功耗。4.2红外发射程序程序的设定,首先是初始化定时器0和1。接着是定时器0每26s中断一次,反转一个参数Led=38k,根据这个参数,让单片机发射38kHz的方波,载波的程序就是这个流程。接着是利用定时器1每隔200s中断一次,高电平是中断4次先输出低,中断4次再输出高。低电平是中断2次为低,中断2次为高,再中断4次为低。这就是对于01的编码,一共输出8位,再与单片机发射载波38KHz相与得到信号,这个就是红外发射电路的编码信号。键盘红外发射扫描主要程序如下:while (1) MainL
37、oopCounter+;KeyCode= KeybrdScan();/按键扫描if(KeyCode=0) while(KeyCode!=255)KeyCode=KeybrdScan();/赋值IndicatorCode = 0;/接收码为0SendCode = (AdressCode<<8)+IndicatorCode;/按键是否按下IrTimeCnt = IrGuideTimeCnt;/定时CR = 1;/计数if(KeyCode=1) while(KeyCode!=255)KeyCode=KeybrdScan();IndicatorCode = 1;/发送的信号SendCode
38、 = (AdressCode<<8)+IndicatorCode;IrTimeCnt = IrGuideTimeCnt;CR = 1;if(KeyCode=2) while(KeyCode!=255)KeyCode=KeybrdScan();IndicatorCode = 2;SendCode = (AdressCode<<8)+IndicatorCode;IrTimeCnt = IrGuideTimeCnt;CR = 1;if(KeyCode=3) while(KeyCode!=255)KeyCode=KeybrdScan();IndicatorCode = 3;Se
39、ndCode = (AdressCode<<8)+IndicatorCode;IrTimeCnt = IrGuideTimeCnt;CR = 1;if(KeyCode=4) while(KeyCode!=255)KeyCode=KeybrdScan();IndicatorCode = 4;SendCode = (AdressCode<<8)+IndicatorCode;IrTimeCnt = IrGuideTimeCnt;CR = 1;if(KeyCode=5) while(KeyCode!=255)KeyCode=KeybrdScan();IndicatorCode
40、= 5;SendCode = (AdressCode<<8)+IndicatorCode;IrTimeCnt = IrGuideTimeCnt;CR = 1;if(KeyCode=6) while(KeyCode!=255)KeyCode=KeybrdScan();IndicatorCode = 6;SendCode = (AdressCode<<8)+IndicatorCode;IrTimeCnt = IrGuideTimeCnt;CR = 1;if(KeyCode=7) while(KeyCode!=255)KeyCode=KeybrdScan();Indicato
41、rCode = 7;SendCode = (AdressCode<<8)+IndicatorCode;IrTimeCnt = IrGuideTimeCnt;CR = 1;if(KeyCode=8) while(KeyCode!=255)KeyCode=KeybrdScan();IndicatorCode = 8;SendCode = (AdressCode<<8)+IndicatorCode;IrTimeCnt = IrGuideTimeCnt;CR = 1;if(KeyCode=9) while(KeyCode!=255)KeyCode=KeybrdScan();In
42、dicatorCode = 9;SendCode = (AdressCode<<8)+IndicatorCode;IrTimeCnt = IrGuideTimeCnt;CR = 1;if(KeyCode=10) while(KeyCode!=255)KeyCode=KeybrdScan();IndicatorCode = 10;SendCode = (AdressCode<<8)+IndicatorCode;IrTimeCnt = IrGuideTimeCnt;CR = 1;if(KeyCode=11) while(KeyCode!=255)KeyCode=Keybrd
43、Scan();IndicatorCode = 11;SendCode = (AdressCode<<8)+IndicatorCode;IrTimeCnt = IrGuideTimeCnt;CR = 1;if(KeyCode=12) while(KeyCode!=255)KeyCode=KeybrdScan();IndicatorCode = 12;SendCode = (AdressCode<<8)+IndicatorCode;IrTimeCnt = IrGuideTimeCnt;CR = 1;if(KeyCode=13) while(KeyCode!=255)KeyC
44、ode=KeybrdScan();IndicatorCode = 13;SendCode = (AdressCode<<8)+IndicatorCode;IrTimeCnt = IrGuideTimeCnt;CR = 1;if(KeyCode=14) while(KeyCode!=255)KeyCode=KeybrdScan();IndicatorCode = 14;SendCode = (AdressCode<<8)+IndicatorCode;IrTimeCnt = IrGuideTimeCnt;CR = 1;if(KeyCode=15) while(KeyCode
45、!=255)KeyCode=KeybrdScan();IndicatorCode = 15;SendCode = (AdressCode<<8)+IndicatorCode;IrTimeCnt = IrGuideTimeCnt;CR = 1; 4.3红外接收程序接收红外信号后,单片机检测到I/O的电位发生变化,从而进入单片机进行程序判断。并通过p2.2p2.4口输出不同的信号给驱动芯片,驱动电机转动。如果没有信号输入,单片机会一直检测I/O口的信号变化,区分出指令发出的要求。关键程序如下: while (1) if( ( AdressCode = (IrRecvedCode>
46、>8) ) && (1 = FlagRecvedOk) )/判断地址码IndicatorCode = IrRecvedCode;/接受码赋给指令码switch(IndicatorCode)case 0:if(IrRecCodeLst != IrRecvedCode)FreeStopCar();/自由停止break;case 3:if(IrRecCodeLst != IrRecvedCode)EmStopCar();/急停break;case 5:if(IrRecCodeLst != IrRecvedCode)FwrdCar(); /前进break;case 1:if(Ir
47、RecCodeLst != IrRecvedCode)BckCar(); /后退break;case 6:if( (1 = StatusCar) | (5 = StatusCar) )AccSpeedCar();/速度增加break;case 2:if( (1 = StatusCar) | (5 = StatusCar) )DecSpeedCar();/速度减小break;case 9:if(IrRecCodeLst != IrRecvedCode)LeftCar(); /左转break;case 10:if(IrRecCodeLst != IrRecvedCode)RightCar(); /
48、右转break;case 8:if(9 = StatusCar)LeftAccCar();/左转增加break;case 4:if(9 = StatusCar)LeftDecCar();/左转减小break;case 11:if(10 = StatusCar)RightAccCar();/右转增加break;case 7:if(10 = StatusCar)RightDecCar();/右转减小break;default:break;/switch endIrRecCodeLst = IrRecvedCode;/最后接受码赋给指令码FlagRecvedOk = 0;/指令为0/if end WDT_CONTR |= 0x10;/看门狗 if(9155 < Wakeup_Counter)/若自由停止状态5分钟,进入掉电模式 Is_Power_Down =1;PCON = 0x02; /while end第五章 测试环境5.1运行环境课题研究的软件编写和编译部分是基于KeiluVision4软件的。KeiluVision4软件是美国Keil Software公司推出的C语言程序开发软件。与汇编语言相比,C语言的主要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐饮采购定价考核制度
- 家电零售考核制度范本
- 残联编外人员考核制度
- 乡镇爱卫奖惩考核制度
- 如何完善绩效考核制度
- 成套公司员工考核制度
- 主体责任述职考核制度
- 治风工作纳入考核制度
- 镀铝车间主任考核制度
- 小学意识形态考核制度
- 安吉物流考核制度
- DB37∕T 4985-2025 农村公路交通安全设施设置规范
- 湖南省常德市2025-2026学年度上学期2月高三检测考试(一模)政治试题( 含答案)
- 2026年春季学期学校共青团工作计划
- 2026年热流体力学基础
- 2025-2026学年第二学期学校办公室工作计划:创新赋能共促发展
- 中储粮招聘笔试试题及答案
- 系统运维培训课件
- 写作:考虑目的和对象:笔为心声 文因人定(情境任务教学设计)语文新教材统编版八年级下册
- 职业教育人工智能应用发展报告(2024-2025)
- 2025年山东城市服务职业学院单招职业适应性测试题库附答案
评论
0/150
提交评论