基于51单片机的红外遥控设计-毕业设计论文

更新时间:2024-03-29 02:14:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

摘要

很多电器都采用红外遥控,那么红外遥控的工作原理是什么呢?本

文将介绍其原理和设计方法。红外线遥控就是利用波长为0.76~1.5μm之间的近红外线来传送控制信号的。常用的红外遥控系统一般分发射和接收两个部分。红外遥控常用的载波频率为38kHz,这是由发射端所使用的455kHz晶振来决定的,在发射端要对晶振进行整数分频,分频系数一般取12,所以455kHz÷12≈37.9 kHz≈38kHz。也有一些遥控系统采用36kHz、40kHz、56kHz等,一般由发射端晶振的振荡频率来决定。接收端的输出状态大致可分为脉冲、电平、自锁、互锁、数据五种形式。“脉冲”输出是当按发射端按键时,接收端对应输出端输出一个“有效脉冲”,宽度一般在100ms左右。一般情况下,接收端除了几位数据输出外,还应有一位“数据有效”输出端,以便后级适时地来取数据。这种输出形式一般用于与单片机或微机接口。 除以上输出形式外,还有“锁存”和“暂存”两种形式。所谓“锁存”输出是指对发射端每次发的信号,接收端对应输出予以“储存”,直至收到新的信号为止;“暂存”输出与上述介绍的“电平”输出类似。 关键词:80c51单片机、红外发光二极管、晶振

1

目录

第一章

1、引言???????????????????????3 2、设计要求与指标???????????????????3 3、红外遥感发射系统设计????????????????4 4、红外发射电路设计??????????????????4 5、调试结果及分析???????????????????9 6、结论???????????????????????10

第二章

1、引言???????????????????????10 2、设计要求与指标???????????????????11 3、红外遥控系统设计?????????????????11 4、系统功能实现方法??????????????????15 5、红外接收电路????????????????????16 6、软件设计??????????????????????177、调试结果及分析???????????????????18 8、结论???????????????????????19

参考文献 附录

2

绪论

人的眼睛能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。其中红光的波长范围为0.62~0.76μm;紫光的波长范围为0.38~0.46μm。比紫光波长还短的光叫紫外线,比红光波长还长的光叫红外线。红外线遥控就是利用波长为0.76~1.5μm之间的近红外线来传送控制信号的。发射部分的主要元件为红外发光二极管。它实际上是一只特殊的发光二极管,由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它便发出的是红外线而不是可见光。目前大量使用的红外发光二极管发出的红外线波长为940nm左右,外形与普通 5发光二极管相同,只是颜色不同。红外发光二极管一般有黑色、深蓝、透明三种颜色,判断红外发光二极管好坏的办法与判断普通二极管一样:用万用表电阻挡量一下红外发光二极管的正、反向电阻即可。在实际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用时是反向运用,这样才能获得较高的灵敏度。红外接收二极管一般有圆形和方形两种。由于红外发光二极管的发射功率一般都较小(100mW左右),所以红外接收二极管接收到的信号比较微弱,因此就要增加高增益放大电路。前些年常用μPC1373H、CX20106A等红外接收专用放大电路。最近几年不论是业余制作还是正式产品,大多都采用成品红外接收头。成品红外接收头的封装大致有两种:一种采用铁皮屏蔽;一种是塑料封装。均有三只引脚,即电源正(VDD)、电源负(GND)和数据输出(VO或OUT)。红外接收头的引脚排列因型号不同而不尽相同,可参考厂家的使用说明。成品红外接收头的优点是不需要复杂的调试和外壳屏蔽,使用起来如同一只三极管,非常方便。但在使用时注意成品红外接收头的载波频率。

3

第一章 红外发射部分

1、引言:

