找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1758|回复: 0
收起左侧

汽车51

[复制链接]
ID:246407 发表于 2017-11-6 08:45 | 显示全部楼层 |阅读模式
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image002.gif
电子与信息工程学院
本 科 毕 业 论 文
论文题目  基于51单片机的红外遥控的   
        开关的设计           
  


摘  要
本设计是基于红外遥控和AT89C51单片机控制的红外遥控开关,这种系统具有很强的适用性、灵活性、先进性,它的应用大大方便了人们的生活。本文给出了系统的硬件组成和硬软件设计方法,介绍了解码程序的基本结构和程序框图,为达到准确控制,将发射脉冲分为连接段、控制段和结束段等3部分,并再接收端进行校验。整个系统由发射和接收两个部分组成。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括LED红外光、解调、解码电路。系统在实际实用后,证明其方便、可靠并具有实用价值。
关键词:AT89C51芯片;红外遥控开关


ABSTRACT
The design of an infraredremote-control multi-line switch is introduced.This switch is based onprinciple of infrared remote-control and AT89C51 single chip microcomputer controlling .Thissystem has strong applicability,flexibilityand advancement.People's life is improved greatly by Its apply. Itssystem composition and design of hardware and software are presented. The basicstructure and chart of control decode program are also expounded. In order toachieve exact remote-control, the transmitted signal is divided into 3parts:the connecting section, the controlling section and the ending section,then the receiver will verify it.The whole system is composed by the launchespartially and the receives partially two parts.Launches partially including thekeyboard matrix,the coded modulation,the LED infrared transmitter;Receivespartially including the LED infrared light launch,the demodulation,decodes theelectric circuit. It was proved that this kind of remote-control is convenient,reliable and practical after using in remote-control system.
Key words: the chip of AT89C51; infrared remote-control switch


目  录





1    1.1 课题背景
继1971年微处理器的研制成功不久,就出现了单片机,但最早的单片机是一位的,单片机以其卓越的性能,得到了广泛的应用,已经深入到各个领域。单片机应用在检测、控制领域中,具有以下特点:小巧灵活、成本低、易于产品化。它能方便的组装成各种智能测控设备及各种智能仪表仪器。可靠性好,适合温度范围宽。单片机芯片本身是按工业测控环境要求设计的,分为民用、工业品、军品、其中工业品和军品具有较强的适应恶劣环境的能力。由于单片机本身就是一个计算机系统,因此,只要在单片机的外围适当加一些必要的扩展电路及通道接口,就可以构成各种应用系统,如工业控制系统、数据采集系统、自动测试系统、检测监视系统、智能仪表、功能模块等。单片机的应用领域十分广泛,自20世纪80年代以来,单片机的应用已经深入到工业、农业、国防、科研、机关、教育、商业以及家电、生活、娱乐、玩具等各个领域中。
1.2 应用前景
本次设计是基于单片机的红外遥控开关系统,它在我们的生产和生活中有着很广泛的应用前景。在我们所居住的场所,我们就可以通过红外遥控技术来控制各种电器、仪表、机械等。这种系统具有很强的适用性、灵活性、先进性。它的应用将我们的生活变的更加轻松。大大方便了人们的生活随着信息技术的不断向前发展,一些功能更强的应用系统将出现在我们的各个方面,这将体现着高科技带给人们的无穷魅力。



2   总体设计方案2.1  机型及元器件选择
    此次设计所采用的单片机的名称是AT89C51,用其控制红外信号。在发射部分的电路中我所采用的元器件有AT89C51芯片、发光二极管、三极管、警惕振荡器等。在红外接收部分采用的元器件有LED数码管显示器、红外接收器ST188等。
