红外遥控赛车软件算法设计毕业论文.doc

上传人:韩长文 文档编号:3965481 上传时间:2019-10-11 格式:DOC 页数:32 大小:1.44MB
返回 下载 相关 举报
红外遥控赛车软件算法设计毕业论文.doc_第1页
第1页 / 共32页
红外遥控赛车软件算法设计毕业论文.doc_第2页
第2页 / 共32页
红外遥控赛车软件算法设计毕业论文.doc_第3页
第3页 / 共32页
红外遥控赛车软件算法设计毕业论文.doc_第4页
第4页 / 共32页
红外遥控赛车软件算法设计毕业论文.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《红外遥控赛车软件算法设计毕业论文.doc》由会员分享,可在线阅读,更多相关《红外遥控赛车软件算法设计毕业论文.doc(32页珍藏版)》请在三一文库上搜索。

1、 目目 录录 1 1 引引 言言2 2 1.1 红外遥控技术背景 .2 2 2 总体设计方案总体设计方案4 4 2.1 方案:红外遥控控制小车 .4 3 3 NECUPD6121GNECUPD6121G 红外遥控系统红外遥控系统 5 5 3.1 NECUPD6121G.5 3.2 简单发射电路 .5 3.3 发射编码及信号波形 .6 4 4 AT89S52AT89S52 单片机单片机 1111 4.1 AT89S52 单片机 11 5 5 L298NL298N 驱动模块驱动模块 1616 5.15.11 L298N 驱动模块说明16 5.2 L298 芯片驱动参数16 5.3 功能简图 16

2、6 6 遥控赛车系统框图及电路设计遥控赛车系统框图及电路设计1919 6.1 系统框图及电路设计 19 7 7 红外遥控赛车程序设计红外遥控赛车程序设计 2020 7.1 红外信号解码设计框图 20 7.2 红外接收软件设计 22 结结 束束 语语2424 参考文献参考文献2525 附录一:电路原理图附录一:电路原理图2626 附录二:赛车实物图附录二:赛车实物图2727 附录三:程附录三:程序序清单清单2828 1 红外遥控赛车软件算法设计 摘要摘要: :通过对设计要求的认真分析和研究,拿出了几种可行方案,最终选定一个最佳方案。 该方案是采用先进的单片机技术实现遥控,采用模块化设计,主要分为

3、两个模块:红外遥控 模块和 L298 电机驱动模块。红外发射模块中通过 Upd6121G 红外遥控器发射管对单片机发射 信号,红外接收模块中的单片机受红外接收管接收的信号控制。文章详细的讨论了实现上述 红外遥控过程其工作原理和软件设计。 关键词:关键词:遥控器 红外发射 红外接收 单片机 2 1 引 言 1.1 红外遥控技术背景 红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低, 成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用 到计算机系统中。 60 年代初,一些发达国家开始研究民用产品的遥控技术,单由于受当时技术条件限制, 遥控技术

4、发展很缓慢,70 年代末,随着大规模集成电路和计算机技术的发展,遥控技术得 到快速发展。在遥控方式上大体经理了从有线到无限的超声波,从振动子到红外线,再到使 用总线的微机红外遥控这样几个阶段。无论采用何种方式,准确无误传输新信号,最终达到 满意的控制效果是非常重要的。最初的无线遥控装置采用的是电磁波传输信号,由于电磁波 容易产生干扰,也易受干扰,因此逐渐采用超声波和红外线媒介来传输信号。与红外线相比, 超声传感器频带窄,所能携带的信息量少,易受干扰而引起误动作。较为理想的是光控方式, 逐渐采用红外线的遥控方式取代了超声波遥控方式,出现了红外线多功能遥控器,成为当今 时代的主流。 由于红外线在频

5、谱上居于可见光之外,所以抗干扰性强,具有光波的直线传播特性,不 易产生相互间的干扰,是很好的信息传输媒体。信息可以直接对红外光进行调制传输,例如, 信息直接调制红外光的强弱进行传输,也可以用红外线产生一定频率的载波,再用信息对载 波进调制,接收端再去掉载波,取到信息。从信息的可靠传输说,后一种方法更好,这就是 我们今天看到的大多数红外遥控所采用的方法。由于红外线的波长远小于无线电波的波长, 因此在采用红外遥控方式时,不会干扰其他电器的正常工作,也不会影响临近的无线电设备。 红外遥控的发射电路是采用红外发光二极管来发出经过调制的红外光波;红外接收电路 由红外接收二极管、三极管或硅光电池组成,它们