随着远程教育系统的不断发展和日趋完善, 学校都得到了广泛应用。 同时使用多种设备,如:数字投影机、 DVD 、 VCD 、录像机、电视机等,由于各种设备都自带遥控器,而使用多种遥控器,通过基于单片机的控制指令来对多种设备进行远程控制,不同的设备。从而方便快捷的实现远程控制。红外遥控是目前家用电器中用得较多的遥控方式。那么,什么是红外线。人的眼睛能看的可见光按波长从长到短排列的波长范围为 0.62 ~ 0.76 μ m ;比红光波长还长的光叫红外线。红外线遥控就是利用波长为 0.76 ~ 1.5 μ m 之间的近红外线来传送控制的。红外发光二极管一般有黑色、深蓝、透明三种颜色。红外遥控系统一般分发射和接收两个部分 。 发射部分的主要元件为红外发光二极管。目前大量使用的红外发光二极管发出的红外线波长为 940mm 左右,外形与普通 φ 5发光二极管相同。成品红外接收头的封装大致有两种: 三只引脚,即电源正( VDD )、电源负( GND )和数据输出( VO 或 OUT )。红外接收头的引脚排列因型号不同而不尽相同, 是不需要复杂的调试和外壳屏蔽, 意成品红外接收头的载波频率。 38kHz ,这是由发射端所使用455kHz 晶振来决定的。在发射端要对晶振进行整数分频,分频系数一般取 12 ,所以455kHz ÷ 12 ≈ 37.9kHz ≈ 38 kHz 。也有一些遥控系统采用 36 kHz 、 40 kHz 、 56 kHz 等,由发射端晶振的振荡频率来决定。红外遥控的特点是不影响周边环境的、 于10 米)遥控中得到了广泛的应用。

2、设计要求与指标:

红外遥控是目前使用较多的一种遥控手段。功能强、成本低等特点。 系统。设计要求利用红外传输控制指令 及智能控制系统 ,借助 微处理器 强大灵活的控制功能发出 脉冲编码 ,组成的一个遥控系统。本设计的主要技术指标如下: (1) 遥控范围: 4 — 6 米 (2) 显示可控制的通道 (3) 灵敏可靠,抗干扰能力强 (4) 控制用电器电流最高为 2 A

红外遥控的特点是不影响周边环境的、不干扰其他电器设备。由于其无法穿透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰; 多路遥控。

4

红外遥控系统由发射和接收两大部分组成,系统采用编 / 解码专用集成电路和单片机芯片来进行控制操作。设计的电路由几个基本模块组成:直流稳压电源,红外发射电路,红外接收电路及控制部分。发射电路,利用遥控发射利用键盘, 这种代码指令信号调制在 40KH z 的载波上,激励红外光二极管产生具有脉冲串的红外波 ,通过空间的传送到受控机的遥控接收器。

3 红外遥感发射系统的设计

红外遥控系统由发射和接收两大部分组成,系统采用编/解码专用集成电路和单片机芯片来进行控制操作。发射系统设计的电路由如下的几个基本模块组成:直流稳压电源,红外发射电路。

系统框图如图所示。

4、红外发射电路的设计

1 、主要芯片 —— 单片机 89C2051 介绍

同一般微处理器的 80C51 的控制器也由指令寄存器 IR 。指令译码器 ID 。

5

定时及控制逻辑电路和程序计数器 PC 等组成。

程序计数器 PC 是一个 16 为的计数器(注: PC 不属于特殊功能寄存器 SFR 的范畴)。他总是存放着下一个要取得指令的 16 位存储单元地址。也就是说, CPU 总是把 PC 的内容作为地址,从内存中取出指令码或含在指令中的操作数。因此,每当取完一个字节后, PC的内容自动加 1 ,为取下一个字节作好准备。只有在执行转移子程序调用指令和中断响应是例外,那时 PC 的内容不加 1 ,而是指令或中断响应过程自动给 PC 置入新的地址。单片机上电或复 PC 自动清 0 ,即装入地址 0000H ,这就保证了单片机上电或复位后,程序从 0000H 地址开始执 行。

指令寄存器 1R 保存当前正在执行的一条指令。执行一条指令,先要把他从程序存储器取到指令存储器中。指令内容含操作码和地址码,操作码送往指令译码器ID,并形成相应指令的微操作信号。地址码送往操作数地址形成实际的操作数地址。

定时与操作是微处理器的核心部件,他的任务是控制取指令 ` 执行指令 ` 存取操作数或运算结果等操作,向其他部件发出各种微操作控制信号,协调各部件的工作。 80C51单片机内设有振荡电路,只需外接石英晶体和频率微调电容就可产生内部时钟信号。 2 AT89C2051的引脚