2.1.1单片机的选择
单片机的主要性能指标有【1,2】:字长、主频、指令执行时间、电源功耗等。选择单片机不仅要考虑其主要的性能指标,更要考虑单片机的中断能力、接口、片内存储器大小、抗干扰能力等。本次设计所选的单片机为AT89C51,AT89C51单片机的引脚结构图如图2-1所示。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image004.gif
图2-1AT89C51引脚图
    40只引脚按功能来分,可以分为如下几类:
    1)电源及时钟引脚:Vcc、Vss、XTAL1、XTAL2。
    2)控制引脚:/PSEN、ALE、/EA、RESET(即RST)。
    3)I/O口引脚:P0、P1、P2、P3,为4个8位I/O的外部引脚。
2.1.2 AT89C51单片及的硬件结构
1) 微处理器(CPU):一个8位的CPU,与通常的CPU基本相同,同样还包括了运算器和控制器两部分,只是增加了面向控制的出路功能,不仅可以处理字节数据还可以进行变量的处理。
2)数据存储器(RAM):片内为128B,片外最多可以外扩64KB。片内的128B的RAM以告诉RAM形式集成在单片机内。可以加快但单片机的运行速度,而且这种结果的RAM可以降低功耗。
3)程序存储器(ROM/EPROM):用来存储程序,8031没有此部件,8051为4KB的ROM;8751为4KB的EPROM。片外最多可以扩至64KB。
4)4个8位并行I/O口(P0、P1、P2、P3)
5)1个串行口:1个全双工的串行口,具有4种工作方式。可以用来进行串行通信,扩展并行I/O口,甚至与多个单片机相连接构成多机系统,从而使单片机的功能更加强且应用更广。
6)2个16位定时器/计数器。
7) 中断系统:具有5个中断源,2级中断优先权。
8) 特殊功能寄存器(SFR):共有21个、用于CPU对片内各功能部件进行管理、控制、监视。是一些控制器和状态寄存器,具有特殊功能的RAM区。
AT89C51是一种低功耗、高性能、内含4KB闪速存储器(FlashMemory)的8位CMOS控制器。这种器件系以ATMEL高密度不挥发存储技术制造,与工业标准MCS——51指令系统和引脚完全兼容。片内闪速存储器的程序代码或数据可以在线写入,亦可通过常规的编程器编程。例如MP——100这样的经济型编程器,它支持痛哟个EPROM等各种存储器、PAL(可编程阵列逻辑)、GAL(通用阵列逻辑)以及Intel,ATMEL和Philips等公司全系列51单片机的编程。ME5103和ME5105仿真器支持AT89系列所有器件的调试、仿真和编程。
AT89C51芯片内部具有下列硬件资源:4KB闪速存储器、128个字节RAM、32条I/O线,两个16位定时/计数器、五源两级终端结构、全双工串行口、片内振荡器及时钟电路等。
正是由于AT89C51具有以上优点,所以我选择了它作为系统硬件所选单片机类型。
2.2 软、硬件功能划分
本次设计的硬件部分包括红外发射和红外遥控接收两个部分的电路【3,4】。关于电路的工作原理将在相应的章节介绍,在次就不做赘述。
系统的软件部分的设计就要求在红外遥控发射端对红外信号进行编码,在接收端对所读取的编码进行解码,这就要求编译显影的功能程序执行各自操作,最终实现对硬件电路的智能控制的目的。软件部分的程序包括键盘扫描程序、剪号处理程序、38KHz载波及编码脉冲发射程序、遥控接收及处理程序、延迟子程序。
2.3 总体方案设计
系统组成如图2-2所示【5】。系统由发射部分和接收部分组成。发射部分采用脉冲个数编码,将待发射信号调制成38KHz的载波信号,由红外发射管进行发射。接收部分由红外接收管进行解码接收,单片机通过对所接收信号的分析,输出相应的控制信号,由发光二极管和数码管指示出发射部分按下的按键号。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image006.jpg
图2-2 红外遥控开关系统组成