6、将红外发射器发射的红外光转换为相应的 电信号,再送后置放大器。 发射电路驱动电路 调制电路 编码电路 图 1 红外发射框图 发射器一般由指令键(或操作杆)、指令编码系统、调制电路、驱动电路、发射电路等几 部分组成。当按下指令键或推动操作杆时,指令编码电路产生所需的指令编码信号,指令编 码信号对载波进行调制,再由驱动电路进行功率放大后由发射电路向外发射经调制定的指令 编码信号。 指令键 3 图 2 红外接收框图 接收器一般由接收电路、放大电路、调制电路、指令译码电路、驱动电路、执行电路 (机构)等几部分组成。接收电路将发射器发出的已调制的编码指令信号接收下来,并进行放 大后送解调电路,解调电路将

7、已调制的指令编码信号解调出来,即还原为编码信号。指令译 码器将编码指令信号进行译码,最后由驱动电路来驱动执行电路实现各种指令的操作控制。 1.2 单片机 单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常 用英文字母的缩写 MCU 表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有 CPU 的专用处理器发展而来。最早的设计理念是通过将大量外围设备和 CPU 集成在一个芯片 中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。 以单片机为核心的控制系统,因为其实时控制功能强,可靠性高,实用性强,应用范围 广等优点,得到了极

8、为广泛的应用。随着人们生活水平的不断提高,单片机控制无疑是人们 追求的目标之一,它所给人带来的方便也是不可否定的,其中红外遥控就是一个典型的例子, 但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需 要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。因此了解单片机知识, 掌握单片机的应用技术具有重大的意义。它的理论性和实践性都很强,我们在理论课学习中 主要学习单片机的基本构造,各部分的工作原理以及指令系统,然而,光是理论的学习是远 远不够的,最重要的是把理论和实践相结合。 所以此次实习,通过设计一个基于 AT89S52 单片机的遥控器设计,以增进对单片机

9、电路 的感性认识,加深对理论方面的理解和巩固,了解和掌握软硬件设计过程、方法及实现,增 强自己的动手和实践能力,为以后在工作和学习中,设计和实现应用系统打下良好基础。 4 2 总体设计方案 根据任务书的要求,利用无线发射无线接收远程控制单片机从而控制小车运行,可以拟 定以下方案。 2.12.1 方案:红外遥控方案:红外遥控控制小车控制小车 在不需要多电路的应用场合,可以使用由常规集成电路组成的单通道红外遥控电路。这 种遥控电路不需要使用昂贵的专用编译码器,因此成本低。以 NEC 的 Upd6121G 遥控器为例 小巧便携成本低廉且功耗小,一颗银锌纽扣电池可使用半年之久。故实用性强。 红外发射部

10、分 产生震荡频率红外发射 图 3 红外发射框图 可以直接产生一个控制功能的震荡电路频率,再通过红外发光二极管发射出去。由 SM0038 红外接收芯片进行解码输出 TTL 电平信号,单片机接收到红外指令根据程序控制 L298N 电机驱动模块进而控制小车运行。 红外接收部分 图 4 红外接收框图 红外接收 L298 驱动 单片机 调制解调 小车运行 5 3 NECUpd6121G 红外遥控系统 3.1 NECUpd6121G 日本电气股份有限公司(日文:日本电気株式会社,英文:NEC Corporation,Nippon Electric Company, Limited 的简称)简称日本电气或日

11、电或 NEC,是一家跨国信息技术公 司,总部位于日本东京港区。NEC 为商业企业、通信服务以及政府提供信息技术(IT)和网 络产品。它的经营范围主要分成三个部分:IT 解决方案、网络解决方案和电子设备。 采用 Upd6121G 编码协议的红外线遥控是目前使用最广泛的一种通信和遥控手段。由于 红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后, 在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业 设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有 效地隔离电气干扰。 通用红外遥控系统由发射和接收两大部分组成