AT89C2051采用引脚双列直插式封装,现将个引脚的功能说明如下: · Vcc (20) :电源电压端。 · GND ( 10 ):地端。

· RST ( 1 ):复位输入端。当 RST 引脚出现两个机器周期的高电平时,单片机复位。复位后,AT89C2051 内部专用寄存器及 I /O 口的处置与 8051 的情况一样,而内部的状态保持不变。

· XTAL 1(5) :振荡器反相放大器的输入和内部时钟发生器的输入端。 · XTAL 1(4) :振荡器反相放大器的输出端。

· P1 口: P1口是一个 8 位双向 I/O 口。 P1.2-P1.3 引脚内部接有上拉电阻。 P1.0 和 P1.1分别作为片内精密模拟比较器的同相输入( AIN0 ) 和反相输入( AIN1 ) 。 P1 口输出缓冲器可吸收 20 mA 电流并能直接驱动 LED 显示。当 P1 口的锁存器写入 “ 1 ” 时, P1 口可作为输入端。当引脚 P1.2--P1.7 用作输入并被外部拉低时,它们将因内部的上拉电阻而流出电流( In ) 。 P1 口还在闪速编程和程序校验期间接受代码数据。

6

· P3 口 : P3 口的 P3.0-P3.5 和 P3.7 是带有内部上拉电阻的七个双向 I/O 引脚。 P3. 6用于固定输入片内比较器的输入信号并且他作为一通用 I/O 引脚而不能访问。 P3 口缓冲器可吸收 20 mA 电流。当 P3 口锁存器写入 “ 1 ” 时,它们被上拉电阻拉高并可作为输入端。用作输入时,被外部拉低的P3 口引脚将由于上拉电阻而流出电流( I n ) 。 P3 口还接收一些用于闪速存储器编程和程序校验的控制信号。

P3 口还用于实现 AT89C2051 的一些特殊功能,这些特殊功能定义如下: 口线 特殊功能

P3.0 RXD ( 串行口输入端 ) P3.1 TXD ( 串行口输出端 ) P3.2 /INT0 ( 外部中断 0) P3.3 /INT1 ( 外部中断 1) P3.4 T0 ( 定时器 0 外部输入 ) P3.5 T1 ( 定时器 1 外部输入 )

89C2051共有20条引脚,如上图所示。 P1 口共 8 脚,准双向端口。

P3.0 ~ P3.6 共 7 脚,准双向端口,如 P3.0 、 P3..1 的串行通讯功能, P3.2 、 P3..3 的中断输入功能, P3.4 、 P3.5 的定时器输入功能。

7

在引脚的驱动能力上, 89C2051 具有很强的下拉能力, P1,P3 口的下拉能力均可达 到20mA. 相比之下, 89C51 的端口下拉能力每脚最大为 15mA 。但是限定 9 脚电流之和小于71mA. 这样,引脚的平均电流只 9mA 。 89C2051 驱动能力的增强,使得它可以直接驱动 LED数码管。

相对于 89C51 它少了一些功能,但是它的功耗少,便于携带,更经济使他在发射电路中起着重要的地位。因此,在本设计红外发射电路中就用了他来实现脉冲信号的产生。 4 .2 系统的功能实现方法 4 .2 . 1 摇控码的编码格式

该遥控器采用脉冲个数编码,不同的脉冲个数代表不同的码,最小为2个脉冲,最大为 17 个脉冲。为了使接收可靠,第一位码宽为3ms ,其余为 1ms ,遥控码数据帧间隔大于10ms ,如图 2 - 1 所示。 4 . 2 . 2 遥控码的发射

当某个操作按键按下时,单片机先读出键值,然后根据键值设定遥控码的脉冲个数,再调制成 40kHz 方波由红外线发光管发射出去。 P3.5 端口的输出调制波如图 2 - 2 所示。

8

4 . 3 红外发射电路图