3   系统的设计3.1 系统硬件设计3.1.1 硬件要求
一个单片机应用系统的硬件设计包括两大部分内容:
1.单片机系统的扩展部分设计。它包括存储器扩展和I/O接口扩展。存储器的扩展指RPROM、EEPROM和RAM的扩展。他们属于单片机系统扩展的内容。
2.各个功能模块的设计。如信号测量功能模块、信号控制功能模块、人机对话功能模块、通信功能模块等,根据系统功能要求配置相应的A/D、D/A、键盘、显示器、打印机等外围设备。
由HRM5700B红外先发射管及相关元件组成的红外发射电路中的红外信号经过AT89C51单片机处理时对其定时器/计数器的工作方式的选择有直接影响。首先了解AT89C51单片机的4种工作方式是硬件设计必不可少的步骤。
AT89C51单片机的定时器/计数器的结构如下乳3-1所示【6】。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image008.jpg
图3-189C51 定时器/计数器结构图
定时器/计数器 T0由特殊功能寄存器TH0、TL0构成,定时器/计数器T1由特殊功能寄存器T1、TL1构成。特设功能寄存器TMOD用于选择定时器/计数器T0、T1得工作模式和工作方式。特殊功能寄存器TCON用于控制T0、T1得启动和停止计数,同时包含了T0、T1得状态。TMOD、TCON这两个寄存器得内容由软件设置。单片机复位时,两个寄存器得所有位都被清0。
定时器/计数器得4种工作方式:
1.方式0:为13位计数器,由TLX(X=0,1)得低5位和THX得高8位所构成。TLX低5位溢出则向THX进位,THX计数溢出则置位TCON中的溢出标志位TFX。
这时定时器/计数器的等效框图如图3-2所示。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image010.jpg
图3-2 定时器/计数器方式0逻辑结构图
图中C/T位控制的电子开关决定了定时器/计数器得工作模式:
(1) C/T=0,电子开关打在上面位置,T1为定时器工作模式,以系统时钟振荡器12分频后的信号作为计数信号。
(2) C/T=1,电子开关打在下面位置,T1位计数器工作模式,计数器脉冲为P3.5引角上的外部输入脉冲,当引脚上发生负跳变时,计数器加1.
GATE位的状态决定定时器/计时器运行控制取决于TRX一个条件还是TRX和INTX引脚这两件。
    2.  方式1:当M1、M0为01是,定时器/计数器工作于方式1,这时定时器/计数器的等效电路如下图3-3
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image011.jpg
图3-3定时器/计数器方式1逻辑结构图
3  方式2:
方式0和方式1的最大特点是计数溢出后,计数器为全0.因此在循环定时或循环计数用时就存在反复装入计数初值的问题。这不仅影响定时精数,而且也给程序设计带来麻烦。方式2就是针对此问题而设置的。当M1、M2为10时,定时器/计数器处于工作方式2,这时定时器/计数器得等效框图如图3-4所示。这种工作方式可以省去用户软件中得重装初值的程序,简化定时初值的计算方法,可以相当精确的确定定时时间。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image012.jpg
图3-4定时器/计数器方式2逻辑结构图
红外遥控开关系统的硬件电路包括红外发射电路和接收电路两部分。
3.1.2 键盘接口
键盘在单片机应用系统中能实现向单片机输入数据、传送命令等功能,是人工干预单片机的主要手段。键盘实质上是一组案件开关的集合。通常,键盘开关利用了机械触点的断开、闭合作用。键的闭合与否,反映在行线输出电压上就是呈现高电平或低电平,如果高电平表示键断开,低电平表示键闭合,通过对行线电平高低状态的检测,便可以确认案件按下与否。为了确保CPU对一次按键动作只确认一次案件有效,必须消除抖动期的影响。
常用的键盘接口分为独立式和行列式键盘接口【7】。独立式键盘适用于按键较少或操作速度较高的场合。行列式(也称矩阵式)键盘用于按键数目较多的场合,它由行线和列线组成,按键位于行、列的交叉点上。本次设计所采用的键盘接口就是这种。行列键盘的结构如下图3-5所示。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image013.jpgfile:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image014.jpg
图3-5行列式键盘结构
行列式键盘的工作原理:按键设置在行、列线分别连接到按键开关的两端。行线通过上拉电阻接到+5V上。无按键按下时行线处于高电平状态,而当有按键按下时,行线电平状态将由此行线相连的列线的电平决定。列线的电平如果为低,则行线电平为低;列线的电平如果为高,则行线亦为高。这一点是识别行列式键盘是否按键的关键所在。由于行列式键盘中行、列线为多键共用,各按键均影响该键所在行和列的电平。因此各按键彼此将互相发生影响,所以必须将行、列信号配合起来并做适当的处理,才能确定闭合键的位置。
3.1.3 LED显示器
常用的LED显示器为8段或7段(8段比7段多了以个小数点“dp”段)【8】。每一个段对应以个发光二极管。这种显示器由共阳极和共阴极两种。如图3-6所示。共阴极LED显示器的发光二极管的阴极连接在一起,通常次共阴极接地。当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被现实。同样,共阳极LED显示器的发光二极管的阳极连接在一起,通常此公共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。为了使LED显示器显示不同的符号和数字,就要把不同段的发光二极管点亮,这样就要为LED显示器提供代码,因为这些代码可使LED相应的段发光,从而显示不同字型,因此该代码称之为段码(或称为字型代码)。7段发光二极管在加上一个小数点,共计8段。因此提供给LED显示器的段码正好是1B。各段于字节中各位对应关系如下图3-6:
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image016.jpg   file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image018.jpg
图3-6 8段LED结构及外形
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image020.jpg
图3-7 发射部分电路图
3.1.4 发射部分
发射部分的电路原理图如图3-7所示【9】。图中AT89C51单片机为控制核心,P0作为键扫描端口,具有16个操作键,可分别控制单片机发出16种不同脉冲,执行16种操作。你9脚为单片机的复位脚,采用RC上电复位电路,第14脚作为红外遥控发射编码的输出脚,用于输出38KHz的载波编码信号。脉冲经T1放大然后由红外发射管HRM5700B输出。18、19脚接12M晶振。值得注意的是单片机的P0.0-P0.7口必须外接上拉电阻,否则发射部分将无法正常工作。
3.1.5 接收部分
接受部分的电路原理图如图3-8所示【9】。其中AT89C51(2)单片机为控制核心:P1.0~P1.7口作为数码管的二进制数据输出,通过数码管显示发射终端的按键号,同时P0口和P2口相应的二极管会显示亮灯;P3.0、P3.3口接收调解后的红外遥控信号,需要说明的是:
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image022.jpg
图3-8 接收部分电路原理图
1) 处于在开关机时灯应全灭的考虑,P0和P2口在系统上电初始化后将一直保持为高电平,知道接收到发射部分的控制信号,其状态才会发生改变;
2) 红外接收头采用一体化接收器HRM5700B,其解调频率为38KHz,当HRM5700B接收到38KHz的红外脉冲信号时输出为低电平,反之输出高电平。它是将光探测器与前置放大器封装在一起,以实现对脉冲编码信号调制的红外光信号的接收。
在系统工作时,HRM5700B对接收到的脉冲编码信号进行解调,解调后的信号输入至单片机的P3.0、P3.3口。
3.2 系统软件设计
本设计的软件分为发射部分和接收部分。
3.2.1发射部分的工作原理
系统上电初始化,然后调用键扫描处理子程序。当无按键按下时,系统处于等待状态;当有按键按下时,系统通过按键检查子程序,,检查按键号并转入相应的发射子程序。在发射子程序中,将待发射信号调制成38KHz的载波信号,由单片机的14脚输出,经三极管9013放大后驱动红外发射管ST188,发射调制脉冲信号。发射信号采用脉冲个数编码,不同的脉冲个数代表不同的编码,最小为6个脉冲,最大为21个脉冲,遥控码数据帧间隔为8ms。为达到控制准确的目的,将发射脉冲分为连接段、控制段和结束段。连接段为发射信号的前3个脉冲,脉冲宽度分别为4ms、2ms、4ms,脉冲间隔为1ms。结束段为发射信号的最后2个脉冲,脉冲宽度分别为2ms、4ms,脉冲间隔为1ms。中间为控制段,脉冲宽度和卖出那个间隔均为1ms。发射8个编码时的输出信号波形如图3-9所示。其中前3个脉冲为连接段。中间3个脉冲为控制段,最后2个脉冲为结束段。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image023.jpg
图3-9 发射8个编码时的输出信号波形图
3.2.2 接收部分工作原理
系统上电初始化后,对单片机的P3.3口进行检测,当其为高电平时,系统处于等待状态。当其为低电平时,将启动中断服务程序,实现接收数据帧。需要说明的是:数据帧采用中断方式进行接收,单片机在外中断1方式下工作。在数据帧接收时,将对所接收数据的前3位码的码宽进行验证。前3位码的码宽分别为4ms、2ms、4ms,若任意一位的码宽不满足要求,都将作为错误码处理,当系统接收到的高电平脉宽大于5ms时,结束脉冲接收。然后系统会对所接收脉冲的最后两位脉宽进行验证,其值应分别是2ms和4ms,否则将会作为错误码处理,最后系统根据累加器A中的脉冲个数,在单片机P0或P2口的某一对应引脚输出控制信号,同时在P1口输出相应的二进制数据。此时即完成一次数据的接收处理。HRM5700B接收8个编码时的输出信号波形如图3-10所示。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image024.jpg
图3-10 ST188 接收8个编码时的输出信号波形图
3.3 遥控系统的编码及解码3.3.1 遥控发射编码格式
采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0” ;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合二进制的“1” ,其波形如图3-11所示。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image026.gif
图3-11 遥控码的“0”和“1”(注:所有波形为接收端的与发射相反)
上述“0”和“1”组成的32位二进制码经38khz的载频进行二次调制以提高发射频率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,如图3-12所示。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image028.gif
图3-12 遥控信号编码波形图
遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45ms~63ms之间,图3-13为发射波形图。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image030.gif
图3-13 遥控连发信号波形
当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个引导码(9ms),一个结果码(4.5ms),低8位地址码(9ms~18ms),高8位地址码(9ms~18ms),8位数据码(9ms~18ms)和这8位数据的反码(9ms~18ms)组成。如果键按下超过108ms仍未松开,接下来发射的代码(连发码)将仅由起始码(9ms)和结束码(2.25ms)组成。
3.3.2 数据帧的接收处理
当红外线接收器输出脉冲帧数据时,第一位码的低电平将启动中断程序,实时接收数据帧。在数据接收时,先对第一位(起始位)码的码宽进行验证。若第一位低电平码的脉宽小于2ms,将作为错误码处理;否则认为是起始码,累加器A加1.当间隔位的高电平大于3ms时,结束接收,然后根据累加器A中的脉冲个数,执行相应的输出操作。图3-14为红外线接收器输出的一帧遥控码波形图。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image032.gif
图3-14 一帧遥控码波形图
3.4 遥控发射及接收控制程序流程图3.4.1 遥控发射控制流程图
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image034.gif
图3-15 遥控发射程序控制流程图
上左图是遥控发射的主程序,首先初始化程序,然后调用键扫描处理子程序。上右图为扫键过程,首先判断控制键是否按下,若有控制键按下则进行逐行扫描,按照P口值查找键号转至相应的发射程序。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image036.gif
图3-16遥控发射控制流程图
红外信号发射过程:首先装入发射脉冲个数(发射时为3ms脉冲,停发时为1ms脉冲),此时若发射脉冲个数为1则返回主程序,若不为1则发1ms脉冲,然后停发1ms脉冲,这样便结束整个发射过程。
在实践中,采用红外线遥控方式时,由于受遥控距离,角度等影响,实用效果不是很好,如采用调频或调幅发射接收码,可提高遥控距离,并且没有角度影响。
3.4.2 遥控接收控制流程图
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image038.gif
图3-17 遥控接收控制主流程图
遥控接收部分的主程序及初始化及延时过程如上:首先初始化,然后按照显示亮度数据设定调光脉冲延时值,看P3.0口的脉冲是否为0,若不为0则调入延时程序,此时P2.7口输出调光脉冲然后返回;若为0则直接返回。
file:///C:/Users/owner/AppData/Local/Temp/msohtml1/01/clip_image040.gif
图3-18遥控接收中断流程图
中断过程:首先判断低电平脉宽度是否大于2ms,若脉宽不到2ms,中断返回;若低电平大于2ms,则接收并地低电平脉冲计数,接下来看判断高电平脉冲宽度是否大于3ms,若脉宽不到3ms,则返回上一接收计数过程;若高电平脉宽大于3ms,则按照脉冲个数至对应功能程序。此时中断返回。