12、,应用编/解码专用集成电路芯片来进行 控制操作,发射部分包括键盘矩阵、编码调制、LED 红外发送器;接收部分包括光、电转换 放大器、解调、解码电路,如图 5 所示。 L 发射端 接收端 图 5 红外遥控系统框图 3.2 简单发射电路 红外线属于一种电磁射线,其特性等同于无线电或 X 射线。人眼可见的光波是 380nm- 780nm,发射波长为 780nm-1mm 的长射线称为红外线.尽管肉眼看不到这种光线,但利用红外 线发送和接收装置却可以发送和接收红外线信号,实施红外线通讯。利用红外线通讯无需连 线,只需将两设备的红外线装置对正即可传输数据。红外线通讯方向性很强,适用于近距离 的无线传输。完

13、整的红外遥控器电路主要由:集成发射芯片、晶体振荡器、红外线发射管、 推动晶体三极管、导电橡胶等组成,如图 6 所示。 6 图 6 最简单的红外发射接收电路 3.3 发射编码及信号波形 遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛, 解码比较容易的一类来加以说明,现以日本 NEC 的 uPD6121G 组成发射电路为例说明编码原 理。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具 有以下特征: 采用脉宽调制的串行码,以脉宽为 0.565ms、间隔 0.56ms、周期为 1.125ms 的组合表 示二进制的“0” ;以脉宽为 0.565m

14、s、间隔 1.685ms、周期为 2.25ms 的组合表示二进制的 “1” ,如图 7 所示。 图 7 遥控码的 0 和 1 波形图 上述“0”和“1”组成的 32 位二进制码经 38kHz 的载频进行二次调制以提高发射效 率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射。 UPD6121G 产生的遥控编码是连续的 32 位二进制码组,其中前 16 位为用户识别码, 能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进 制 01H;后 16 位为 8 位操作码(功能码)及其反码,如图 8 所示。 红外信号有方向性要对准红外信号有方向性要对准

15、才能接收,接收到信号后才能接收,接收到信号后 Vout 输出高电平,否则输出低电平输出高电平,否则输出低电平 缺点:缺点:1 1 抗干扰性差抗干扰性差 2 2 传输距离短传输距离短 3 3 传输信息量少传输信息量少 解决方法:解决方法:1、加载波、加载波 2、使用专用编码芯片、使用专用编码芯片 7 图 8 遥控信号发射编码 遥控器在按键按下后,周期性地发出同一种 32 位二进制码,周期约为 108ms。一组码 本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在 58.576.5ms 之间,图 9 为发射波形图。 图 9 一帧完整波形图 当按键按下超过 36ms,振荡器使芯片激

16、活,如图 06 所示将发射一组 108ms 的编码脉冲,这 108ms 发射代码由一个起始码(9ms),一个结果码(4.5ms),低 8 位地址码(9ms18ms)高 8 位地址码(9ms18ms),8 位数据码(9ms18ms)和这 8 位数据的反码(9ms18ms)组成。 8 图 10 红外编码图 如果键按下超过 108ms 仍未松开时,如图 07 所示每隔 108ms 输出一帧 9ms 载波+2.25ms 关断+0.56ms 载波的信号,直至释放接下来发射的代码(连发代码)代码格式,这种连发代 码常用于电视遥控器长按连续增加音量等功能。 图 11 长按按键的红外波形图 注:代码宽度算法:

17、 16 位地址码的最短宽度:1.1216=18ms 16 位地址码的最长宽度:2.24ms16=36ms 易知 8 位数据代码及其 8 位反代码的宽度和不变:(1.12ms+2.24ms)8=27ms 32 位 代码的宽度为(18ms+27ms)(36ms+27ms) 1 解码的关键是如何识别“0”和“1” ,从位的定义我们可以发现“0” 、 “1”均以 0.56ms 的低电平开始,不同的是高电平的宽度不同, “0”为 0.56ms,“1”为 1.68ms,所以 必须根据高电平的宽度区别“0”和“1” 。如果从 0.56ms 低电平过后,开始延时,0.56ms 以后,若读到的电平为低,说明该位