遥控发射通过键盘,每按下一个键,即产生具有不同的编码数字脉冲,这种代码指令信号调制在 40KH z 的载波上,激励红外光二极管产生不同的脉冲,通过空间的传送到受控机的遥控接收器。 P1 口作为按键部分, P3.5 口作为发射部分,然后用三极管的放大驱动红外发射。电路如下图所示。

4 . 4 软件设计 发射编码的软件设计

首先,初始化定时器,定时频率为40KHz的时间段。当按下某一按键时,送数据 1 ,就开始工作。同时定时器溢出,也就是定时器记满了,执行定时器中断,中断程序如下:

INTT1 : CPL P3.5 ; 40KHZ 红外线遥控信号产生

RETI ; 中断返回

由此就产生了 40KHZ 的载波信号。 当发送数据 0 时,定时器不工作。

9

程序流程图如图 4 - 3 所示:

5 调试结果及其分析

本电路总共设计了 8 个输入按键,7,8 为特殊按键。

当输入一个按键 5 时,通过红外发射和接收电路,对应的继电器 5 的设备工作即 5号发光二极管发光,而数码管显示工作的设备的个数,就显示 1 。当再次按下按键 5 时, 5号发光二极管灭,数码管显示 0 。

当同时按下两个键 3 和 4 时, 3 号和 4 号二极管亮,数码管显示 2 。 当按下按键 7 时,所有设备都不工作,数码管显示 0 ,发光二极管都不发光。

当按下按键 8 时,所有设备都工作,数码管显示 6 ,发光二极管都发光。 本设计在调试过程中也遇到很多问题。

10

(1) 电路要求遥控控制距离为 4 — 6m ,在利用 38KHz 的接收头时,虽然能接收到信号,但是接收的距离很有限。经过反复调试,换用 40KHz 的接收头时基本满足了设计需求。

(2) 由于将 3ms 的接收脉冲放在 1ms 的后面,编码解调出现错误,导致接受端无信号输 出。解决方法是将 3ms 的接收脉冲放在前面就可以接收到信号。 单 片机进行数码帧的接收处理, 3 ms 的脉冲检验,当第一位低电平码的脉宽小于 2 ms时就会错误处理。

在初始化过程中,将 P1 口全置 0 ,但是继电器仍工作,通过反复调试,将初始化的 P1口全置 1 ,通过反向使得输出全为 0 ,从而满足上电复位,继电器掉电,满足初始化要求 。 6、结论

由于目前的遥控装置大多对某一设备进行单独控制,而在本设计中的红外遥控电路设计了多个控制按键,可以对不同的设备,也可以对同一设备的多个功能进行不同的控制。基本符合技术要求。

但是本电路也有不完 , 它只能单通道实现对多个设备的控制 , 即它不能同时控制两个或者两个以上的设备。

在设计过程中,通过大量的查阅资料,认真研究材料,对单片机有了更为深刻的理解,在设计软件时,须仔细的分析硬件电路,画出程序流程图,培养了我的耐性和刻苦钻研的精神。

第二章 红外接受部分

1、引言

随着远程教育系统的不断发展和日趋完善,利用多媒体作为教学手段在各级各类学校都得到了广泛应用。 但经常会遇到同时使用多种设备,如: DVD 、 VCD 、录像机、电视机等,由于各种设备都自带遥控器,而且不同的设备所遵循的红外传输规约也不尽相同, 操纵这些设备得用多种控器,给使用者带来了诸多不便。基于单片机的控制指令来对多种设备进行远程控制, 从而方便快捷的实现远程控制。

远程遥控技术又称为遥控技术,是指实现对被控目标的遥远控制,在工业控制、航空航天、家电领域应用广泛。红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备广泛采用,并越来越多的应用到计算机系统中。红外线又称红外光波,在电磁波谱中,光波的波长范围为 0.01um~1000um 。根据波长的不同可分为可

11