4   系统调试
一个单片机应用系统经过总体设计、硬件设计、软件设计、制板、元器件安装后,在系统的程序存储器中放入编制好的应用程序,系统即可运行。但一次性成功几乎是不可能的,多少会出现一些硬、软件上的错误,这就需要通过调试来发现错误并加以改正,本设计常用的调试仪器有:万用表、稳压电源、示波器、信号发生器等。
调试步骤[17]
    1. 调试前不加电源的检查
对照电路图和实际线路检查连线是否正确,包括错接、少接、多接等;用万用表电阻档检查焊接和接插是否良好:元器件引脚之间有无短路,连接处有无接触不良,二极管、三极管、集成电路和电解电容的极性是否正确;电源供电包括极性、信号源连线是否正确;电源对地是否存在短路(万用表测量电阻)。
经过上述检查,我们发现我们所设计的电路存在错接和连接处不良接触的问题,经过细心的检查后,解决了上述的一些电路上的问题。
    2.静态检测与调试
断开信号源,把经过准确测量的电源接入电路,用万用表电压档检测电源电压,观察有无异常现象:如冒烟、异常气味、手摸元器件发烫,电源短路等,如果发现气场情况,立即切断电源,排除故障;
我们的电路在此项测试中如无异常情况,接着我们又分别测量各关键点直流电压,如静态工作点、放大电路输入、输出端直流电压等是否在正常工作状态下,结果又个别电路不符,经过调整电路元器件参数、更换元器件,使电路最终工作在核实的工作状态;
对于放大电路我们还用示波器观察是否有自激发生。结果一切正常。
3.动态监测与调试
动态调试时在静态调试的基础上进行的,调试的方法在电路的输入端加上所需的信号源,并循着信号的注射逐级监测各有关点的波形、参数和性能指标是否满足设计要求,如必要,要对电路参数做进一步调整。发现问题,要设法找出原因,排除故障,继续进行。
我们所设计的遥控器电路时采用码分制遥控方式,我们用示波器对发射电路输出端及接收电路输入端得信号波型进行了检查,发现当按下不同的开关按钮时所显示的波型是不同的。这说明了此电路时工作在正常状态的。
4.调试注意事项
经过我们自己动手调试电路。我们从问题之中总结出来一些常用电路调试的注意事项。
(1) 正确使用测量仪器的接地端,仪器的接地端与电路的接地端要可靠连接;
(2) 在信号较弱的输入端,尽可能使用屏蔽线连线,屏蔽线的外屏蔽层要接到公共地线上,在频率较高时要设法隔离连接线分布电容的影响,例如用示波器测量时应该使用示波器探头连接,以减少分布电容的影响。
(3) 测量电压所用仪器的输入阻抗必须远大于被测处的等效阻抗。
(4) 测量仪器的贷款必须大于被测电路的带宽。
(5) 正确选择测量点和测量档
(6) 认真观察记录实验过程,包括条件、现象、数据、波型、相位等。
(7) 出现故障时要认真查找原因。


