单片机红外控制发射器设计非常详细_第1页
单片机红外控制发射器设计非常详细_第2页
单片机红外控制发射器设计非常详细_第3页
单片机红外控制发射器设计非常详细_第4页
单片机红外控制发射器设计非常详细_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

..单片机红外控制发射器设计[详细]摘要随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的遥控系统开始进入了人们的生活。传统的遥控器采用专用的遥控编码及解码集成电路,这种方法虽然制作简单、容易,但由于功能键数及功能受到特定的限制,只实用于某一专用电器产品的应用,应用范围受到限制。而采用单片机进行遥控系统的应用设计,具有编程灵活多样、操作码个数可随便设定等优点。本设计主要应用了AT89C2051单片机作为核心,综合应用了单片机中断系统、定时器、计数器等知识,应用红外光的优点。遥控操作的不同,遥控发射器通过对红外光发射频率的控制来区别不同的操作。遥控接收器通过对红外光接收频率的识别,判断出控制操作,来完成整个红外遥控发射、接收过程。其优点硬件电路简单,软件功能完善,性价比较高等特点,具有一定的使用和参考价值。关键词:单片机,红外遥控,中断,定时,计数,频率AbstractWiththedevelopmentofoursocietyandthegradualimprovementofscienceandtechnology,variouskindsofhelpremotecontrolsystemshavebegantoenterpeople’slife.Thetraditionalremotecontrollersadoptspecialremotecontrolcodeanddecodeintegratedcircuits,thoughthiskindofmethodissimplyandeasily,itisonlythepracticalapplicationofsomecertainspecialelectricequipmentsbecauseofthecountedfunctionalkeysiscountedandtherestrictedfunction,sotherangeofapplicationislimited.Buttheremotecontrollerswhichadoptthemicroprocessorshavemanyadvantagessuchasflexibleoperatingandunceremoniousmanipulativekeys.ThedesignhasusedAT89C2051microprocessorascore,integrativelyapplytheinterruptivesystem,timer,counter,etc.mainlytodesignoriginallyandalsotaketheadvantageoftheinfraredlight.Theremotecontrollauncherdistinguishesdifferentoperationthroughthecontrolonfrequencyofinfraredemissionoflight.Theremotecontrolreceiverjudgescontroloperationbyadoptingthediscernedfrequencyofthereceivedinfraredlighttofinishthewholelaunchingandreceivingcourse.Itsadvantageisthatthehardwarecircuitissimple,thesoftwareiswithperfectfunction,havecertainuseandreferencevalueKeywords:Microprocessor,Infraredremotecontrol,Interrupt,Timing,Counting,Frequency..目录TOC\o"1-3"\h\z摘要IAbstractII1绪论11.1单片机的产生与发展11.2红外通信技术概述3红外概述31.2.2选择红外遥控的原因3红外的简单发射接收原理32.1设计目的与原理42.2单片机红外遥控发射器设计原理42.3单片机红外遥控接收器设计原理53系统硬件电路设计63.1有关AT89C2051单片机的介绍6简介6引脚介绍63.1.3AT89C2051单片机的主要组成部分83.2定时器/计数器9主要特性9定时/计数器0和1的控制和状态寄存器93.2.3T0和T1的4种工作方式113.3独立式按键结构123.4低功耗控制电路12低功耗的实现方法123.4.2掉电保护和低功耗的设计133.5CPU时钟电路153.6复位电路16复位状态163.6.2复位电路173.7红外发射电路的设计173.8红外接收电路的设计193.9完整的系统电路设计图194系统软件设计204.1遥控发射器程序设计20程序总体结构204.1.2伪指令和初始化程序22键盘扫描程序244.1.4中断服务程序244.2遥控接收器程序设计264.2.1程序总体结构264.2.2初始化程序294.2.3计数值比较程序294.2.4定时器1中断服务程序295总结与展望31致谢32参考文献33附录135附录236..1绪论1.1单片机的产生与发展为适应社会发展的需要,微型计算机不断的更新换代,新产品层出不穷。在微型计算机的大家族中,几年来单片微型计算机异军突起,发展极为迅速。单片微型计算机〔Sing-ChipMicrocomputer简称单片机。它是在一块芯片上集成中央微处理器〔CentralProcessingUnit,CPU、随机存取存储器〔RandomAccessMemory,RAM、只读存储器〔ReadOnlyMemory,ROM、定时/计数器及I/O〔Input/Output接口电路等部件,构成一个完整的微型计算机。它的特点是:高性能,高速度,体积小,价格低廉,稳定可靠,应用广泛。单片机的发展史并不长,它的产生和发展与计算机的产生与发展大体同步,也经历了四个阶段。第一阶段〔1970年——1974年:为4位单片机阶段。这种单片机的特点是:价格便宜控制功能强,片内含有多种I/O接口,有的根据不同用途还配有许多专用接口,有些甚至还包括A/D转换器、D/A转换、声音合成等电路。丰富的I/O功能大大增强了四位单片机应用与录音机、摄像机、电视机、电冰箱、洗衣机、录像机和电子玩具等产品。第二阶段〔1974年——1978年:为低中档8位单片机阶段。它是8位单片机的早期产品,以Inter公司的MCS-48系列单片机为代表,这个系列的单片机在片内集成8位CPU、并行I/O口、8位定时/计数器、RAM和ROM等,中断处理较简单,片内RAM和ROM容量较小,且寻址范围不大于4KB。第三阶段〔1978年——1983年:为高档8位单片机阶段。这类单片机在低、中档基础上发展起来的,其性能有明显提高。以Inter公司的MCS-48系列单片机为代表,在片内增加了串行接口,有多级中断处理系统,有16位定时/计数器,片内RAM、ROM容量增大,信纸范围可达64KB,有的片内带有A/D转换接口。这类单片机功能强,应用领域广,是目前各类单片机中应用最多的一种。第四阶段〔1983年—现在:为8位单片机巩固发展阶段及16位单片机、32位单片机推出阶段。此阶段主要特点是:一方面不断发展16位单片机、32位单片机及专用单片机。16位单片机除CPU为16位外,片内RAM为232B,ROM位8KB,片内带有高速输入输出部件,多通道10位A/D转换部件,中断处理为8级,其实时处理能力强。今年来,各个计算机厂家已进入高性能的32位单片机研制、生产阶段,32位单片机除了具有更高的集成度外,主振频率已达20MHz,这使32位单片机的数据处理速度比16位单片机快的多,性能比8位、16位单片机更加优越。需要提到的是,单片机的发展虽然经历了4位、8位、16位各阶段,但4位、8位、16位单片机仍各有其应用领域,如4位单片机在一些简单家用电器、高档玩具中仍有应用,8位单片机在中、小规模应用场合仍占主流地位,16位单片机在比较复杂的控制系统中才有应用,32位单片机因控制领域对它的需求并不十分迫切,所以32位单片机在我过的应用并不多。正是由于单片机具有上述显著的特点,使单片机的应用范围日益扩大。单片机的应用打破了人们传统设计思想,原来很多用模拟电路、脉冲数字电路和逻辑部件来实现的功能,现在均可以使用单片机,使用软件来实现。使用单片机具有体积小、可靠性高、性能价格比高和容易产品化的优点。单片机应用的主要领域有以下几点。智能化仪器仪表。用单片机改造原有的测量、控制仪表,使仪器仪表数字化、智能化、多功能化和微型化,并使长期以来测量仪表中的误差修正和线性化处理等难题迎刃而解。有单片机构成的智能仪表,集测量、处理控制功能于一身,从而赋予测量仪表以崭新的面貌,是仪器仪表更新换代的标志。机电一体化产品。机电一体化是机械工业发展的方向,机电一体化是指集机械技术、微电子技术和计算机技术于一体,具有智能化特征的机电产品。单片机的出现促进了机电一体化的发展,它作为机电产品中的控制器,使传统的机械产品结构简单化、控制智能化,构成了新一代机电一体化产品。例如,在电传打字机中,由于采用了单片机而取代了近千个机械部件。测控系统。用单片机可以构成各种工业控制系统、自适应控制系统和数据采集系统。例如,温度、湿度的自动控制、锅炉燃烧的自动控制、电镀生产线的自动控制和包装生产线的自动控制等。计算机网络及通信技术。高档单片机集成有通信接口,位单片机在计算机网络与通信设备中的应用提供了良好的条件。例如,用MCS-51系列单片机控制的串行自动呼叫应答系统、列车无线通信系统、和无线遥控系统等家用电器。由于单片机的价格低廉、体积小、逻辑判断的控制功能强,且内部具有定时/计数器,所以广泛应用于家用设备。总之,单片机将使人类的生活更加方便舒适、丰富多彩。[1]1.2红外通信技术概述红外概述从光学的角度而言,红外是频率低于红色光的不可见光,的无线光谱的整个频率中占有很小一个频率段,波长为0.75—100微秒之间,其中0.75—3微秒之间的红外光称为近红外,3—30微秒之间的红外光称为中红外,30—100微秒之间的称为远红外。红外光就其性质而言很简单,与普通光线的频率特性没有很大的区别,但是,由于任何有热量的物体均有能量产生,所以红外的利用非常广泛,而且不可取代,能否检测红外、能测到多少红外或者红外检测的技术是否可以应用于任何自然的或想象的场合是红外应用技术的关键。[2]当今红外技术的一个重要分支是红外通信技术的应用,这个应用的发展非常迅速,尤其是红外通信应用于计算机设备中,近几年的发展已经表现出其非常成熟的特性[3]。选择红外遥控的原因无线遥控方式可分为无线电波式、声控式、超声波式和红外线式。由于无线电式容易对其它电视机和无线电通讯设备造成干扰,而且,系统本身的抗干扰性能也很差,误动作多,所以未能大量使用。超声波式频带较窄,易受噪声干扰,系统抗干扰能力差以及声控式识别正确率低,难度大而未能大量采用。红外遥控方式是以红外线作为载体来传送控制信息的,同时随着电子技术的发展,单片机的出现,催生了数字编码方式的红外遥控系统的快速发展。另外,红外遥控具有很多的优点,例如红外线发射装置采用红外发光二极管,遥控发射器易于小型化且价格低廉;采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,增加遥控功能,提高信号传输的抗干扰性,减少误动作,而且功率消耗低;红外线不会向室外泄露,不会产生信号串扰;反应速度快、传输效率高、工作稳定可靠等。所以现在很多无线遥控方式都采用红外遥控方式。[4]红外的简单发射接收原理在发射端,输入信号经放大后送入红外发射管发射,在接收端,接收管收到红外信号后,由放大器放大处理后还原成信号,这就是红外的简单发射接收原理。[5]2系统设计方案论证2.1设计目的与原理目前市场上一般采用的遥控编码及解码集成电路。此方案具有制作简单、容易等特点,但由于功能键数及功能受到特定的限制,只适合用某一专用电器产品的应用,应用范围受到限制。而采用单片机进行遥控系统的应用设计,具有编程灵活多样、操作码个数可随意设定等优点[6]。本单片机遥控应用系统采用红外线发射频率的不同,来识别不同的遥控功能。当我们按下某一个按键的时候,由单片机识别出该按键后,由CPU向接有红外发射管的端口发射一定频率的脉冲,该脉冲与38KHz左右的载波脉冲进行调制,然后将已调制的脉冲进行缓冲放大,激励红外发光二极管将电能转化为光能,使得红外发光二极管发射出一定频率的红外线[7],当接收控制系统接收到该红外光后,由单片机内定时/计数器得到该红外光的频率,然后将该频率送往CPU,由CPU对该信号进行反编码,识别出控制信号,从而对控制电路实施控制功能。完成整个遥控功能[8]2.2单片机红外遥控发射器设计原理单片机红外遥控发射器主要有单片机、行列式键盘、低功耗空闲方式控制电路、红外管发射电路以及单片机的一些电源、复位、震荡子电路组成[9]。单片机不工作时一直处于低功耗状态,采用了空闲节电工作方式。当遥控器的某一按键被按下以后,外部中断1产生中断,唤醒单片机进入工作状态,查询键盘按下的是哪一个按键,当确认按键后,控制软件启动定时器T0、T1,T1作为发射时间控制器,T0作为红外线发射频率控制器,T0定时溢出时中断程序使红外管接口电平反转一次,写入定时器的初值不同,在输出端口就得到不同的发射频率。T1定时溢出时中断程序关闭关闭T0定时器,停止红外线发射[10]。其设计原理框图如下。ATAT89C2051单片机+5V电源行列式键盘低功耗空闲方式控制电路红外管发射电路图2.1单片机遥控发射器设计原理图2.3单片机红外遥控接收器设计原理单片机红外遥控接收器主要有单片机、红外遥控接收电路、状态指示电路、控制电路以及单片机的一些外围电路组成。AT89C2051单片机红外接收电路状态指示电AT89C2051单片机红外接收电路状态指示电路控制电路+5V电源图2.2红外接收遥控电路原理框图3系统硬件电路设计3.1有关AT89C2051单片机的介绍简介AT89C2051是一个低电压,高性能CMOS8位单片机。片内含有2KB可反复擦写的只读存储器〔EPROM和128B的随机存取存储器〔RAM,器件采用ATMEL的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储器,功能强大。AT89C2051只有20个双向输入/输出〔I/O端口,其中P1是完整的8位双向I/O口,两个外中断,2个16位可编程定时/计数器,两个全双向串行通信口,一个模拟比较放大器此外,AT89C2051的时钟频率可为零,即具备可用软件设置的睡眠省电功能,系统的唤醒方式有RAM、定时/计数器、串行口和外中断口,系统唤醒后即进入工作状态,省电模式中,片内RAM将被冻结,时钟停止震荡,所有功能停止工作,直至系统被硬件系统复位方可继续工作[12]。引脚介绍Vcc:接+5V电源正端GND:接+5V电源地端P1.0—P1.7:完整的双向串行通信接口,P1.0与P1.1还有第二种功能P3.0—P3.7:除P3.6外,双向I/O口,除P3.7外,均有第二功能,第二功能与MCS-51系列单片机基本相同XTAL1:震荡器反向放大器内部工作时钟输入端XTAL2:震荡器反向放大器的输出端RST:复位引脚,震荡器工作时,该引脚上两个机器周期的高电平复位[10]图3.1AT89C2051引脚图主要功能特性●兼容MCS51指令系统●15个双向I/O口●两个16位可编成定时/计数器●时钟频率0—24MHz●两个外部中断源●可直接驱动LED●低功耗睡眠功能●可编程URRL通道●2KB可反复擦写FlashROM●6个中断源●2.7—6.0V宽工作电压范围●128*8位内部RAM●两个串行中断●两级加密位●内置一个模拟比较放大器●软件设置睡眠和唤醒功能3.1.3AT89C2051单片机的主要组成部分1.CPUCPU是单片机的核心部分,他的作用是读入和分析每条指令,根据每条指令的功能要求,控制各个部件执行相应的操作。AT89C2051单片机内部有一个8位的CPU,它是由运算器和控制器组成[13]。A.运算器运算器主要包括算术、逻辑运算部件ALU、累加器ACC、寄存器B、暂存器YMP1、YMP2、程序状态寄存器PSW、布尔处理器及十进制调整电路等。运算器主要用来实现数据的传送、数据的算术运算、逻辑运算和位变量处理等。B.控制器控制器包括时钟发生器、定时控制逻辑、指令寄存器指令译码器、程序计数器PC、程序地址寄存器、数据指针寄存器DPTR和堆栈指针SP等。控制器是用来统一指挥和控制计算机进行工作的部件。它的功能是从程序存储器中提取指令,送到指令寄存器,再进入指令译码器进行译码,并通过定时和控制电路,在规定的时刻发出各种操作所需要的全部内部控制信息及CPU外部所需要的控制信号,如ALE、PSEN、RD、WR等,使各部分协调工作,完成指令所规定的各种操作。2.存储器A.程序存储器程序存储器用于存放编好的程序、表格和常数。CPU的控制器专门提供一个控制信号EA来区分内部ROM和外部ROM的公用地址区:当EA为无效电平时,单片机从片内ROM的2KB存储器取指令,而当指令超过07FFH后,就自动转向片外ROM取指令;当EA为有效电平时,CPU只从片外ROM取指令。在程序存储器中,有6个单元具有特殊存储功能。0000H—0002H:是所有执行程序的入口地址,2051单片机复位后,CPU总是从0000H单元开始执行程序。0003H:外部中断0入口。000BH:定时/计数器0溢出中断入口。0013H:外部中断1入口。001BH:定时/计数器1溢出中断入口。0023H:串行口中断入口。使用时,通常在这些入口地址处存放一条绝对跳转指令,使程序跳转到用户安排的中断程序起始地址,或者从0000H起始地址跳转到用户设计的初始程序上。B.数据存储器片内数据存储器的8位地址共可寻址256B单元,2051单片机将其分为两个区:00H—FFH的128B单元为片内RAM区,可以读、写任何数据;80H—FFH的高128B单元为专用寄存器区。在低128B的内部RAM中,前32个单元〔地址为00H—1FH为通用工作寄存器区,共分为四组〔寄存器0组、1组、2组、3组,每组8个工作寄存器由R0—R7组成,共占32个单元。选用哪一组由程序状态字PSW中的RS1、RS0 这两位的设置决定,若程序并不需要四个4组工作寄存器,那么剩下的工作寄存器可作一般的存储器来使用。CPU在复位时自动选中0组20H—2FH的16个单元为位寻址区,每个单元8位,共128位。其位寻址范围为00H—7FH。位寻址区的每一位都可当作软件触发器,由程序直接进行处理。程序中通常把各种程序状态标志、位控变量设在位寻址区。同样,位寻址区的RAM单元也可作为一般的数据存储器按字节单元使用。3.特殊功能寄存器A.累加器A累加器A是一个最常用的8位特殊功能寄存器,它既可用于存放操作数,也可用于存放运算的中间结果。大部分单操作数指令的操作数就取自累加器。用ACC表示A的符号地址。B.寄存器B寄存器B是一个8位寄存器,主要用于乘法和除法的运算。乘法运算时,B中存放乘法,乘法操作后,乘积的高8位又存于B中;除法运算时,B中存放除数,出发操作后,B中又存放余数。在其他指令中,寄存器B可作为一般的寄存器使用,用于暂存数据[14]。3.2定时器/计数器主要特性AT89C2051单片机有两个可编程的定时器/计数器——定时器/计数器0与定时器/计数器1,可有程序选择作为定时器用或作为计数器用,定时时间或记数值也可由程序设定。每一个定时器/计数器具有4种工作方式,可用程序选择。任一定时器/计数器在定时时间到或记数值到时,可有程序安排产生中断请求信号或不产生中断请求信号[15]。定时/计数器0和1的控制和状态寄存器特殊功能寄存器TMOD和TCON分别是定时/计数器0和1的控制和状态寄存器,用于控制和确定各定时/计数器的功能和工作模式。1.模式控制寄存器TMODTMOD用于控制T0和T1的工作方式和4种工作模式。其中低4位用于控制T0,高4位用于控制T1。其格式如下:GATEC/T非M1M0GATEC/T非M1M0GATE位:门控位。当GATE=1时,只有INTO非或INT1非引脚为高电平且TR0或TR1置1时,相应的定时/计数器才被选通工作;当GATE=0,则只要TR0和TR1置1,定时/计数器就被选通,而不管INT0非或INT1非的电平是高还是低C/T非位:计数/定时功能选择位。C/T非=0,设置为定时器方式,计数器的输入是内部时钟脉冲,其周期等于机器周期。C/T非=1,设置为计数器方式,计数器的输入来自T0〔P3.4或T1〔P3.5端的外部脉冲。M1、M0位:工作模式选择位。2位可形成4中编码,对应4种工作模式,见下表:M1M0功能描述00方式0:13位定时器/计数器01方式1:16位定时器/计数器10方式2:具有自动重装初值的8位定时器/计数器11方式3:定时/计数器0分为两个8位定时/计数器,定时/计数器1在此方式无实用意义2.控制寄存器TCONTCON用来控制T0和T1的启、停,并给出相应的控制状态,高4位用于控制定时器0、1的运行;低4位用于控制外部中断。格式如下:TF1TR1TF0TR0IE1IT1IE0IT0TF1:定时器1溢出标志。当定时器1溢出时,由硬件置1。使用查询方式时,此位做状态位供查询,查询有效后需由软件清零;使用中断方式时,此位做中断申请标志,进入中断服务后被硬件自动清零。TR1位:定时器1运行控制位。该位靠软件置位或清零,置位时,定时/计数器接通工作,清零时,停止工作。TF0位:定时器溢出标志位,其功能和操作情况类同于TF1。TR0位:定时器0运行控制位,其功能和操作类同于TR1。IE位:外部中断请求标志位。当CPU采样到INT0非〔或INT1非端出现有效中断请求时,IE0〔或IE1由硬件置1,中断响应完成后转向中断服务时,再由硬件自动清零。IT位:外部中断请求出发方式位。IT0〔IT1=1为脉冲触发方式,后负跳有效。IT0〔IT1=0为电平触发方式,低电平有效。3.定时/计数器的初始化AT89C2051单片机的定时/计数器是可编程的,因此,在进行定时或计数之前也要用程序进行初始化。初始化一般应包括以下几个步骤:对TMOD寄存器赋值,以确定定时器的工作模式;置定时/计数器初值,直接将初值写入寄存器的TH0,TL0或TH1,TL1;根据需要,对寄存器IE置初值,开放定时器中断;对TCON寄存器中的TR0或TR1置位,启动定时/计数器,置位以后,计数器即按规定的工作模式和初值进行计数或开始定时。在初始化过程中,要置入定时/计数器的初值,这时要做一些计算。由于计数器是加法计数,并在溢出时申请中断,因此不能直接输入所需的计数值,而是要从计数最大值倒退回去一个计数值才是应置入的初值。设计数器的最大值为M〔在不同的工作模式中,M可以为8192,65536,256,则置入的初值可以这样来计算。计数方式时X=M—记数值定时方式时〔M—XT=定时值所以X=M—定时值/T式中,T为计数周期,是单片机的机器周期[13]。3.2.3T0和T1的4种工作方式方式0:13位定时/计数器,TL1〔或TL0的低5位和TH1〔或TH0的8位构成,TL中的高3位弃之未用。当TL的低5位记数溢出时,向TH进位,而全部13位计数器溢出时使计数器回零,并使溢出标志TF置1,向CPU发出中断请求。方式1:16位定时/计数器,其逻辑电路和工作情况与方式0几乎完全相同,唯一的差别就是方式1中TL的高3位也参与了计数。方式2:把TL配置成一个可以自动重装载的8位定时/计数器方式3:仅对T0有意义,将16位定时/计数器分成两个互相独立的8位定时/计数器TL和TH,3.3独立式按键结构独立式按键是指直接用I/O线构成的单个按键电路,每个独立式按键占有一根I/O口线,每根I/O口线上的按键的工作状态不会影响其他I/O口线的工作状态,其结构简单,但I/O口线浪费较大[16]。独立式按键配置灵活,软件结构简单,上拉电阻保证了按键断开时,I/O口线有确定的高电平,其电路原理图如下图3.2独立式按键电路3.4低功耗控制电路3.4.1低功耗的实现方法AT89C2051单片机的CPU有两种节电工作方式即空闲方式和掉电方式,遥控器采用了空闲节电方式。当CPU执行完IDL=1〔PCON.0=1指令后,系统进入空闲工作方式,这时内部时钟不向CPU提供,而只供给中断、串行口、定时器部分。遥控器退出低功耗空闲方式电路由与门来实现。当有键按下时,由与门触发外部中断1发生中断,单片机退出空闲工作方式,进入键盘和红外发射程序,结束后又进入低功耗空闲方式待机。使用过程中单片机基本上都处于空闲工作方式,功耗相当低,从而为使用电池电源提供保障。掉电保护和低功耗的设计1.掉电保护在单片机工作时,供电电源如果发生停电或瞬间停电,将会使单片机停止工作。待电源恢复时,单片机重新进入复位状态,停电前RAM中的数据全部丢失,这种现象对于一些重要的单片机应用系统是不允许的。在这种情况下,需要进行掉电保护处理。掉电保护具体操作过程如下。单片机应用系统的电压检测电路检测到电源电压下降时,触发外部中断〔INT0或INT1,在中断服务子程序中将外部RAM中的有用数据送入内部RAM保存。因单片机电源入口的滤波电容的储能作用,可以有足够的时间来完成中断操作。备用电源自切换电路属于单片机内部电路。它由两个二极管组成,当电源电压高于VPD引脚的备用电源电压时,VD1导通,VD2截止,单片机由电源供电;当电源电压降到比备用电源电压低时,二极管VD1截止,VD2导通,单片机由备用电源供电[15]。备用电源只为单片机内部RAM和专用寄存器提供维持电流,这时单片机外部的全部电路因停电而停止工作,时钟电路也停止工作,CPU因无时钟也不工作。当电源恢复时,备用电源还会继续供电一段时间,大约10ms,以确保外部电路达到稳定状态。在结束掉电保护状态时,首要的工作是将被保护的数据从内部RAM中恢复过来。当用户检测到一个掉电保护电路时,立即通过外部中断输入线INT0来中断单片机现行操作。外部中断0服务程序将有关数据信息送入片内RAM保存,然后向P1.0写入0,P1.0输出的这个低电平触发单稳态电路MC755。它输出的脉宽取决于R、C的数值及VCC是否以掉电。如果当单稳态定时输出后,若VCC仍然存在,这是一个假掉电报警,并从复位开始重新操作;若VCC已掉电,则断电期间由单稳态电路给RESET/VPD供电,维持片内RAM处于"饿电流"供电状态保存信息,一直维持到VCC恢复为止。80C51的掉电保护过程则不同。当电压检测电路检测到电源电压降低时,也触发外部中断,在中断服务子程序中,除了要将外部RAM中的有用数据保存以外,还要将特殊功能寄存器的有用内容保护起来,然后对电源控制寄存器PCON进行设置。PCON寄存器的各位定义如下。D7D6D5D4D3D2D1D0SMOD———GF1GF0PDIDL其中,SMOD是波特率倍增位,在串行通信中使用。GF1、GF0:通用标志,由软件置位、复位。PD:掉电方式控制位,PD=1,则进入掉电方式。IDL:待机方式控制位,IDL=1,则进入待机方式。由软件将PD置1,就可以使单片机进入掉电保护状态。这时,单片机的一切工作都停止,只有内部RAM和专用寄存器的内容被保存。掉电保护时的备用电源是通过VCC引脚接入的。当电源恢复正常后,系统要维持10ms的恢复时间后才能退出掉电保护状态,复位操作将重新定义专用寄存器,但内部RAM的内容不变,可将被保护的内容恢复图3.3掉电保护电路2.低功耗设计在很多情况下,单片机要工作在供电困难的场合,如野外、井下和空中,对于便携式仪器要求用电池供电,这时都希望单片机应用系统能低供耗运行。以CMOS工艺制造的80C31/80C51/87C51型单片机提供了空闲工作方式。空闲工作方式〔通常也指待机工作方式是指CPU在不需要执行程序时停止工作,以取代不停的执行空操作或原地踏步等待操作,达到减小功耗的目的。空闲工作方式是通过设置电源控制寄存器PCON中的IDL位来实现的。用软件将IDL位置1,系统进入空闲工作方式。这时,送往CPU的时钟被封锁,CPU停止工作,但中断控制电路、定时/计数器和串行接口继续工作,CPU内部状态如堆栈指针SP、程序计数器PC、程序状态寄存器PSW、累加器ACC及其他寄存器的状态被完全保留下来。在空闲工作方式下,80C51消耗的电流由正常的24mA将为3mA。单片机退出空闲状态有如下两种方法。第一种是中断退出。由于空闲方式下,中断系统还在工作,所以任何中断的响应都可以使IDL位由硬件清零,而退出空闲方式下,单片机就进入中断服务程序。第二种是硬件复位退出。复位时,各个专用寄存器都恢复默认状态,电源控制寄存器PCON也不例外,复位使IDL清零,退出空闲工作方式。MCS—51的掉电保护也是一种节电工作方式,它和空闲工作方式一起构成了低功耗工作方式。一旦用户检测到掉电发生,在VCC下降之前写一个字节到PCON,使 PD=1,单片机进入掉电方式。在这种方式下,片内震荡器被封锁,一切功能都停止,只有片内RAM00H—7FH单元的内容被保留。在掉电方式下,Vcc可降至2V,使片内RAM处于50微安左右的"饿电流"供电状态,以最小的耗电保存信息,Vcc恢复正常之前,不可进行复位;当Vcc正常后,硬件复位10ms即能使单片机退出掉电方式[17]。在该电路中,退出空闲工作方式采用中断的方法。当遥控键盘上的人任一个按键按下以后,与门输出即为低电平,触发INT1引脚,外部中断1响应,使IDL位清零,退出空闲工作方式,恢复正常状态。其硬件电路如下。图3.4低功耗控制电路3.5CPU时钟电路时钟电路用于产生单片机工作所需要的时钟信号。时钟信号可以有两种方式产生:内部时钟方式和外部时钟方式。内部时钟方式2051单片机有一个高增益反向放大器,用于构成振荡器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。在XTAL1和XTAL2两端跨接晶体或陶瓷振荡器,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟发生器,见下图,外接晶振时,C1、C2值通常选择为30pF左右;外接陶瓷振荡器时,C1、C2约为47pF。C1、C2对频率有微调作用,震荡频率范围是1.2—12MHz。为了减少寄生电容,更好的保证振荡器稳定可靠的工作,谐振器和电容应尽可能安装的与单片机芯片靠近。内部时钟发生器实质上是一个二分频的触发器,其输出信号是单片机工作所需的时钟信号。外部时钟方式外部时钟方式是采用外部振荡器,外部振荡信号由XTAL2端接入后直接送至内部时钟发生器。输入端XTAL1应接地,由于XTAL2端的逻辑电平不是TTL的,故建议外接一个上拉电阻。一般情况下,单片机时钟输入均采用内部时钟方式,外接一个震荡电路,本系统采用内部时钟方式,晶振采用12MHz,其电路如下。图3.5AT89C2051时钟电路3.6复位电路复位状态计算机在启动时,系统进入复位状态。在复位状态,CPU和系统都处于一个确定的初始状态或成为原始状态,在这种状态下,所有的专用寄存器都赋予默认值。其复位状态见下表。表3.1复位状态各寄存器初值专用寄存器复位状态专用寄存器复位状态PCACCBPSWSPDPTRP0—P3IPIE0000H00H00H00H07H0000HFFHXXX00000B0XX00000BTMODTCONTH0TL0TH1TL1SCONSBUFPCON00H00H00H00H00H00H00HXXXXXXXXB0XXX0000B复位电路单片机复位电路包括片内、片外两部分,片外复位电路通过引脚加到内部复位电路上,内部复位电路在每个机器周期S5P2对片外信号采样一次,当RST引脚上出现连续两个机器周期的高电平时,单片机就完成一次复位。外部复位电路就是为内部复位电路提供两个机器周期以上的高电平而设计的,AT89C2051通常采用上电自动复位和按键手动复位两种方式。上电复位电路在通电瞬间,在RC电路充电过程中,RST端出现正脉冲,从而使单片机复位。按键手动复位又分为按键电平复位和按键脉冲复位,按键电平复位是将复位端通过电阻与Vcc相连,按键脉冲复位是利用RC微分电路产生正脉冲来达到复位的目的。本系统设计时采用的是上电复位方式,其电路原理图如下。3图3.6复位电路3.7红外发射电路的设计根据红外发射管本身的物理特性,必须要有载波信号与即将发射的信号相"与",然后将相"与"后的信号送发射管,才能进行红外信号的发射传送,而在频率为38KHz的载波信号下,发射管的性能最好,发射距离最远,所以在硬件设计上,本设计采用38KHz的晶振产生载波信号,与发射信号进行逻辑"与"运算后,通过三极管的功率驱动到红外发光二极管上[18]。红外发送电路由4001MOS或非门38KHz振荡器,单片机发送控制电路和红外发送管驱动输出电路组成,当单片机P3.4口输出为"0”时,发射管不发光,当单片机P3.4口输出为"1”时,红外发送管发出38KHz调制红外线具体的发射波形与电路如下图3.7调制过程中的波形图3.8红外发射电路3.8红外接收电路的设计红外接收电路专门采用集成电路RPM6938,RPM6938有三个引脚,一个接电源一个接地,另外一个接信号端,它集光电转换,解调和放大于一体[20]。当收到38KHz调制红外线时,RPM6938输出为"0",平时输出为"1"。信号脚接到P3.3和P3.4脚上,当RPM6938收到第一个红外脉冲时,触发INT1产生中断,使单片机退出低功耗状态,进入工作状态,同时使记数器0和定时器1开始工作[21]图3.9红外接收电路3.9完整的系统电路设计图完整的电路图见附录14系统软件设计4.1遥控发射器程序设计程序总体结构此系统是一个红外遥控发射器,设计目的就是根据按键的不同,发射出不同的红外信号。传统的遥控器都是采用遥控发射专用集成芯片,例如飞利浦公司生产专用芯片SAA3010,三菱公司生产的M50462P专用发射芯片。由于这些芯片的功能键数及功能受到特定的限制,只适合于某一专用电器产品的应用,应用范围受到限制。本系统采用单片机制作,采用编程的方法,由于编程具有灵活性,故应用范围较广,操作码可随意设定[22]。本系统采用的是按红外发射频率的不同,来识别不同的按键。操作键设定为8个,K0至K7,分别接至单片机的P1.0至P1.7口。对应的红外发射频率分别为300Hz、600Hz、900Hz、1200Hz、1500Hz、1800Hz、2100Hz、2400Hz。发射时间确定为一个定值,由定时器1来定时,时间为100ms,当100ms时间到定时器1发生中断,停止计时,红外光也停止发射。由定时/计数器0来控制发射频率,T0作为定时器,当T0定时时间到,中断程序使P3.4断口的电平反转一次,然后T0重新工作定时值与前相同,时间到中断程序使P3.4端口翻转一次,如此往复,红外信号就按一定的时间间隔发射出去。通过设定T0的定时时间来控制红外信号的发射频率[23]。平时遥控器工作在空闲方式下,当有键按下时,由外部中断1产生中断,使CPU回到工作状态,待执行完操作后又回到低功耗才状态。主程序主要由初始化程序、键盘扫描程序,定时器0中断服务程序、定时器1中断服务程序,外部中断1中断服务程序组成。主程序流程图如下:STARTSTART调初始化程序进入低功耗节电方式外部中断1中断CPU退出低功耗方式T0时间到T0时间到P3.4翻转一次T1时间到关T0、T1P3.4置1调延时程序K1键是否按下K2键是否按下K1键是否松开启动定时器T1定时50ms启动定时器T0定时3.33msK3键是否按下调延时程序NNN…YYY.………NYNYNY图4.1遥控发射主程序流程图当K2至K7键按下时,执行的程序类似于按下K1键所执行的程序。伪指令和初始化程序在初始化程序前,需要定义一些相关的伪指令,伪指令不能命令CPU执行某中操作,也没有对应的机器代码,它的作用仅用来给汇编程序提供某中信息。伪指令是汇编程序能够识别的汇编命令。控制信号的输入口P1.0—P1.7分别用按键开关键号K0—K7来定义;各频率红外信号对应的定时器T0的初值分别用K0H、K0L——K7H、K7L来定义,这样做不影响整个程序的执行,但便于阅读和理解程序。定义格式如下:K0BITP1.0…K7BITP1.7由于P1.0至P1.7对应的红外发射频率分别为300Hz、600Hz、900Hz、1200Hz、1500Hz、1800Hz、2100Hz、2400Hz,而T1的定时时间是50ms故在这七种状态下面,P3.4端口状态分别反转15次、30次、45次、60次、75次、90次、105次、120次。故定时器T0对应的定时时间分别为50ms/15、50ms/30、50ms/45、50ms/60、50ms/75、50ms/90、50ms/105、50ms/120,即分别为:3.33ms、1.67ms、1.11ms、0.833ms、0.667ms、0.556ms、0.476ms、0.417ms。由前述定时器初值计算方法可算出各状态定时器的初值。定时器T1的定时初值计算如下:由于工作在方式一,时钟频率为12MHz,故定时最大值M为65536初值X=M—定时值/TX=65536—50000/1=15536即T1的初值为15536,转化为十六进制为3CB0H各情况下,定时T0的定时初值计算如下:当按下K0键时,定时时间为3.33ms,此时定时器初值为X0=65536—3330/1=62206转化为十六进制为0F2FEH当按下K1键时,定时时间为1.67ms,此时定时器初值为X1=65536—1670/1=63866转化为十六进制为0F97AH当按下K2键时,定时时间为1.11ms,此时定时器初值为X2=65536-1110/1=64426转化为十六进制为0FBAAH当按下键K3时,定时时间为0.833ms,此时定时器初值为X3=65536-833/1=64703转化为十六进制为0FCBFH当按下键K4时,定时时间为0.667ms,此时定时器初值为X4=65536-667/1=64869转化为十六进制为0FD65H当按下键K5时,定时时间为0.556ms,此时定时器初值为X5=65536-556/1=64980转化为十六进制为0FDD4H当按下键K6时,定时时间为0.476ms,此时定时器初值为X6=65536-476/1=65060转化为十六进制数为0FE24H当按下键K7时,定时时间为0.417ms,此时定时器初值为X7=65536-417/1=65119转化为十六进制数为0FE5FH为了便于理解源程序,各种情况下定时器的初值采用K0H—K7H和K0L—K7L来表示,分别存入定时器的高8位和低8位。采用赋值伪指令EQU,格式如下:K0HEQU#0F2HK0LEQU#0FEH通常,在一个汇编语言源程序的开始,响应中断前,都要设置一条ORG伪指令来指定该程序在存储器中存放的起始位置。若省略ORG指令,则该程序从0000H单元开始存放。在一个源程序中,可以多次使用ORG伪指令,以规定不同程序段或数据段存放的起始地址,但要求16位地址由小到大顺序排列,不允许空间重叠。汇编语言结束应加一个END指令,表示汇编程序已经结束,处于END之后的程序,汇编程序不予处理。对于初始化程序,就是对P1口、P3口赋初值,此时遥控器没有工作,两个8位端口均赋以0FFH;设置定时器0和定时器1方式控制寄存器TMOD,由于T0和T1均工作在方式1,功能选择为定时器,故TMOD的值为11H,然后开放所有中断,将单片机设置为空闲工作方式,即将电源控制寄存器的值设为01H,初始化完毕,程序即进入键盘扫描程序。键盘扫描程序键盘扫描程序就是扫描键盘看是否有键按下,如有键按下,判断出是哪一个键,当确定按下某一个键后,即执行红外发射程序。扫描的方法是判断P1口各位的电平,无按键按下时,各位均为高电平,当某一个按键按下以后,该位即为低电平。通常,按键所用开关为机械弹性开关,均利用了机械触点的合、断。一个电压通过机械触点的断开、闭合过程,由于机械触点的弹性作用,一个按键开关在闭和时不会马上稳定接通,在断开时也不会一下断开。因而,在闭合和断开的瞬间均伴随着一连串的抖动,抖动时间的长短由按键的机械特性决定,一般为5—10ms。按键电路的消抖措施通常有硬件和软件两种方法[24]。硬件消除键盘抖动措施主要就是外加双稳态电路或者滤波电路的方法。本电路采用的是软件消抖的方法,就是调用一个延时子程序,延时时间设定为6ms,延时子程序如下: DL1:MOVR4,#0CHDL2:MOVR5,#0FFHDL3:DJNZR5,DL3DJNZR4,DL2RET延时时间的计算就是根据执行指令所需时间的总和,0CH、0FFH分别为十进制数的12和255,因此这个程序所耗用的时间为1+〔255*2+2+1*12+1+2=6160个机器周期由于晶振采用的是12MHz,所以1机器周期=1us,执行程序的总时间为6.16ms,与6ms存在0.16ms的误差,不过这不影响程序的执行。中断服务程序1.外部中断1外部中断1在程序中的作用就是唤醒单片机,使单片机从空闲方式回到工作状态。当有键按下时,通过与门触发外部中断1中断,IDL被硬件硬件清零,单片机结束低功耗空闲节电方式[25]。外部中断是由外部原因引起的,共有两个中断源,即外部中断0和外部中断1,相应的中断请求信号输入端是INT0和INT1。外部中断请求有两种触发方式,即电平触发方式和脉冲出发方式。定时器/计数器控制寄存器TCON的低四位用于控制外部中断请求和触发方式,有关的位表示如下:IE:外部中断请求标志位,当CPU采样到INT端出现有效的中断请求时,次位由硬件置1,表示外部事件请求中断,中断响应完成后,再由硬件自动清零。IT:外部中断请求触发方式控制位。当IT=1,选择脉冲触发方式〔也称边沿触发方式负跳变有效;当IT=0,选择电平出发方式,低电平有效。中断的允许或禁止是由片内的中断允许寄存器IE控制的。IE的格式如下:EA—ET2ESET1EX1ET0EX0IE的每一位都可以由软件置1或清零。且1——中断允许,0——中断屏蔽EA:中断允许总控制位。EA=0时,表示CPU禁止所有中断,即所有的中断请求被屏蔽;EA=1时,表示CPU开放中断,但每个中断源的中断请求是允许还是禁止,要由各自的允许位控制。EX:外部中断允许控制位ET:外部中断允许控制位。ET:定时/计数器的中断允许控制位ES:串行中断允许控制位。中断的各控制位在初始化程序中定义,在初始化程序中应当开外部中断1和总中断,触发方式选择为脉冲触发方式,后负跳变有效。中断程序如下:INT1:CLRIE1ANLPCON,#00HRETI2.定时器中断服务程序定时器T1作为发射时间控制器,当确认某一按键被按下后,T1开始记时,记时时间为50ms,记时时间到,定时器1产生中断,红外脉冲停止发射。同时将红外脉冲发射端口P3.4电平置成无效电平定时器T0作为红外线发射频率控制器,当定时时间到产生中断,将P3.4端口反转一次,同时对定时器重新装初值,定时时间与前相同,T0重新定时,时间到又将P3.4端口反转一次,如此往复,直到定时器1记时时间到,关闭定时器1和定时器0重新回到主程序。此处采用了一个位标志bz,在宏指令中将其定义为位寻址区的07H,当定时器在执行中断服务程序时,将该位定义为高点平1,使主程序不断的查询该位,当该位为1时,等待中断程序的执行,此时向外发射红外脉冲;当该位为0时,中断结束,主程序继续向下执行[26]。其流程图如下:启动定时器T0启动定时器T0T0定时时间到P3.4翻转一次,T0重新装初值,T1定时时间到确认是否有键按下开始启动定时器T1,定时时间为50ms返主YNYNNY图4.2定时器中断服务子程序流程图4.2遥控接收器程序设计程序总体结构遥控接收器是根据接收到的不同频率的红外光信号,由CPU转化为对应的控制功能对控制电路实施控制。当接收电路接收到第一个红外线脉冲时,中断INT1被触发,启动定时器1和计数器0。定时器1作为计数时间控制器,计数器0作为在规定记数时间内所记得的红外脉冲数。接收信号端接至P3.3和P3.4口,该两引脚为复用引脚,P3.3引脚复用为外部中断1请求输入端;P3.4引脚复用为定时器/计数器0计数脉冲输入端。当收到第一个红外脉冲时,INT1被触发,T0和T1开始工作,每收到一个红外脉冲,计数器0记数值加一,当定时器定时时间到,产生中断,保存计数器0的计数值。由于定时时间为50ms,故各种不同状态对应的红外脉冲数大约为15、30、45、60、75、90、105、120个,然后将记数值与上述各值比较。由于存在误差,计数器0的记数值不可能严格和上述值相等,只要近似相等就行,限制的误差范围为5,即将记数值加减5得到两个数值,再判断哪一个值在这一范围之内,即可断定遥控发射器发射出的红外信号的发射频率即为该值,从而可断定出遥控操作,然后由接收遥控器CPU将其转化为控制操作,对外电路实施控制功能[27]。P3.2口与地之间的开关SW为控制方式选择开关,当开关闭合,即P3.2=0,单片机输出为上锁控制方式,此状态下遥控器不能对控制电路实施控制功能;当开关断开,即P3.2=1,为单路控制方式,此状态下遥控器能对外电路实施控制功能。当外部中断1响应,自动检测该位的电平,若为0自动跳出,重新等待红外脉冲,在检测该位电平,如此循环,不对外电路发控制命令;若为1则继续执行下面的程序[28]。调初始化过程调初始化过程接收到第一个红外脉冲,INT1被触发启动计数器T0和定时器T1定时器T1定时时间到开始定时器T1中断,计数器T0停止计数查询各预定记数值是否在T0记数值加减5的范围内查到该值将对应P1口位的电平翻转返回SW=1YNY图4.3遥控接收主程序流程图初始化程序在初始化程序中,首先将P1口和P3口初始化,初值均为0FFH。外部中断1触发方式设置为电平触发方式,即将IT1位清零。在就是设置T0和T1的工作方式,由于T0为计数方式、T1为定时方式,故将将方式控制寄存器TMOD赋值为15H。为了便于编写和理解程序,将各种不同状态对应的红外脉冲数分别赋给X0到X7。由于在整个过程中要多次用到计数器0的计数值,所以应将该值予以保护,我们在这种情况下,通常的做法就是将该值放入堆栈,每次要使用时,在从堆栈里面调出。堆栈是微机的一种重要的存储器,它的一个重要特点是后进先出的方式工作,用于暂存信息的存储单元。他通常应用于在调用子程序前、响应中断前保护现场,将断点的有关信息送入堆栈,待子程序和中断服务程序执行完毕,再将断点信息弹出,恢复现场。最后就是开所有中断,等待INT1引脚被触发,进入中断服务子程序。4.2.3计数值比较程序将计时器计数值与欲置的计数值比较是定时器1中断服务程序的一部分。首先将两数直接比较,看是否相等,若相等,则直接返回;若不相等,则比较它们的大小,然后将较大数减去较小数,看差值是否在5以内。若在5以内,则可判定红外发射器发射的红外光的发射频率为该欲置数;若在5以外,则将该计数值与下一个欲置数比较,知道找到一个数与它的差值在5以内,如果找不到该值,则该操作无效。定时器1中断服务程序在遥控接收程序中,主要就是定时器1中断服务程序,它包括数值扫描与比较程序,以及对控制电路实施控制操作程序。其流程图如下:计数值与X0比较差值在5以内中断返回计数值与X2比较差值在5以内P1.1位电平翻转一次,使该位对控制电路实现开关控制P1.0位电平翻转一次,使该位对控制电路实现开关控制关计数器T0保存该计数值T1定时时间到开始计数值与X0比较差值在5以内中断返回计数值与X2比较差值在5以内P1.1位电平翻转一次,使该位对控制电路实现开关控制P1.0位电平翻转一次,使该位对控制电路实现开关控制关计数器T0保存该计数值T1定时时间到开始计数值与X1比较差值在5以内计数值与X1比较差值在5以内图4.4定时器1中断服务子程序流程图5总结与展望经过两个多月的思考与查阅,终于完成了这篇毕业论文。通过多方面的审查,可以认为在硬件与软件的设计上是没有问题的,由于实验室条件的限制,不能亲自做实验仿真,不过经过我理论上的分析,应该是可以达成我的目标的。但是由于时间的仓促,本系统还存在很多的不足,虽然本系统有8路遥控开关控制,但是在实际遥控控制系统中,一般要求的控制操作不止8路,这就要求系统进行功能的扩展,由于单片机引脚的限制,如果要扩展功能,就必须应用组合键来操作,不过也可以应用多片单片机来实现,但如果这样设计必将使遥控器的体积增大。而现代电器正朝小型化发展,所以一般不采用这种方法。而是在改变电路硬件结构的基础上重新编程,这样整个设计过程就变的相对复杂,由于时间和水平的限制,在此不考虑这种情况。另外一点不足就是精度的问题,由于红外管的灵敏度问题啊,以及系统在布线焊接上,器件与器件之间的相互干扰,多少存在一定的影响,所以这种遥控操作准确性还存在不足。最后一点就是单片机电源的稳定性,复位电路过于简单,使得系统的抗干扰能力不强,使系统不能稳定的运行。以上三点不足之处是我能想到的,系统肯定还存在其他方面的不足,还望老师能够赐教,指正出不足来。计算机的发展可以说是日新月异,它给我们的生活、工作带来了翻天覆地的变化,现代生产生活计算机无处不在。随着近代单片机的发展,人民的生活工作环境更是向着智能化、自动化方向发展,单片机主要的特点就是功能强大并且成本相当的低,所以很多领域都应用了单片机。我想,随着我们的努力,单片机应用技术会越来越成熟,它的功能会越来越强大。致谢经过两个多月来的艰苦努力,我的毕业论文终于取得了阶段性的进展,虽然我们未能最后将此系统做为产品,但我们自觉已在这两个多月之内尽了自己的最大的努力,去钻研这个系统,从用PROTEL布线布板到收集大量的有关本系统的文献资料再到周期非常长的软件调试,我们接触了真正设计一个电子产品的全部过程,学到了很多实实在在的学问。经历不知从何入手的无助,不知程序为什么出错的苦恼,初现光芒的窃喜还有最后攻破难关的欢呼。现在回头想想,真的是很有意义非常感谢指导老师谭忠祥老师的指导,谭老师总是在百忙之中抽出时间来对我们悉心指导,为我们提出了各方面的指导意见,为我们提供各方面的重要资料,是我们的工作进程中的中坚力量。非常感谢杨永超老师一直对我们工作的支持和提出的宝贵意见非常感谢黄勇老师一直不辞辛苦的为我们准备好优越的实验设备,工具,电子元件和实验环境。非常感谢本班的诸多兄弟姐妹,他们与我们一起分担这段岁月的酸甜苦辣,他们真的为我们付出了很多,他们严谨的治学态度,刻苦勤奋的作风,坚持锻炼身体的意志一直都是我们学习的榜样。我们要感谢以上这些伴随我们共同度过这些艰苦岁月的幕后英雄,他们一直在我们背后默默的付出,给予我们强大的物质与精神的支持,在我们最需要帮助的时候,他们会及时的出现在我们面前。再次感谢他们参考文献[1]梅丽凤,王艳秋,张军等.单片机原理及接口技术.北京:清华大学出版社,北京交通大学出版社,2004.2~4[2]李湘闽,唐宏,葛继.学习型红外遥控器.红外.2004,11<8>:33~36[3]李洪明.漫谈红外遥控.电子世界.20XX01期总第244期.53[4]戴峻峰,付丽辉.多功能红外线遥控器的设计.传感器世界.2002,8<12>:16~18[5]严后选,孙健国等.无线红外智能遥控器的设计.测控技术.2003.22<3>:54~56[6]李光飞,楼然苗,胡佳文等.单片机课程设计实例指导.北京:北京航空航天出版社.2004,168~170[7]苏长赞.红外线与超声波遥控.北京:人民邮电出版社.1995.64~68[8]杨恢先,王子菡,杨穗,陶霞.一种基于单片机的红外遥控软件解码方法.自动化与仪器仪表.2004,22<2>:16~18[9]张爱全.红外线遥控的基本原理和应用范围.XX电子技术.20036<12>.40-41[10]J;HS,Mcnivens,Ikebukurok.Acta,1999,3:116[11]苏凯刘国庆陈国平.MCS-51系列单片机原理与设计.冶金工业出版社.2003.23~26[12]曲泊涛.微型计算机系统原理接口与组装.XX:XX理工大学出版社1999,42~44[13]杨光友,朱宏辉等.单片微型计算机原理及接口技术.北京:中国水利水电出版社.2002,188~194[14]AngeloMartinez,EddieTunstel,MoJamshidi.Fuzzylogicbasedcollisionforamobilerobot.RoboticaColume,1994,12,521-527[15]胡汉才.单片机原理及系统设计.北京:清华大学出版社.2002,254~258[16]于明鑫,冯文涛.MCS-51系列单片机存储容量扩展的软硬件设计.XX师专学报,2004.10,24:23~35[17]杨绪东,刘行景,杨兴瑶.实用电子电路精选.化学工业出版社.2001,4.129~130[18]JohanBorenstein,YonamKoren.Histogramicin-motionmappingformobilerobotobstacleavoidance.IEEETransactionsonRoboticsandAutomation,2000,7:4[19]蔡睿研.红外线遥控集成电路PT2243原理及应用.国外电子元器件.2003.18<9>:52~54[20]曾哲昭.红外遥控电子密码锁应用研究.国外电子元器件.2002.11<2>:7~8[21]裴彦纯,陈志超.基于单片机系统的红外遥控器应用.现代电子技术.2004,4<17>,15~17[22]ChangP.ShhJS.AnalChim.Acta,1998,360<1-3>:61[23]DoicaAdrian,Schreier,Franz,Hess,Michael,IterayivelyregularizedGauss-newtonmethodforatmosphericremotesensing[J],computerphysicscommunications,2002,148,214~226[24]刘光斌,刘冬,姚志成.单片机系统实用抗干扰技术.北京:人民邮电出版社2004,135~138[25]丁元杰.单片机原理及应用.北京:机械工业出版社.2003,71~75[26]Carlj.Weisman.TheEssentialGuidetoRFandWireless.PublishingHouseofElectronicsIndustry.2003,6.227~229[27]鲍晓宇,黄松岭,刘国权.PLD器件在红外遥控解码中的应用.电子技术应用.2000,8<19>.67~69[28]童厚健,吴青,孙光明.一种红外遥控系统的硬件和软件实现.自动化技术与应用.2004,6〔14.14~18附录1红外发射电路图:红外接收电路图:附录2红外遥控发射源程序清单:K0BITP1.0K1BITP1.1K2BITP1.2K3BITP1.3K4BITP1.4K5BITP1.5K6BITP1.6K7BITP1.7BZBIT07HK0HEQU

温馨提示

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

评论

0/150

提交评论