见光和不可见光,波长为0.38um~0.76um 的光波可为可见光,依次为红、橙、黄、绿、青、蓝、紫七种颜色。光波为 0.01um~0.38 um 的光波为紫外光 ( 线 ) ,波长为 0.76um~1000um 的光波,为红外光 ( 线 ) 。红外线遥控是利用近红外 光传送遥控指令的, 波长为0.76um~1.5um 。用近红外作为遥控光源,是因为目前红外发射 器件 ( 红外发光管 ) 与红外接收器件 ( 光敏二极管、三极管及光电池 ) 的发光与受光峰值波长 一般为 0.8um~0.94um ,在近红外光波段内,二者的光谱正好重合,可获得较高的传输效率及较高的可靠性。

2、设计要求及指标

红外遥控是目前使用较多的一种遥控手段。红外遥控装置具有体积小、功耗低、功能强、成本低等特点。在家庭生活中,录音机、音响设备、空调、彩电都用了红外遥控系统。设计要求利用红外传输控制指令及智能控制系统 ,借助微处理器强大灵活的控制功能发出脉冲编码 ,组成一个遥控系统。 本设计的主要技术指标如下:

1. 遥控范围: 4 — 6 米 2. 显示可控制的通道

3. 接收灵敏可靠,抗干扰能力强 4. 控制用电器电流最高为 2 A

3、红外遥控系统的设计

红外遥控系统由发射和接收两大部分组成,系统采用编 / 解码专用集成电路和单片机芯片来进行控制操作。设计的电路由如下的几个基本模块组成:红外发射电路,红外接收电路及控制部分。

1. 系统框图如图 3 - 1 所示。

12

2. XTAL2 接外部晶体的另一个引脚。在单片机内部,它是上述振荡器的反相放大器的输出端。采用外部振荡器时,此引脚应悬浮不连接。

3. 输入 / 输出引脚 P0.0 ~ P0.7 、 P10. ~ P 1 .7 、 P2.0 ~ P2.7 和 P3.0 ~ P3.7 。

① P0 端口( P0.0 ~ P0.7 ) P0 是一个 8 位漏极开路型双向 I/O 端口。作为输出口用时,

每位能以吸收电流的方式驱动 8 个 TTL 输入,对端口写 1 时,又可作高阻抗输入端用。

在访问外部程序和数据存储器时,它是分时多路转换的地址(低8位) / 数据总线, 在访问期间激活了内部的上拉电阻。

② P 1 端口( P 1 .0 ~ P 1 .7 ) P 1 是一个带有内部上拉电阻的 8 位双向 I/O 端口。 P 1 的输出缓冲器可驱动(吸收或输出电流方式) 4 个 TTL 输入。对端口写 1 时,通过内部的上拉 电阻把端口拉到高电位,这时可用作输入口。因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。 ③ P2 端口 ( P2.0 ~ P2.7 ) P2 是一个带有内部上拉电阻的 8 位双向 I/O 端口。 P2 的输出缓冲器可驱动(吸收或输出电流方式) 4 个 TTL 输入。对端口写 1 时,通过内部的上拉电阻把端口拉到高电位, P2 作输入口使用时,因为有内部的上拉电阻,这时可用作输入口。P2作为输入口时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。

在访问外部程序存储器和 16 位地址的外部数据存储器 ( 如执行 MOVX @ DPTR 指令 )时, P2 送出高 8 位地址。在访问 8 位地址的外部数据存储器 ( 如执行 MOVX @ R i , A 指令 )时,P2口引脚上的内容,在整个访问期间不会改变。

④ P3 端口( P3.0 ~ P3.7 ) P3 是一个带有内部上拉电阻的 8 位双向 I/O 端口。 P2 的输出缓冲器可驱动 ( 吸收或输出电流方式 )4 个 TTL 输入。对端口写 1 时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。 P3 作输入口使用时,因为有内部的上拉电阻, 那些被外部信号拉低的引脚会输出一个电流。

在 AT89S52 中, P3 端口还用于一些专门功能,这些兼用功能如下: (1) P3.0 RXD (串行输入口) (2) P3.1 TXD (串行输出口) (3) P3.2 /INT0 (外部中断 0 ) (4) P3.3 /INT1 (外部中断 1 )

13

(5) P3.4 T0 (记时器 0 外部输入) (6) P3.5 T1 (记时器 1 外部输入) (7) P3.6 /WR (外部数据存储器写选通) (8) P3.7 /RD (外部数据存储器读选通)