5   毕业设计总结
本设计采用红外发射和接收的方式,保证了信号传输的可靠性,并且控制简单、实施方便、成本低廉,通过接收发射端得控制信号,在接收部分实现了相应的控制,为达到控制准确的目的,将发射脉冲分为连接段、控制段和结束段,并在接收端进行校验。通过开发实验和现场应用证明,本次设计方案性能良好,工作可靠,完全可以用于各种家用电器的电源遥控控制。但是,由于受红外线定向性和传输距离的限制,该系统只适用于短距离的遥控控制(10m以内),而且操作时遥控要有一定的角度,如果中间有墙、门窗等障碍物时,红外线将无法穿透。如果采用调频或调幅等发射接收编码,可提高遥控距离,并且不受角度的影响。


  
首先感谢吴四清老师在做论文期间对我的精心指导。在一学期的论文写作中,从选题、出发点到初稿、定稿。在此想我的导师表示衷心的感谢并致以崇高的敬意。
毕业设计是本科最后的一堂课,通过毕业设计,我们应该更深一步的掌握所学的专业知识,同时培养一个良好的研究习惯,为以后的学习和工作打下基础。所以做好毕业设计是我们每一个大学生的任务,也是我们所殷切希望的,借此来为自己思念的大学生涯交上一份满意的答卷。
其次要感谢同班的同学给与我的帮助,在毕业设计过程中他们毫无保留的给我提供硬件方便的知识,协助我编写本设计的程序,并且打架一起讨论形成极大的学习氛围,使自己加快了设计的步伐。在此向我的同学表示衷心的感谢。
最后,感谢检查及检查本人论文的各位老师,正式你们的严格要求使本人的设计不断得到修改和改进。向所有关心和帮助我的老师们表示最衷心的感谢。