18、为“0” ,反之则为“1” ,为了可靠起见,延时必须比 0.56ms 长些,但又不能超过 1.12ms,否则如果该位为“0” ,读到的已是下一位的高电平, 因此取(1.12ms+0.56ms)/2=0.84ms 最为可靠,一般取 0.84ms 左右均可。 2 根据码的格式,应该等待 9ms 的起始码和 4.5ms 的结果码完成后才能读码。 3.4 红外接收解码系统 9 红外接收电路一体化的红外接收装置将遥控信号的接收、放大、检波、整形集于一身, 并输出可以让单片机识别的 TTL 信号,这样大大简化了接收电路的复杂程度和电路的设计 工作。在本系统中我们采用红外一体化接收头 SM0038,外观及红

19、外接收电路如图 08 所示。 SM0038 黑色环氧树脂封装,不受日光、荧光灯等光源干扰,内附磁屏蔽,功耗低,灵敏度 高。在用小功率发射管发射信号情况下,其接收距离可达 35m。它能与 TTL、COMS 电路兼容。 SM0038 为直立侧面收光型。三个管脚分别是地、5 V 电源、解调信号输出端。 图 12 SM0038 引脚图和原理图 SM0038 接收红外信号频率为 38 kHz,周期约 26 s,同时能对信号进行放大、检波、 整形,得到 TTL 电平的编码信号。 TTL 电平信号被利用的最多是因为通常数据表示采用二 进制规定,+5V 等价于逻辑“1” ,0V 等价于逻辑“0” ,这被称做

20、TTL(晶体管-晶体管逻辑 电平)信号系统,这是计算机处理器控制的设备内部各部分之间通信的标准技术。经过 SM0038 调解后的波形由 OUT 输入单片机的 P33 口,单片机识别后得到 TTL 电平的编码信号, 对其信号进行解码翻译,以脉宽为 0.565ms、间隔 0.56ms、周期为 1.125ms 的组合表示二 进制的“0” ;以脉宽为 0.565ms、间隔 1.685ms、周期为 2.25ms 的组合表示二进制的“1” 。 这样就得出了一连串的数据,再根据编码程序对数据赋予的含义,就可以完整的接收和翻译 出所要实现的功能,如图 13 所示。 a SM0038 10 b 图 13 一帧

21、SM0038 调解后的波形 11 4 AT89S52 单片机 4.1 AT89S52 单片机 本次设计所使用的单片机是Atmel公司的AT89S52芯片,AT89S52是一种低功耗、高性能 CMOS8位微控制器,具有8K 在系统可编程Flash存储器。使用Atmel 公司高密度非易失性存 储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统 可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使 得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标 准功能:8k字节Flash,2

22、56字节RAM,32位I/O 口线,看门狗定时器,2个数据指针三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被 冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 AT89S52 的引脚图如图 14 所示: 图 14 AT89S52 引脚图 AT89S52 单片机引脚注释: VCCVCC : 电源 GNDGND: 地 P0P0 口口:P0口是一个8位漏极开路的双

23、向I/O口。作为输出口,每位能驱动8个TTL逻辑电 平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也 12 被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在 flash编程时,P0口 也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1P1 口口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P2P2 口口

24、:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外 部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高 八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接 收高8位地址字节和一些控制信号。 P3P3 口口:P3 口是一个

25、具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作 为AT89S52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口也接收一 些控制信号。 RSTRST: 复位输入。晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位。看门狗 计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位 可以使此功能无效。DISRTO默认状态下,复

26、位高电平有效。 ALE/PROGALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输 出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。 在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时 钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要, 通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE 仅在执行 MOVX 或MOVC指令时有效。否则,ALE 将被微弱拉高。这个ALE 使能标志位(地址为8EH的 SFR的第0位)的设置对微控制器处于外部执行模式

27、下无效。 PSENPSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当 AT89S52从外 部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器 时,PSEN将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外 部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编 13 程期间,EA也接收12伏VPP电压。 XTAL1XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2XTAL2:振荡器反相放大器的输出端。 4.2 时钟电路 单片机的时钟电路由振荡