(9) P3 口同时为闪烁编程和编程校验接收一些控制信号

4. 振荡器特性:

XTAL1 和 XTAL2 分别为反向放大器,该反向放大器可以配置为片内振荡器。石英震荡和陶瓷震荡均可采用。如采用外部时钟源驱动器件, XTAL2 应不接。 由于输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 5. 芯片擦除:

整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合, ALE 管脚处于低电平 10ms 来完成。在芯片擦操作中,代码阵列全被写 “ 1 ” 且在任何非空存储字节被重复编程以前,该操作必须被执行。

14

主控制器采用ATMEL公司的8位单片机AT89S52。AT89S52是一个低功耗,高性能 CMOS 8位单片机,片内含 8k Bytes ISP(In-system programmable) 的可反复擦写 1000 次的 Flash只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准 MCS -51指令系统。

图3-9:主控制器电路原理图

15

4、系统的功能实现方法

1、 摇控码的编码格式

该遥控器采用脉冲个数编码,不同的脉冲个数代表不同的码,最小为2个脉冲,最大为17个脉冲。为了使接收可靠,第一位码宽为3ms,其余为 1ms ,遥控码数据帧间隔大于10ms,如图 4-1 所示。 2、 遥控码的发射

当某个操作按键按下时,单片机先读出键值,然后根据键值设定遥控码的脉冲个数,再调制成 40kHz 方波由红外线发光管发射出去。 P3.5 端口的输出调制波如图 4 - 1 所示。 3、 数码帧的接收处理

当红外线接收器输出脉冲帧数据时,第一位码的低电平将启动中断程序实时接收 数据帧。在数据帧接收时,将对第一位码的码宽进行验证。若第一位低电平码的 的脉宽小于2ms ,将作为错误码处理。当间隔位的高电平脉宽大于 3ms 时,结束接收,然后根据累加器 A 中的脉冲个数,执行相应输出口操作。图4 - 2 就是红外线接收器输出的一帧遥控码波形图。

16

5、红外接受电路图

在接收过程中,脉冲通过光学滤波器和红外二极管转换为40KHZ的电信号,此信号经过放大,检波,整形,解调,送到解码与接口电路。如图 5 - 1 所示 。

17

通常,红外遥控器将遥控信号(二进制脉冲码) 调制在40KHz的载波上,经缓冲放大后送至红外发光二极管,产生红外信号发射出去。 将上述的遥控编码脉冲对频率为 40 KHz( 周期为26.3ms) 的载波信号进行脉幅调制 (PAM ) ,再经缓冲放大后送到红外发光管,将遥控信号发射出去。

6、软件设计:

1、单片机上电复位后,首先对其内部定时器初始化,用定时器及软件计数的方法,当有信号输入时,单片机产生中断,并在P3 . 1口进行计脉冲个数,测量 P3.1 高、低电平的宽度。P3.1 引脚平时为高电平,当接收到红外遥控信号时,由于一体化红外接收头的反向作用,INT0 引脚下跳至低电平 , 计算脉冲个数后通过 7447 译码电路,数码管显示相应的数值。 下面是第一个 3 ms 脉冲的解码程序。

2、LED 显示主要是显示所发射的所发送的信号的个数,它就实现以下的作用。当按下某一按键比方说 2 键,LED会显示01 ,如果再按下2 键,LED 就显示 00 。如果同时按下2个键,那么 LED 就显示 02 。下面介绍 LED 的主要性能。

18

LED 显示器由 7 个发光二极管组成,又叫 7 段 LED 显示器,显示器中还有一个圆点型发光二极管,用于显示小数点。通过7个发光二极管亮暗的不同组合,可以显示多种数字、字母以及其它符号。 LED 显示器中的发光二极管共有两种连接方法: 1. 共阳极接法

把发光二极管的阳极连在一起构成共阳极。使用时供阳极接+5V 。这样阴极端 输入低电平的段发光二极管就导通点亮,而输入高电平的则不点亮。 2. 共阴极接法

把发光二极管的阴极连在一起构成共阴极。使用时供阳极接+5V 。这样阳极端输 高低电平的段发光二极管就导通点亮,而输入低电平的则不点亮。