参考文献
             韩太林.单片机原理及应用[M].北京:电子工业出版社,2005.
             张毅刚.单片机原理及应用[M].北京:高等教育出版社,2004.
             卢飞跃.红外遥控多路抢答器的设计[J].番禺职业技术学院学报,.2003,2(2):25-29.
             黄尊熹.单片机原理接口与应用[M].西北工业大学出版社,2000.147-150.
             楼然苗,李光飞.51系列单片机设计实例[M].北京:北京航空航天大学出版社,2003,103-120.
             李必红,王忠魁.基于单片机控制的机床数控改造[J].山西工学院学报,2004,20(1):70-79.
             余永权.Flash单片机原理及应用[M]. 北京:电子工业出版社,1997.
             何立民.单片机应用系统设计[M]北京:北京航空航天大学出版社,1990.
             李洪明.漫谈红外遥控[J]. 电子世界, 2000, (1):53.
             高建荣.基于单片机控制红外线遥控的编码实现[J].计算机工程与设计,2004,25(11):2105.2107
             刘晓明,安敏,王军.两种红外解码技术的探讨[J].测控技术,2001,20(12):51-52.
             肖圣兵,仲兴荣,徐清源.一种红外遥控信号的解码方法[J].苏州大学学报(自然科学),2002,18(2):104.105.
             付家才.单片机控制工程实践技术[M].北京:北京化学工业出版社,2004
             姚凯学,孟传良.单片机原理及应用[M].重庆:重庆大学出版社,1998.
             周立功.增强型80C51单片机速成与实战[M].北京:北京航空航天大学出版社,2003.
             严天峰.单片机应用系统设计与仿真调试[M].北京:北京航空航天大学出版社,2005.
             冯建华.单片机应用系统设计与产品开发[M].北京:人民邮电出版社,2004.
             裴彦纯.基于单片机系统的红外遥控器应用[M].北京:现代电子技术,2007.