28、电路和分频电路组成,其振荡电路由反相器以及并联外接的石 英晶体和电容组成,用于产生振荡脉冲。分频电路用于把振荡脉冲分频,以的到所需要的时 钟信号。 图 15 晶振电路 振荡电路如图 11 所示:其输入端为引脚 XTAL1,输出端为引脚 XTAL2。通过这两个引脚 在芯片外并接石英晶体振荡器和两只电容,石英晶体为一感性原件,与电容构成振荡回路, 为片内放大器提供正反馈和振荡的相移条件,从而构成一个稳定的自激振荡器。振荡器的频 率主要取决于晶体的振荡频率, 一般晶体可在 1.212 MHz 之间任选, 电容 C1、 C2 可在 530 pF 之间选择, 电容的大小对振荡频率有微小的影响, 可起频率

29、微调作用。 振荡脉冲经二分频后作为系统的时钟信号,时钟信号经过三分频产生 ALE 信号,ALE 信 号用于控制把 P0 口的低 8 位地址送入锁存器锁起来,以实现低地址和数据的分时传送,ALE 还可作为外部时钟或外部脉冲使用。时钟信号经六分频得到机器周期信号。 4.3 中断系统 A 中断的概念 当 CPU 与外设交换信息时,由于外设的速度比较慢,若用查询的方式,则 CPU 就要浪费 很多时间去等待外设。这样就存在一个快速的 CPU 与慢速的外设之间的矛盾。为了解决这个 问题,就发展了中断的概念。 CPU 正在处理某一程序时,发生了另一突发事件请求 CPU 迅速去处理(中断发生);CPU 14

30、暂时停止当前的工作,转到需要处理的中断源的服务程序的入口(中断响应),一般在入口处 执行一跳转指令转去处理中断事件(中断服务);待 CPU 将中断事件处理完毕后,再回到原来 程序被中断的地方继续处理执行程序(中断返回),这一处理过程称为中断。 51 单片机的中断系统提供 5 个中断源:外部中断 0 和外部中断 1,定时/计数器(T0)和 (T1)的溢出中断,串行接口的接收和发送中断。本程序中只用到了外部中断 1。 B 中断控制 1 中断允许寄存器 IE(A8H) CPU 对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器(IE)控制的。 IE 各位的定义如表 1 所示: 表 1 中

31、断允许寄存器 IE: 位地 址 0AFH0AEH0ADH0ACH0ABH0AAH0A9H0A8H 位符 号 EA/ESET1EX1ET0EX0 EA中断允许总控制位 EA0中断总禁止,禁止所有中断 EA1中断总允许,总允许后中断的禁止或允许由各中断源的中断允许控制位设置。 EX0 和 EX1外部中断允许控制位 EX0(EX1)0禁止外部中断 ET0 和 ET1定时器/计数器中断允许控制位 ET0(ET1)0禁止定时器/计数器中断 ET0(ET1)1允许定时器/计数器中断 ES串行中断允许控制位 ES=0禁止串行中断 ES=1允许串行中断 2 中断优先级控制寄存器(IP) 各中断的优先级通过中断

32、优先级控制寄存器 IP 来设定,其未定义及位地址如表 2 所示: 表 2 中断优先级控制寄存器: 15 位地址 0 BFH 0BE H 0BD H 0BC H 0BB H 0BA H 0B9 H 0B8 H 位符号 /PSPT1PX1PT0PX0 PX0外部中断 0 优先级设定位; PT0定时中断 0 优先级设定位; PX1外部中断 1 优先级设定位; PT1定时中断 1 优先级设定位; PS串行中断优先级设定位。 3 定时器控制寄存器(TCON) 该寄存器用于保存外部中断请求以及定时器的计数溢出。进行字节操作时,寄存器地址 为 88H。按位操作时,各位的地址为 88H8FH。寄存器的内容及位