在设计的电路中,采用了共阳极接法。

7、调试结果及分析:

本电路总共设计了8个输入按键,7 ,8 为特殊按键。

当输入一个按键 5 时,通过红外发射和接收电路,对应的继电器 5 的设备工作即 5 号发光二极管发光 ,而数码管显示工作的设备的个数,就显示1 。当再次按下按键 5 时,5号发光二极管灭,数码管显示 0 。

当同时按下两个键 3 和 4 时,3 号和 4 号二极管亮,数码管显示 2 。 当按下按键 7 时,所有设备都不工作,数码管显示 0 ,发光二极管都不发光。 当按下按键 8 时,所有设备都工作,数码管显示 6 ,发光二极管都发光。 本设计在调试过程中也遇到很多问题。

1. 电路要求遥控控制距离为4 — 6m ,在利用 38KHz 的接收头时,虽然能接收到信号,但是接收的距离很有限。经过反复调试,换用 40KHz 的接收头时基本满足了设计需求。

在初始化过程中,将 P1 口全置 0 ,但是继电器仍工作,通过反复调试,将初始化的 P1口全置 1 ,通过反向使得输出全为 0 ,从而满足上电复位,继电器掉电,满足初始化要求 。

19

在初始化过程中,将 P1 口全置 0 ,但是继电器仍工作,通过反复调试,将初始化的 P1口全置 1 ,通过反向使得输出全为 0 ,从而满足上电复位,继电器掉电,满足初始化要求 。

8、结论:

由于目前的遥控装置大多对某一设备进行单独控制,而在本设计中的红外遥控电路设计了多个控制按键,可以对不同的设备,也可以对同一设备的多个功能进行不同的控制。基本符合技术要求。

但是本电路也有不完 , 它只能单通道实现对多个设备的控制 , 即它不能同时控制两个或者两个以上的设备。

在设计过程中,通过大量的查阅资料,认真研究材料,对单片机有了更为深刻的理解,在设计软件时,须仔细的分析硬件电路,画出程序流程图,培养了我的耐性和刻苦钻研的精神。

参考文献

[1] 全国大学生电子设计竞赛组委会.第五届全国大学生电子设计竞赛获奖作品选编,第 1版,北京理工大学出版社, 2005 年, P10-17.

[2] 康华光,陈大钦.电子技术基础模拟部分,第 4 版,高等教育出版社, 1999 年,第四 版,P 82 - 155 .

[3] 康华光 , 邹寿彬 . 电子技术基础数字部分,第 4 版,高等教育出版,2000 年 , 第四版 ,P 83 - 155 .

[4] 李锦春 , 蔡仁明 . 常用晶体二极管、大功率三极管手册 ,人民邮电出版社,1981 年 , 第一版 , P 23 - 55 .

[5] 黄智伟,王彦,陈文光 . 全国大学生电子设计竞赛训练教程,第 1 版,电子工业出版 社,2005 年, P304-P314.

[6] 吴金戌,沈庆阳, .8051 单片机实践与应用,第 1 版,清华大学出版社, 2002年, P147-167.

[7] 何立民 . 单片机应用系统设计 —— 系统配置与接口技术,第 2 版,北京航空航天大学出版社, 1995 , P31-175. 附录: 接收程序

20

ORG 0000H

LJMP START

ORG 0003H LJMP INTEX0 ORG 0030H START: MOV SP,#70H

MOV IE,#00H ; 关所有中断 SETB EX0 ; 开外中断 SETB EA ; 总中断允许 MOV P1,#00H

MAIN: LCALL DELAY ; 持续 512 微秒

MOV 31H,#00H

MOV 30H,P1 MOV R7,#08H

XUN: CLR C

MOV A,30H RLC A MOV 30H,A MOV A,31H ADDC A,#00H MOV 31H,A

DJNZ R7,XUN MOV A,31H SWAP A MOV P2,A

LJMP MAIN ; 转 MAIN 循环

21

NOP ;PC 值出错处理

NOP

LJMP START ; 出错时重新初始化;遥控接收程序; 采用中断接收 INTEX0: MOV 32H,A

MOV 20H,C