West Germany.Intersection Without Signals[M]. Proceeding of an International Workshop 16-18 March. 1998.30-40.



  
/******************************************************************/
//              send.c
//            遥控发射器
/******************************************************************/
//使用AT89C51单片机,12Mhz晶振
//
//#pragmasrc(E:\remote.asm)
#include"reg52.h"
#include"intrins.h"      //_nop_():延时函数用
//
#define ucharunsigned char
#define uintunsigned int
//
sbit  remoteout=P3^5;      // 遥控输出口
//
//
uinti,j,m,n,k,s;
Ucharkeyvol,temp;        // 键值存放
//
////
/*************1毫秒延时程序***************/
void delay(uintz)
{
     uint t1,y;
     for(t1=z;t1>0;t1--)
          For(y=110;y>0;y--);
}
//
//
/**************初始化函数****************/
clearmen()
{
Remoteout=0;         // 关遥控输出
IE=0x00;
TMOD=0x02;         // 8位自动冲撞模式
TH0=0xf3;           // 40Khz初值
TL0=0xf3;
EA=1;               // 开关中断
}
//
//
//
/**************发射函数****************/
sed ()
{
ET0=1;TR0=1;delay(#);et0=0;remoteout=0;  // 40Khz发3毫秒
for(m=keyvol;m>0;m--)
  {
   delay(1);                             //停1毫秒
   ET0=1;TR0=1;delay(1);ET0=0;TR0=0;remoteout=0;   //40毫秒Khz发1毫秒
   }
delay(10)
}
//
tx()
{
switch(keyvol)
  {
    case0:keyvol=keyvol+1;sed();break;
    case1:keyvol=keyvol+1;sed();break;
    case2:keyvol=keyvol+1;sed();break;
    case3:keyvol=keyvol+1;sed();break;
    case4:keyvol=keyvol+1;sed();break;
    case5:keyvol=keyvol+1;sed();break;
    case6:keyvol=keyvol+1;sed();break;
    case7:keyvol=keyvol+1;sed();break;
    case8:keyvol=keyvol+1;sed();break;
    case9:keyvol=keyvol+1;sed();break;
    case10:keyvol=keyvol+1;sed();break;
    case11:keyvol=keyvol+1;sed();break;
    case12:keyvol=keyvol+1;sed();break;
    case13:keyvol=keyvol+1;sed();break;
    case14:keyvol=keyvol+1;sed();break;
    case15:keyvol=keyvol+1;sed();break;
    default:break;
  }
}
//
//
/**************键功能函数****************/
void keywork()
{
Ucharscancode,tmpcode;
P0=0xf0;                          //  发全0行扫描码
If((P0&0xf0)!=0xf0)                 //若有键按下
{
    Delay(5);                      //延时去抖动
If((P0&0xf0)!=0xf0)                 //延时后在判断一次,去除抖动影响
   {
    Scancode=0xfe;
    While((scancode&0x10)!=0)//       //逐行扫描,刚好扫到第五位就推出了
        {
          P0=scancode;              //输出行扫描码
          If((P0&0xf0)!=0xf0)        //本行有键按下
             {
               Tmpcode=(P0&0xf0)|0x0f;
                  // 返回特征字节码,为1的位即对应于行和列
                Temp=(~scancode)+(~tmpcode);
                Switch(temp)
                 {
                   Case0x11:keycol=0;tx();break;
                   Case0x21:keycol=1;tx();break;
                   Case0x41:keycol=2;tx();break;
                   Case0x81:keycol=3;tx();break;
                    Case0x12:keycol=4;tx();break;
                   Case0x22:keycol=5;tx();break;
                   Case0x42:keycol=6;tx();break;
                   Case0x82:keycol=7;tx();break;
                   Case0x14:keycol=8;tx();break;
                    Case0x24:keycol=9;tx();break;
                   Case0x44:keycol=10;tx();break;
                   Case0x84:keycol=11;tx();break;
                   Case0x18:keycol=12;tx();break;
                   Case0x28:keycol=13;tx();break;
                    Case0x48:keycol=14;tx();break;
                   Case0x88:keycol=15;tx();break;
                  }
             }
            Elsescancode=(scancode<<1)|0x01;    //行扫描码左移一位
         }
    }
}
}
//
//
/**************主函数****************/
Void main()
{
   Clearmen();          //初始化
   While(1)
{
    Keywork();    //按键扫描
    }
}
//
//
/**************40Khz发生器****************/
//定时中断T0
Void time_intt()(void) interrupt 1
{
  Remoteout=~remoteout;
}
//
//
//**********************结束************************//

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表