毕业设计(论文)-基于AT89C52的红外遥控小车设计.doc_第1页
毕业设计(论文)-基于AT89C52的红外遥控小车设计.doc_第2页
毕业设计(论文)-基于AT89C52的红外遥控小车设计.doc_第3页
毕业设计(论文)-基于AT89C52的红外遥控小车设计.doc_第4页
毕业设计(论文)-基于AT89C52的红外遥控小车设计.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

安阳工学院电子信息与电气工程系专科毕业论文 ANYANG INSTITUTE OF TECHNOLOGY专 科 毕 业 论 文基于AT89C52的红外遥控小车设计An Infrared Telecontrol Car Based on The AT89C52 Chip系(院)名称: 电子信息与电气工程系 专 业 班 级: 学 生 姓 名: 指导教师姓名: 指导教师职称: 讲 师 2009年5月安阳工学院电子信息与电气工程系专科毕业论文目 录摘要IAbstractII第一章 绪论11.1 课题背景11.2 设计要求11.3 设计方案1第二章 硬件设计22.1 AT89C52单片机22.1.1 单片机选型22.1.2 AT89C52单片机的硬件结构简介22.1.3 单片机的中断72.1.4 单片机输出控制隔离电路72.2 电源电路82.2.1集成稳压块选型82.2.2 集成稳压块7805介绍82.2.3单片机5V电源的获得92.3 红外遥控与接收92.3.1 PWM(Pulse Width Modulation)脉宽调制技术92.3.2红外接收电路112.3.3用单片机解码红外信号132.4 直流电机142.4.1直流电机工作原理142.4.2 电机驱动芯片L298152.4.3电机驱动电路和保护电路182.5 硬件原理总图19第三章 软件设计203.1 产品主程序的设计203.2 程序流程图24第四章 安装与调试254.1 安装制作254.2 调试25结 论27致 谢28参考文献29基于AT89C52的红外遥控小车设计专业班级:06通信技术 学生姓名:王利强指导教师:杨丽飞 职 称:讲师摘要: 本设计是以单片机(AT89C52)为核心,利用小功率芯片L298驱动直流电机,通过脉宽调制技术控制电机的正反转和转速;利用单片机提供的中断功能和指令系统接收由红外传感器发出的中断信号,并查找相应的中断服务子程序,执行相应的指令,控制并改变直流电机的运行状态,从而实现小车的前进、后退、左转、右转及慢速前进、慢速后退等。关键词: AT89C52;单片机;中断;集成稳压块7805;红外;直流电机;L298驱动芯片;遥控小车An Infrared Telecontrol Car Based on The AT89C52 ChipAbstract: As the design, Single-chip microprocessor AT89C51 is a core. using low-power chip L298 to drive DC motor, according to PWM technology to control the motors rotation and speed, making use of Single-chip microprocessor which provides the interrupt function and the repertoire of single-chip microprocessor for receiving the interrupt signal from infrared sensors, then finding the corresponding interrupt service subroutine and executing the corresponding command. Controlling and changing the operational status of the DC motor so as to achieve the cars forward and backward and turn left, turn right and so slow moving.etc.Key words: AT89C52;single-chip processor;interrupt;Integrated voltage regulator block 7805;infrared;DC motor;L298 driver chip;the telecontrol carII第一章 绪论1.1 课题背景近年来随着单片机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入。由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,也越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域。在这些领域中,单片机往往是作为一个核心部件来使用。1.2 设计要求以AT89C52为控制核心, 通过对红外接收模块数据的采集处理,使小车具有前进,后退,左转,右转,慢速前进,慢速后退等功能。1.3 设计方案1、功能模块划分本设计电路从功能模块可划分为:主机电路,红外遥控电路,执行控制电路,音效电路。其硬件功能结构框图如图1-1所示:图1-1 硬件功能结构框图2、模块功能简介主机电路:对红外中断信号解码,并查找中断服务子程序,执行不同的指令;遥控电路:通过红外传感器接收来自红外遥控的信号,并将其输出到单片机的P32口;执行电路:光耦隔离及电机驱动和保护电路;音效电路:当电源接通时,发出蜂鸣。第二章 硬件设计本设计硬件部分包括核心器件AT89C52的最小系统电路,单片机输出控制隔离电路,稳压电路,红外接收电路,电机驱动及保护电路等,以下将对各部分电路及主要元器件作详细介绍。2.1 AT89C52单片机2.1.1 单片机选型51单片机型号很多,常用的有STC系统的89C51、89C52,要用STC ISP串口下载,还有AT系列的89C51、89C52、89S51、 89S52等是用并口下载的。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,可以反复擦除100次。AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4K的可反复擦写1000次的Flash只读程序存储器。AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。AT89C52采用工业标准的C51内核,在内部功能及管脚排布上与通用的8XC52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等,而本设计中采用的就是AT89C52的红外遥控信号IR的接收解码功能。几种芯片相比之下,AT89C52开发的系统性能可靠、成本较低、软件设计灵活简单、硬件接口功能丰富,具有扩展性好、通用性强等优点。数据存储器ROM还是兼容AT89x51系列的,由原来的4KB增加到了8KB,还有增加了3个中断源,程序存储空间大,防止由于字模过多而造成存储空间不够。另外由于前期开发需要多次的写入、擦除,而AT89C52可以完成1 000次写擦,故在本设计中采用AT89C52,接下来将对该芯片作详细介绍。2.1.2 AT89C52单片机的硬件结构简介1、AT89C52概述兼容标准MCS-51指令系统的AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。AT89C52有40个引脚(如图2-1所示),32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。本设计采用PDIP封装形式。图2-1 AT89C52双列直插封装方式的引脚2、AT89C52功能特性及引脚介绍(1)主要功能特性:兼容MCS51指令系统;8k可反复擦写(1000次)Flash ROM;32个双向I/O口; 256x8bit内部RAM; 3个16位可编程定时/计数器中断;时钟频率0-24MHz; 2个串行中断;可编程UART串行通道; 2个外部中断源;共6个中断源; 2个读写中断口线; 3级加密位;低功耗空闲和掉电模式;软件设置睡眠和唤醒功能。(2)管脚说明:VCC:供电电压。GND:接地。P0 口:P0 口是一组8 位漏极开路型双向I/O 口, 也即地址/数据总线复用口。作为输出口用时,每位能以吸收电流的方式驱动8 个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1 口:P1 是一个带内部上拉电阻的8 位双向I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51 不同之处是,P1.0 和P1.1 还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)(见表2-1)。Flash 编程和程序校验期间,P1 接收低8 位地址。表2-1 P1.0和P1.1的第二功能引脚号功能特性P1.0T2(定时/计数器2外部计数脉冲输入),时钟输出P1.1T2EX(定时/计数2捕获/重装载触发和方向控制)P2 口:P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16 位地址的外部数据存储器(例如执行MOVX DPTR 指令)时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX RI 指令)时,P2 口输出P2 锁存器的内容。Flash 编程或校验时,P2亦接收高位地址和一些控制信号。P3 口:P3 口是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能(见表2-2)。表2-2 P3口的第二功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外中断0)P3.3INT1(外中断1)P3.4T0(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)此外,P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG: 当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。该位置位后,只有一条MOVX 和MOVC指令才能将ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP:外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000HFFFFH),EA 端必须保持低电平(接地)。需注意的是:如果加密位LB1 被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU 则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。(3)振荡器特性AT89C52 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2 分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图2-2左图。外接石英晶体(或陶瓷谐振器)及电容C1、C2 接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,推荐电容使用30pF10pF,而如使用陶瓷谐振器建议选择40pF10F。用户也可以采用外部时钟。采用外部时钟的电路(如图2-2右图所示)。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小的高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。图2-2 时钟振荡电路(4)芯片擦除:利用控制信号的正确组合并保持ALE/PROG引脚10mS的低电平脉冲宽度即可将PEROM阵列(4k字节)和三个加密位整片擦除,代阵列在片擦除操作中将任何非空单元写入“1”,这个步骤需在编程之前进行。2.1.3 单片机的中断本设计以红外信号为中断源,输入到单片机的INT0脚,所以在这里要重点介绍一下单片机的中断功能。AT89C52共有6个中断向量:两个外中断(INT0和INT1),3个定时器中断(定时器0、1、2)和串行口中断。所有这些中断源如图2-3所示。这些中断源可通过分别设置专用寄存器IE的置位或清0来控制每一个中断的允许或禁止。IE也有一个总禁止位EA,它能控制所有中断的允许或禁止。注意中断允许寄存器(图2-4)中的IE.6为保留位,在AT89C51中的IE.5也是保留位。程序员不应将“1”写入这些位,它们是将来AT89系列产品作为扩展用的。定时器2的中断是由T2CON中的TF2和EXF2逻辑或产生的,当转向中断服务程序时,这些标志位不能被硬件清除,事实上,服务程序需确定是TF2或EXF2产生中断,而由软件清除中断标志位。定时器0和定时器1的标志位TF0和TF1在定时器溢出那个机器周期的S5P2状态置位,而会在下一个机器周期才查询该中断标志。然而,定时器2的标志位TF2在定时器溢出的那个机器周期S2P2状态置位,并在同一个机器周期内查询到该标志。图2-3 AT89C52中断源 图2-4 中断允许寄存器(IE)2.1.4 单片机输出控制隔离电路本设计输出控制隔离采用光耦隔离控制。光耦隔离就是采用光耦合器进行隔离,光耦合器的结构相当于把发光二极管和光敏(三极)管封装在一起。发光二极管把输入的电信号转换为光信号传给光敏管转换为电信号输出,由于没有直接的电气连接,这样既耦合传输了信号,又有隔离作用。只要光耦合器质量好,电路参数设计合理,一般故障少见。如果系统中出现异常,使输入、输出两侧的电位差超过光耦合器所能承受的电压,就会使之被击穿损坏。本设计中的光耦隔离控制电路如图2-5所示:图2-5 光耦隔离控制电路2.2 电源电路2.2.1 集成稳压块选型集成稳压块按固定输出电压的正负分可分为两类:输出正电压的78系列和输出负电压的79系列,本设计中需要将干电池组的+6V电压降到+5V,作为单片机的正常工作电压,所以在电源设计中就采用了W78M00系列集成稳压块7805(图2-6),最高输入电压为40V,稳定输出5V电压,在本设计中7805 的1脚输入+6V直流电压,2脚接地,3脚输出+5V电压,为单片机供电。图2-6 集成稳压块78052.2.2 集成稳压块7805介绍稳压块的作用是将电压进行降压处理并稳定为某一固定的值后输出,如三端稳压块7805可将小于35V的电压降成稳定的5V输出电压,它比只使用一只稳压二极管进行稳压的电路要好得多,成本也不是很高,所以应用还是很广泛的。一般78系列稳压块极限输入电压为3040V(注意,是极限)。常见78系列的输入输出压差为7V,所以正常范围内12V是7805的输入电压上限。当电压再高时,虽然也可以继续稳压,但输出电流能力将受到很大影响,78系列本身内部带有过流过压保护,当7805的输入超过12V后,就工作在过压保护状态了,此时虽能稳压,但稳压值、稳定度都有变化。三端稳压块7805常用的外围电路如图2-7所示,图中电容C可去除高频干扰。图2-7 7805常用外围电路2.2.3 单片机5V电源的获得由7805稳压块将6V电源电压降为5V,给单片机供电。设计电路如图2-8所示。图2-8 稳压电路2.3 红外遥控与接收2.3.1 PWM(Pulse Width Modulation)脉宽调制技术红外通信的基本原理是发送端将基带二进制信号调制为一系列的脉冲串信号,通过红外发射管发射红外信号。常用的有通过脉冲宽度来实现信号调制的脉宽调制(PWM)和通过脉冲串之间的时间间隔来实现信号调制的脉时调制(PPM)两种方法。本设计采用的是脉宽调制方法,以下将重点介绍一下PWM调制技术及其工作原理。PWM简介:PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。多数负载(无论是电感性负载还是电容性负载)需要的调制频率高于10Hz,通常调制频率为1kHz到200kHz之间。许多微控制器内部都包含有PWM控制器。例如,Microchip公司的PIC16C67内含两个PWM控制器,每一个都可以选择接通时间和周期。占空比是接通时间与周期之比;调制频率为周期的倒数。执行PWM操作之前,这种微处理器要求在软件中完成以下工作: 1设置提供调制方波的片上定时器/计数器的周期;2在PWM控制寄存器中设置接通时间;3设置PWM输出的方向,这个输出是一个通用I/O管脚;4启动定时器;5使能PWM控制器。PWM的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换。让信号保持为数字形式可将噪声影响降到最小。噪声只有在强到足以将逻辑1改变为逻辑0或将逻辑0改变为逻辑1时,也才能对数字信号产生影响。对噪声抵抗能力的增强是PWM相对于模拟控制的另外一个优点,而且这也是在某些时候将PWM用于通信的主要原因。从模拟信号转向PWM可以极大地延长通信距离。在接收端,通过适当的RC或LC网络可以滤除调制高频方波并将信号还原为模拟形式。总之,PWM既经济、节约空间、抗噪性能强,是一种值得在许多设计应用中使用的有效技术。PWM工作原理:脉冲宽度调制波通常由一列占空比不同的矩形脉冲构成,其占空比与信号的瞬时采样值成比例。图2-9所示为脉冲宽度调制系统的原理框图和波形图。该系统有一个比较器和一个周期为Ts的锯齿波发生器组成。语音信号如果大于锯齿波信号,比较器输出正常数A,否则输出0。因此,从图2-9中可以看出,比较器输出一列下降沿调制的脉冲宽度调制波。图2-9 脉冲宽度调制过程通过图2-9(b)的分析可以看出,生成的矩形脉冲的宽度取决于脉冲下降沿时刻时的语音信号幅度值。因而,采样值之间的时间间隔是非均匀的。在系统的输入端插入一个采样保持电路可以得到均匀的采样信号,但是对于实际中的情况,均匀采样和非均匀采样差异非常小。如果假定采样为均匀采样,第k个矩形脉冲可表示为: (2-1)其中,xt是离散化的语音信号;Ts是采样周期;是未调制宽度;m是调制指数。然而,如果对矩形脉冲作如下近似:脉冲幅度为A,中心在t = 处, 在相邻脉冲间变化缓慢,则脉冲宽度调制波可以表示为: (2-2)其中,。无需作频谱分析,由式(2-2)可以看出脉冲宽度信号由语音信号x(t)加上一个直流成分以及相位调制波构成。当时,相位调制部分引起的信号交迭可以忽略,因此,脉冲宽度调制波可以直接通过低通滤波器进行解调。2.3.2 红外接收电路红外遥控接收可采用较早的红外接收二极管加专用的红外处理电路的方法。如CXA20106,此种方法电路复杂,现在一般不采用。较好的接收方法是用一体化红外接收头,它将红外接收二极管、放大、解调、整形等电路做在一起,放大电路通常又由一个集成块及若干电阻电容等元件组成,并且需要封装在一个金属屏蔽盒里,因而电路比较复杂,体积却很小(大小与一只中功率三极管相当),密封性好,灵敏度高,并且价格低廉,市场售价只有几元钱。它只有三个引脚分别是+5V电源、地、信号输出,主要功能包括放大,选频,解调几大部分,要求输入信号需是已经被调制的信号。经过它的接收放大和解调会在输出端直接输出原始的信号,从而使电路达到最简化。灵敏度和抗干扰性都非常好,可以说是一个接收红外信号的理想装置。常用的一体化接收头的外形及引脚见图2-10。红外接收头的信号输出接单片机的INTO或INTl脚典型电路如图2-11所示,图中增加了一只PNP型三极管对输出信号进行放大。 图2-10 常用红外一体化接收头图2-11 红外接收头典型电路本设计中的红外接收电路中即采用了图2-10中的作为红外传感器,1脚信号输出,2脚接地,3脚接+5V电源。红外接收电路如图2-12所示。图2-12 红外接收电路2.3.3 用单片机解码红外信号本设计使用的是常用万能遥控器,利用51系统单片机对其进行红外信号解码的原理如下:1、编码格式(1)0和1的编码遥控器发射的信号由一串O和1的二进制代码组成。不同的芯片对0和1的编码有所不同,通常有曼彻斯特编码和脉冲宽度编码。本遥控芯片的O和1采用PWM方法编码,即脉冲宽度调制,O码由O56ms低电平和056ms高电平组合而成,脉冲宽度为112ms。1码由056ms低电平和169ms高电平组合而成,脉冲宽度为225ms。在编写解码程序时,通过判断脉冲的宽度,即可得到0或1。(2)按键的编码当我们按下遥控器的按键时,遥控器将发出一串二进制代码,我们称它为一帧数据。根据各部分的功能,可将它们分为5部分,分别为引导码、地址码、地址码、数据码、数据反码。遥控器发射代码时均是低位在前,高位在后。其中引导码高电平为4.5ms,低电平为4.5ms,当接收到此码时,表示一帧数据的开始,单片机可以准备接收下面的数据。地址码由8位二进制组成,共256种,地址码重发一次,主要是加强遥控器的可靠性。如果两次地址码不相同,则说明本帧数据有错,应丢弃。不同的设备可以拥有不同的地址码,因此,同种编码的遥控器只要设置的地址码不同,就不会相互干扰。在同一个遥控器中,所有按键发出的地址码都是相同的。数据码为8位,可编码256种状态,代表实际所按下的键。数据反码是数据码的各位求反,通过比较数据码与数据反码,可判断接收到的数据是否正确。如果数据码与数据反码之间的关系不满足相反的关系,则本次遥控接收有误,数据应丢弃。在同一个遥控器上,所有按键的数据码均不相同。2、遥控信号的解码算法及程序编制平时,遥控器无键按下,红外发射二极管不发出信号,遥控接收头输出信号1。有键按下时,O和1编码的高电平经遥控头倒相后会输出信号O,由于与单片机的中断脚相连,将会引起单片机中断(单片机预先设定为下降沿产生中断)。单片机在中断时使用定时器0或定时器1开始计时,到下一个脉冲到来时,即再次产生中断时,先将计时值取出,清零计时值后再开始计时,通过判断每次中断与上一次中断之间的时间间隔,便可知接收到的是引导码还是O和1。如果计时值为9ms,接收到的是引导码,如果计时值等于112ms,接收到的是编码O。如果计时值等于2.25ms,接收到的是编码1。在判断时间时,应考虑一定的误差值。因为不同的遥控器由于晶振参数等原因,发射及接收到的时间也会有很小的误差。以接收万能遥控器编码为例,解码方法如下:1设外部中断0(或者1)为下降沿中断,定时器0(或者1)为16位计时器,初始值均为0;2第一次进入遥控中断后,开始计时;3从第二次进入遥控中断起,先停止计时。并将计时值保存后,再重新计时。如果计时值等于前导码的时间,设立前导码标志。准备接收下面的一帧遥控数据,如果计时值不等于前导码的时间,但前面已接收到前导码,则判断是遥控数据的O还是1;4继续接收下面的地址码、数据码、数据反码;5当接收到32位数据时,说明一帧数据接收完毕。此时可停止定时器的计时,并判断本次接收是否有效。如果两次地址码相同且等于本系统的地址,数据码与数据反码之和等于0FFH,则接收的本帧数据码有效,否则丢弃本次接收到的数据;6接收完毕,初始化本次接收的数据,准备下一次遥控接收。2.4 直流电机本设计采用的是玩具小车中附带的两个直流电机,一个控制前轮左右转,另一个控制后轮驱动。2.4.1 直流电机工作原理根据供电方式的不同,电机有直流电机和交流电机两种类型。电脑中使用的风扇电机为直流电机,供电电压为12V,转速在100010000转分之间。本设计采用两个直流电机。直流电机是将直流电能转换为机械能的旋转机械。它由定子、转子和换向器三个部分组成。图2-13是分析直流电机的物理模型图,其中,固定部分有磁铁,这里称作主磁极;固定部分还有电刷。转动部分有环形铁心和绕在环形铁心上的绕组。(其中2个小圆圈是为了方便表示该位置上的导体电势或电流的方向而设置的)图2-13 直流电机物理模型图上图表示一台最简单的两极直流电机模型,它的固定部分(定子)上,装设了一对直流励磁的静止的主磁极N和S,在旋转部分(转子)上装设电枢铁心。定子与转子之间有一气隙。在电枢铁心上放置了由A和X两根导体连成的电枢线圈,线圈的首端和末端分别连到两个圆弧形的铜片上,此铜片称为换向片。换向片之间互相绝缘,由换向片构成的整体称为换向器。换向器固定在转轴上,换向片与转轴之间亦互相绝缘。在换向片上放置着一对固定不动的电刷B1和B2,当电枢旋转时,电枢线圈通过换向片和电刷与外电路接通。要使电枢受到一个方向不变的电磁转矩,关键在于:当线圈边在不同极性的磁极下,如何将流过线圈中的电流方向及时地加以变换, 即进行所谓“换向”。 为此必须增添一个叫做换向器的装置,换向器配合电刷可保证每个极下线圈边中电流始终是一个方向,就可以使电动机能连续的旋转,这就是直流电动机的工作原理。2.4.2 电机驱动芯片L298图2-14 L298N电机驱动芯片1、L298简介L298是SGS公司的产品,内置两个H桥,每个桥提供1A的额定工作电流,和最大3A的峰值电流,它能驱动的马达不超过可乐罐大小。比较常见的是15脚Multiwatt封装的L298N(如图2-14所示),内部同样包含4通道逻辑驱动电路,可以方便的驱动两个直流电机,或一个两相步进电机。L298N可接受标准TTL逻辑电平信号VSS,VSS可接457 V电压。4脚VS接电源电压,VS电压范围VIH为2546V。输出电流可达25A,可驱动电感性负载。1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。2、L298控制器原理L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,5,7,10,12脚接输入控制电平,控制电机的正反转。ENABL_A,ENABL_B接控制使能端,控制电机的停转。IN3,IN4的逻辑图与表2-3中的IN1,IN2相同。由表2-3可知EnA为低电平时,输入电平对电机控制不起作用,当EnA为高电平,输入电平为一高一低,电机正或反转。同为低电平电机停止,同为高电平电机刹停。表2-3 L298N功能模块L298N功能模块EnAIN1IN2运转状态0停止110正转101反转111刹停100停止图2-15是控制器原理图,由3个虚线框图组成。图2-15 控制器原理图下面是3个虚线框图功能:1虚线框图1控制电机正反转,U1A,U2A是比较器,VI来自炉体压强传感器的电压。当VIVRBF1时,U1A输出高电平,U2A输出高电平经反相器变为低电平,电机正转。同理VIVRBF1时,电机反转。电机正反转可控制抽气机抽出气体的流量,从而改变炉体压强。2虚线框图2中,U3A,U4A两个比较器组成双限比较器,当VBVIVA时输出低电平,当VIVA,VIVB时输出高电平。VA,VB是由炉体压强转感器转换电压的上下限,即反应炉体压强控制范围。根据工艺要求,我们可自行规定VA,VB的值,只要炉体压强在VA,VB所确定范围之间电机停转(注意VBVRBF1VA,如果不在这个范围内,系统不稳定)。3虚线框图3是一个长延时电路。U5A是一个比较器,Rs1是采样电阻,VRBF2是电机过流电压。Rs1上电压大于VREF2,电机过流,U5A输出低电平。由上面可知,框图1控制电机正反转,框图2控制炉体压强的纹波大小。当炉体压强太小或太大时,电动机转到两端固定位置停止,根据直流电机稳态运行方程3: (2-3)其中:为电机每极磁通量;为电动势常数;为电机转数;为电枢电流;为电枢回路电阻。电机转数N为0,电机的电流急剧增加,时间过长将会使电机烧坏。但电机起动时,电机中线圈中的电流也急剧变大,因此我们必须把这两种状态分开。长延时电路可把这两种状态区分出来。长延时电路工作原理:当Rs1过流U5A产生一个负脉冲经过微分后,脉冲触发555的2脚,电路置位,3脚输出高电平,由于放电端7脚开路,C1,R5及U6A组成积分器开始积分,电容C1上的充电电压线性上升,延时运放积分常数为100R5C1。当C1上充电电压,即6脚电压超过23VCC,555电路复位,输出低电平。电机启动时间一般小于08s,C1充电时间一般为081s。U5A输出电平与555的3脚输出电平经U7相或,如果U5A输出低电平大于C1充电时间,U7在C1充电后输出低电平由与门U8输入到L298N的6脚ENA端使电机停止。如果U5A的输出电平小于C1充电时间,6脚不动作电机的正常启动。长延时电路吸收电机启动过流电压波形,从而使电机正常启动。3、L298引脚图2-16是L298引脚图:图2-16 L298引脚图1、15脚是输出电流反馈引脚,在通常使用中这两个引脚也可以直接接地。图2-17是其与51单片机连接的电路图。图2-17 与51单片机连接的电路图2.4.3 电机驱动电路和保护电路本设计采用了上述的L298N电机驱动芯片驱动小车的两个直流电机,一个控制小车前轮的左右转,另一个控制小车后轮的前进后退。除设计电机必须的驱动电路外,还要设计保护电路以保护L298N芯片。具体电路如图2-18所示。图2-18 电机驱动电路和保护电路2.5 硬件原理总图根据以上各部分电路的分析,我们可以由Protel设计出如图2-19所示的硬件原理图。图2-19 硬件原理图第三章 软件设计3.1 产品主程序的设计要求:接通电源后,电机不转,1键控制前进,2键控制后退,3键控制左转,4键控制右转,5键控制快速行进,6键控制慢速行进,按下任意键小车停止当前运行状态。源程序如下:30KAIJI:ACALL DELAY01 MOV P0,#0FFHMOV P1,#0FFHMOV P2,#0FFHCLR P2.0 CLR P3.0JMP YAOKGUANBI:MOV P0,#0FFHMOV P1,#0FFHMOV P2,#0FFHMOV P3,#0FFHJMP $FANHUI11:ACALL DELAY01MOV P0,#0FFHYAOK: SETB P1.0CLR P1.2MOV P0,#0FFHCLR P3.4MOV A,#00HMOV R0,#20HLOOP0: MOV R0,AINC R0CJNE R0,#25H,LOOP0SETB P3.2 SETB P3.7SETB P1.3MOV 22H,#0FFHCALL IR_SHOWLOOP1:CALL IR_INCPL ACJNE A,#00H,LOOP2MOV P0,#11111011BACALL DELAYYTOU0:JNB P3.2,FANHUI11JMP TOU0LOOP2: CJNE A,#01H,LOOP3MOV P0,#11110111BACALL DELAYYTOU1:JNB P3.2,FANHUI11JMP TOU1LOOP3:CJNE A,#02H,LOOP4MOV P0,#11111110BACALL DELAYYMOV P0,#11111011BACALL DELAYYTOU2:JNB P3.2,FANHUI11JMP TOU2LOOP4:CJNE A,#03H,LOOP5MOV P0,#11111101BACALL DELAYYMOV P0,#11110111BACALL DELAYYTOU3:JNB P3.2,FANHUI11JMP TOU3JMP YAOKLOOP5:CJNE A,#04H,LOOP6SETB P2.0SETB P0.0SETB P0.1CLR P0.2SETB P0.3JMP LOOP1LOOP10: CJNE A,#05H,LOOP1CLR P2.0ACALL DELAYYJMP LOOP1LOOP6:CJNE A,#06H,LOOP7LOOP51:CLR P0.0 CLR P0.2SETB P0.1SETB P0.3 CLR P2.0ACALL DELAY100MSMOV P0,#0FFHACALL DELAY100MSJMP LOOP51LOOP7: CJNE A,#07H,LOOP8LOOP61:CLR P2.0SETB P0.0CLR P0.1SETB P0.2CLR P0.3ACALL DELAY100MSMOV P0,#0FFHACALL DELAY100MSJMP LOOP61LOOP8: CJNE A,#08H,LOOP9LOOP71: SETB P2.0CLR P0.0SETB P0.1SETB P0.2SETB P0.3ACALL DELAY200MSCLR P0.0SETB P0.1CLR P0.2SETB P0.3ACALL DELAY200MSJMP LOOP71LOOP9:CJNE A,#09H,LOOP10LOOP81:SETB P2.0SETB P0.0SETB P0.1CLR P0.2SETB P0.3ACALL DELAY200MSCLR P0.0SETB P0.1CLR P0.2SETB P0.3ACALL DELAY200MSJMP LOOP81DELAY100MS: MOV TMOD,#00000001BSETB TR0 MOV TL0,#LOW(65536-15000)MOV TH0,#HIGH(65536-15000)FANHUI: JNB P3.2,CHUQUYYJNB TF0,FANHUICLR TF0RETDELAY200MS:MOV R1,#4DELAY200MS1:MOV TMOD,#00000001BSETB TR0MOV TL0,#LOW(65536-20000)MOV TH0,#HIGH(65536-20000)FANHUI1:JNB P3.2,CHUQUYYJNB TF0,FANHUI1CLR TF0DJNZ R1, DELAY200MS1RETCHUQUYY:MOV P0,#0FFHSETB P2.0ACALL DELAYYJMP LOOP1IR_IN:MOV R0,#20HI1:JNB P3.2,I2JMP I1I2:MOV R4,#20I20:CALL DELDJNZ R4,I20JB P3.2,I1I21:JB P3.2,I3CALL DELJMP I21I3:MOV R3,#0LL: JNB P3.2,I4CALL DELJMP LLI4:JB P3.2,I5CALL DELJMP I4I5:MOV R2,#0L1:CALL DELJB P3.2, N1MOV A,#8CLR CSUBB A,R2MOV A,R0RRC AMOV R0,AINC R3CJNE R3,#8,LLMOV R3,#0INC R0CJNE R0,#24H,LLJMP IR_SHOWN1:INC R2CJNE R2,#30,L1RETIR_SHOW:MOV A,22HCPL ACJNE A,23H,IR_SHOW1CALL BEEP_BLIR_SHOW1: RETBEEP_BL:MOV R6,#100BL1: CALL DEX1CPL P3.7DJNZ R6,BL1MOV R5,#20CALL DELAYRETDEX1:MOV R7,#180DEX2: NOPDJNZ R7,DEX2RETDELAY:MOV R6,#50D1:MOV R7,#100DJNZ R7,$DJNZ R6,D1DJNZ R5,DELAYRETDELAY R5*0.14MSDEL:MOV R5,#1DEL0: MOV R6,#2DEL1:MOV R7,#32DEL2: DJNZ R7,DEL2DJNZ R6,DEL1DJNZ R5,DEL0RETDELAY1: MOV R6,#25DL2:MOV R7,#100DJNZ R7,$DJNZ R6,DL2RETDELAY01: MOV R5,#30D02:MOV R6,#100D01:MOV R7,#100DJNZ R7,$DJNZ R6,D01 DJNZ R5,D02RETDELAYY:MOV R5,#2DEL11:MOV

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论