33、地址表示如表 3 所示: 表 3 定时器控制寄存器: 位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 位符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 IE0 和 IE1外中断请求标志位。当 CPU 采样到 INT0(或 INT1)端出现有效中断请 求时,IE0(IE1)位由硬件置“1”。 当中断响应完成转向中断服务程序时,由硬件把 IE0(或 IE1)清零。 TR0 和 TR1定时器运行控制位: TR0 (TR1 )0定时器/计数器不工作 TR0 (TR1 )1定时器/计数器开始工作 TF0 和 TF1计数溢出标志位。当计数器产生计数溢出时,相应

34、的溢出标位 硬件置“1”。 并自动产生定时中断请求。 16 5 L298N 驱动模块 5.15.11 L298N 驱动模块说明 L298 是 SGS 公司的产品,比较常见的是 15 脚 Multiwatt 封装的 L298N,内部同样包含 4 通道逻辑驱动电路。可以方便的驱动两个直流电机,可以直接驱动两路 3-30V 直流电机, 并提供了 5V 输出接口,可以给 5V 单片机电路系统供电,支持 3.3VMCU 控制,可以方便的控 制直流电机速度和方向,也可以控制 2 相步进电机如图 16 所示。 图 12 图 16 L298 控制电路 5.2 L298 芯片驱动参数 1.驱动芯片:全新原装 L

35、298N 双 H 桥驱动芯片 2.驱动部分端子供电范围 VMS:5V30 V 3.驱动部分峰值电流 Io:2 A 4.逻辑部分端子供电范围 Vss:3.3-5.5 V 5.逻辑部分工作电流范围:047 mA 6.控制信号输入电压范围:高电平 4.5-5.5V 低电平 0 V 7.最大功耗:20 W 8.存储温度:25130 9.驱动板尺寸:55 mm*49mm*33mm 17 10.驱动板重量:46 g 11.其他功能:控制方向指示灯、电源指示,电流检测,逻辑部分板内取电接口。 5.3 功能简图 模块提供 4 输入或者 6 输入单片机信号,用跳线帽灵活选择,支持 PWM 调速,支持 3.3V

36、单片机,板载上拉电阻,完美解决 51 单片机 IO 口驱动能力不够的问题。 模块接线方法:IN1-IN4 接单片机, ENA,ENB 可以用跳线帽选择直接接高电平或者用单 片机控制,IN1-IN4 提供 4 个跳线帽选择是否接上 10K 的上拉电阻,OUT1-OUT2 接直流电机 1,OUT3-OUT4 接电机 2,VCC,GND 分别接电池盒正负极,当 VCC 电压大于 6V 时,+5 为输出, 可以方便给 5V 的单片机供电,当 VCC 电压小于 6V 时,需拔掉 5V_EN 跳线帽,外部给+5 提 供一个 5V 电压保证 298N 芯片的正常工作。 VCC:理论上可以最高输入 46V,但

37、是理论上 L298N 芯片的最高功率只有 25W,在 50V 最 高工作电压时,电流不应超过 0.5A,实际模块上有 7805 芯片给单片机提供 5V,7805 的正 向工作电压不应超过 28V,所以模块 VCC 理论最大工作电压不应超过 28V,实际建议不应该 超过 24V,在 24V 工作电压下,单个电机的电流不应超过 1A,2 个电机同时使用单个电机的 电流不应超过 0.5 A; VCC 输入多少 V,完全取决于电机的额定电压,OUT 的高电平电压等于 VCC,低电平电压 等于 0V,本公司的减速电机额定电压一般 6V,建议 VCC 用 6V 的电源,履带车额定电压为 5-9V,建议 7

38、.2V 供电。 GND:接地,这个要注意的是,如果和单片机板以及其他系统连一起的时候,整个系统的 GND 要连一起,如果不连一起,电压就没有一个参考电平,无法进行正常控制。 +5:5V 输出,模块板载 7805,可以方便给单片机以及其他需要 5V 的系统供电,前提是 VCC 接大于 6V 电压的时候,+5 端才有 5V 输出,如果 VCC 小于 6V,需要拔掉 5V_EN 跳线帽, +5 端输入一个 3.3V-5V 的电压,因为 L298N 逻辑部分需要供电。 IN1-IN4:接单片机 IO 口,高低电平分别对应 OUT1-OUT4 的高低电平; OUT1-OUT4:OUT1、OUT2 接电机