CLR EX0 ; 关外中断

JNB P3.1,READ1 ;P3.5 口为低电平转 READ1

READOUTT0: SETB EX0 ;P3.5 口为高电平开中断(系干扰)

MOV A,32H MOV C,20H

RETI ; 退出中断

READ1: CLR A ; 清 A

MOV DPH,A ; 清 DPTR MOV DPL,A ;

HARD1: JB P3.1,HARD11 ;P3.5 变高电平转 HARD11

INC DPTR ; 用 DPTR 对低电平计数 NOP ;1 微秒延时 NOP

AJMP HARD1 ; 转 HARD1 循环(循环周期为 8 微秒)

HARD11: MOV A,DPH ;DPTR 高 8 位放入 A

JZ READOUTT0 ; 为 0 (脉宽小于 8*255=2 毫秒)退出 CLR A ; 不为 0 ,说明是第一个宽脉冲( 3 毫秒)

READ11: INC A ; 脉冲个数计 1

22

READ12: JNB P3.1,READ12 ; 低电平时等待

MOV R1,#06H ; 高电平宽度判断定时值

READ13: JNB P3.1,READ11 ; 变低电平时转 READ11 脉冲计数

LCALL DELAYREAD ; 延时( 512 微秒)

DJNZ R1,READ13 ;6 次延时不到转 READ13 再延时 DEC A ; 超过 3 毫秒判为结束,减 1 DEC A ; 减 1

JZ FUN0 ; 为 0 执行 FUN0 ( 2 个脉冲) DEC A ; 减 1

JZ FUN1 ; 为 0 执行 FUN1 ( 3 个脉冲) DEC A ;

JZ FUN8 ; 为 0 执行 FUN8 ( 10 个脉冲) DEC A ;

JZ FUN9 ; 为 0 执行 FUN9 ( 11 个脉冲) DEC A ;

JZ FUN10 ; 为 0 执行 FUN10 ( 12 个脉冲) DEC A ;

JZ FUN11 ; 为 0 执行 FUN11 ( 13 个脉冲) DEC A ;

JZ FUN12 ; 为 0 执行 FUN12 ( 14 个脉冲) DEC A ;

JZ FUN13 ; 为 0 执行 FUN13 ( 15 个脉冲) DEC A ;

JZ FUN14 ; 为 0 执行 FUN14 ( 16 个脉冲)

23

DEC A ;

JZ FUN15 ; 为 0 执行 FUN15 ( 17 个脉冲) NOP ; NOP ;

LJMP READOUTT0 ; 出错退出

FUN0: CPL P1.0 ;P0 口各端口开关输出控制

LJMP READOUTT0 ; 转中断退出

FUN1: CPL P1.1 ;

LJMP READOUTT0 ;

FUN2: CPL P1.2

LJMP READOUTT0

FUN3: CPL P1.3

LJMP READOUTT0

FUN4: CPL P1.4

LJMP READOUTT0

FUN5: CPL P1.5

LJMP READOUTT0

FUN6: MOV P1,#00H

LJMP READOUTT0

FUN7: MOV P1,#03FH

LJMP READOUTT0

FUN8: CPL P2.6 ;P2 口各端口开关输出控制

LJMP READOUTT0 ; 转中断退出

FUN9: CPL P2.5

24

LJMP READOUTT0

FUN10: CPL P2.4

LJMP READOUTT0

FUN11: CPL P2.3

LJMP READOUTT0

FUN12: CPL P2.2

LJMP READOUTT0

FUN13: CPL P2.1

LJMP READOUTT0

FUN14: CPL P2.0 ;P2.0 口开关控制

LJMP READOUTT0 ; 转中断退出FUN15: CPL P2.7 ; 亮度调整

LJMP READOUTT0 ; 中断退出

; ; 延时 255 X 2 = 512 us; DELAYREAD: MOV R0,#0FFH DELAYR1: DJNZ R0,DELAYR1

RET

DELAY: MOV R6,#0FFH DELAY1: MOV R7,#0FFH

DJNZ R7,$ DJNZ R6,DELAY1 RET END

25

本文来源:https://www.bwwdw.com/article/66kr.html

Top