39、 1,OUT3、OUT4 接电机 2,OUT1 和 OUT2 有电压差即一个 为高一个为低电机才转; ENA:OUT1-OUT2 的使能端,高电平有效,低电平禁止,跳线帽接上默认 ENA 为高电平, 一般不用管,如果需要 PWM 调速,就需要拔掉跳线帽,ENA 接单片机 IO 口; ENB:OUT3-OUT4 的使能端,高电平有效,跳线帽接上默认 ENA 为高电平,一般不用管, 如果需要 PWM 调速,就需要拔掉跳线帽,ENB 接单片机 IO 口; R1-R4:跳线帽接上,IN1-IN4 端加了 10K 的上拉电阻,跳线帽拔掉,无上拉电阻; 18 OUT1,OUT2 和 OUT3,OUT4 之

40、间可分别接电动机 5,7,10,12 脚接输入控制电平,控 制电机的正反转。EnA,EnB 接控制使能端,控制电机的停转。表 1 是 L298N 功能逻辑图。 由表 1 可知 EnA 为低电平时,输入电平对电机控制起作用,当 EnA 为高电平,输入电平为一 高一低,电机正或反转。同为低电平电机停止,同为高电平电机刹停。下图为 L298N 控制逻 辑表 表 4 L298N 控制逻辑表: EAEAIN1IN1IN2IN2 停止0xx 正转110 反转101 刹停111 停止100 19 6 遥控赛车系统框图及电路设计 6.1 系统框图及电路设计 遥控接收单元由单片机最小系统和红外接收器、控制对象电

41、路等组成,接收控制器由一 个 AT89S52 芯片作为控制中心,与接收电路和各自的控制电路共同构成。其中接收电路使用 一体化红外接收头 SM0038, SM0038 工作频率为 38 kHz,能对收到遥控信号进行放大、检波、 整形、解调,得到 TTL 电平的编码信号,再送给单片机,经单片机解码并执行相关控制程序 图 18 红外遥控赛车系统框图 AT89S52 单片机 电源 控制对象 红外接收器 复位电路 L298N 驱动 晶振电路 20 图 19 遥控赛车控制电路图 7 红外遥控赛车程序设计 7.1 红外信号解码设计框图 程序开始是对单片机进行初始化设置,循环扫描判断是否有键按下,对 SM00

42、38 所发出 的 TTL 电平进行解码,遥控信号解码程序流程图如图 20 所示。 21 图 20 程序框图 NO NO NO NO NO NO NO 如果为高电平表示信号没来继续等 待,高电位是红外接收头的电平 避开引导码高电平 如果为低电平表示 还在引导码高电平 如果为高电平表示还在引导码 9mS 高电平结束,45mS 低电平 避开引导码的低电平,直接检测用户码与数据码。 等待第一位 IR 高电平信号,如果为低表示还在 0 或 1 信号 0.56mS 高电平上,如果为高表 示 0 或 1 的高电平信号来临, (即发射源的 0 或 1 的间隔低电平到来, )解码的关键是如何识别 “0”和“1”

43、 ,从位的定义我们可以发现“0” 、 “1”均以 0.56ms 的低电平开始,不同的是高 电平的宽度不同, “0”为 0.56ms,“1”为 1.68ms,所以必须根据高电平的宽度区别“0”和 “1” 。如果从 0.56ms 低电平过后,开始延时, 0.56ms 以后,若读到 的电平为低,说明该位为 “0” ,反之则为“1” ,为了可靠起见,延时必 须比 0.56ms 长些,但又不能超过 1.12ms,否则如 果该位为“0” ,读到的已 是下一位的高电平, 因此取(1.12ms+0.56ms)/2=0.84ms 最为可靠, 一般取 0.88ms 左右均可。 将一组完整 的 8 个信号 接收完毕

44、 将一组完整的 32 个信号接收完毕 接收的用户码与设定的用户码正反码相比较 接收的数据码与设定的数据码正反码相比较 22 7.2 红外接收软件设计 /=中断读取红外键值程序= voidint0(void) interrupt 2 unsigned char j,k,N=0; IRdelay(15); if (IRIN=1) return; /确认 IR 信号出现 while (!IRIN) /等 IR 变为高电平,跳过导 9ms 的前低电平信号。 IRdelay(1); for (j=0;j=30) return; /0.14ms 计数过长自动离开。 /高电平计数完毕 23 IRCOMj=I

45、RCOMj 1; /数据最高位补“0” if (N=8) IRCOMj = IRCOMj | 0x80; /数据最高位补“1” N=0; 24 结结 束束 语语 这是一个磨练意志的过程。从课题的选择开始,到硬件和软件系统的设计,这其中经历 了很多困难,但是更重要的是在这个过程中我得到了很大的锻炼。一方面通过 S52 单片机等 一些器件的设计让我学习和掌握了单片机技术的基础知识和技术要点,也使以前学的很多知 识都得到了运用;另一方面在用 Protel 99 SE 软件画电路图,这个过程中让我掌握了计算机 辅助的设计技术。当然,这是一个需要不断的尝试,不断的校核,不断的修改,最后完成一 个合理的设

46、计的过程。需要的是细心和耐心。在很大程度上培养了我拼搏的工作精神。使我 受益匪浅,更加明确了自己专业的方向。这次时间是短暂的,但这我想我们学到的应该不仅 仅是专业技术等表面上的东西,更深一层的是对人生的感悟,对未来的想法,年轻人的桀骜 不驯在此时已经不在有意义,取而代之的是理性的思维。我们应该具备什么样的能力,我们 适合什么样的人生,我们应该在怎样的岗位上实现自己的人生价值。 实习是培养学生综合运用所学知识、发现、提出、分析和解决实际问题,锻炼实践能力 的重要环节,是对学生实际工作能力的具体训练和考察过程,通过课程设计我们能够比较系 统的了解理论知识,把理论和实践相结合,并且用到生活当中。在做

47、设计的过程中总会出现 各种问题,在这种情况下我们都会努力寻求最佳路径解决问题,无形间提高了我们的动手, 动脑能力,并且同学之间还能相互探讨问题,研究解决方案,增进大家的团队意识。 实习是短暂的,影响却是长远的。通过实习让我体会了团队合作的益处,在团队中一起 发现问题、讨论问题,共同进步、共同提高。硬件实习主要是我们理论知识的延伸,它的目 的主要是要在设计中发现问题,并且自己要能找到解决问题的方案,形成一种独立的意识。 我们还能从设计中检验我们所学的理论知识到底有多少,巩固我们已经学会的,不断学习我 们所遗漏的新知识,把所学的知识学的更加扎实。 在本文的撰写过程中,导师夏雨果给予了悉心的指导和关

48、心,使我克服了众多困难终于 完成了毕业设计的撰写工作。导师渊博的知识、严谨求实的治学态度及敬业精神,给我留下 了深刻的印象,并将在我今后的人生道路上产生深远的影响,在此论文完成之际,谨向导师 致以崇高的敬意和衷心的感谢!再一次感谢所有关心我、帮助我的人! 25 参考文献参考文献 【1】 吕国泰,白朋友主编。电子技术(第 3 版) 。高等教育出版社出版社。2010 年 1 月。 【2】 杜刚主编,王启宁、戎华洪、张东霞等编著。电路设计与制板Protel99se 应用教程, 清华大学出版社,2009 年 6 月。 【3】 赖万钦,严桂兰编著。C 语言程序设计基础。夏门大学出版社,2006 年 7

49、月。 【4】 李春彪编著。电路电工基础与实训(第 2 版) 。北京大学出版社,2008.8 月。 【5】 单承赣,单玉峰,姚磊等编著。射频识别(RFID)原理与应用。电子工业出版社,2008.3 月。 【6】 ATMEL 公司 AT89S52 的技术手册。 26 附录一:电路原理图 图 21 遥控赛车控制电路图 27 附录二:赛车实物图 图 22 红外遥控赛车作品 28 附录三:程序清单 #include #definec(x)(x*110592/120000) unsignedcharIr_Buf4; sbit IRIN = P33; unsigned char IRCOM7; void IRdelay(unsigned char x); sbitmotor=P20; sbitzheng=P21 ; s

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1