




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 引 言 随着远程教育系统的不断发展和日趋完善 利用多媒体作为教学手段在各级各 类学校都得到了广泛应用 近年来 在多媒体教学系统的使用 开发和研制中 经 常遇到同时使用多种设备 如 数字投影机 DVD VCD 录像机 电视机等 由 于各种设备都自带遥控器 而且不同的设备所遵循的红外传输规约也不尽相同 操 纵这些设备得使用多种遥控器 给使用者带来了诸多不便 本次毕业设计的主题就 是红外遥控电路设计 红外遥控的特点是利用红外线进行点对点通信的技术 不影 响周边环境 不干扰其他电器设备 室内近距离 小于 10 米 信号无干扰 传输 准确度高 体积小 功率低的特点 遥控中得到了广泛的应用 通过基于单片机的控 制指令来对多种设备进行远程控制 可以选择不同的按键来控制不同的设备 从而 方便快捷的实现远程控制 常用的红外遥控系统一般分发射和接收两个部分 发射部分的主要元件为红外 发光二极管 它实际上是一只特殊的发光二极管 由于其内部材料不同于普通发光 二极管 因而在其两端施加一定电压时 它便发出的是红外线而不是可见光 红外 发光二极管一般有黑色 深蓝 透明三种颜色 判断红外发光二极管好坏的办法与 判断普通二极管一样 用万用表电阻挡量一下红外发光二极管的正 反向电阻即可 红外发光二极管的发光效率要用专门的仪器才能精确测定 而业余条件下只能用拉 锯法来粗略判判定 接收部分的红外接收管是一种光敏二极管 在实际应用中要给红外接收二极管 加反向偏压 它才能正常工作 亦即红外接收二极管在电路中应用时是反向运用 这样才能获得较高的灵敏度 红外发光二极管一般有圆形和方形两种 由于红外发 光二极管的发射功率一般都较小 所以红外接收二极管接收到的信号比较微弱 因 此就要增加高增益放大电路 最近几年不论是业余制作还是正式产品 大多都采用 成品红外接收头 成品红外接收头的封装大致有两种 一种采用铁皮屏蔽 一种是 塑料封装 均有三只引脚 即电源正 VDD 电源负 GND 和数据输出 VO 或 OUT 红外接收头的引脚排列因型号不同而不尽相同 红外接收头的优点是不需要复 杂的调试和外壳屏蔽 使用起来如同一只三极管 非常方便 2 1 设计要求及指标 红外遥控是目前使用较多的一种遥控手段 红外线遥控装置具有体积小 功耗 低 功能强 成本低等特点 在家庭生活中 录音机 音响设备 空调彩电都采用 了红外遥控系统 设计要求利用红外传输控制指令及智能控制系统 借助微处理器 强大灵活的控制功能发出脉冲编码 组成的一个遥控系统 红外线编码是数据传输 质是一种脉宽调制的串行通讯 红外线通讯的发送部分主要是把待发送的数据转换 成一定格式的脉冲 然后驱动红外发光管向外发送数据 接收部分则是完成红外线 的接收 放大 解调 还原成同步发射格式相同 但高 低电位刚好相反的脉冲信 号 其主要输出 TTL 兼容电平 最后通过解码把脉冲信号转换成数据 从而实现数 据的传输 本设计的主要技术指标如下 1 遥控范围 4 6 米 2 显示可控制的通道 3 接收灵敏可靠 抗干扰能力强 4 控制用电器电流最高为 2A 3 2 红外遥控系统的设计 红外遥控系统由发射和接收两大部分组成 系统采用编 解码专用集成电路和单 片机芯片来进行控制操作 设计的电路由如下的几个基本模块组成 直流稳压电源 红外发射电路 红外接收电路及控制部分 系统框图如图 3 1 所示 图 2 1 红外遥控电路框图 a 发射电路框图 图 2 1 红外遥控电路框图 b 接收电路框图 按键部分 单片机 89C2051发射部分 电源 3V 5V 接收部分 单片机 89S52 显示部分 控制部分 电源 9V 4 3 红外收发电路的设计 3 1 主要芯片 闪电存储型单片机 AT89S52 的介绍 3 1 1 AT89S52 具有下列主要性能 1 8KB 可改编程序 Flash 存储器 可经受 1 000 次的写入 擦除周期 2 三级程序存储器保密 3 256 8 字节内部 RAM 4 32 条可编程 I O 线 5 3 个 16 位定时器 计数器 6 6 个中断源 7 可编程串行通道 8 片内时钟振荡器 AT89S52 是用静态逻辑来设计的 并提供两种可用软件来选择的省电方式 空闲方式和掉电方式 在空闲方式中 CPU 停止工作 而 RAM 定时器 计数器 串行口和中断系统都继续工作 在掉电方式中 片内振荡器停止工作 由于时钟被 冻结 一切功能暂停 只保存片内 RAM 中的内容 直到下一次硬件复位为止 3 1 2 AT89S52 的引脚及功能 89S52 单片机的管脚说明如图 3 1 所示 1 主要电源引脚 VSS 电源端 GND 接地端 2 外接晶体引脚 XTAL1 和 XTAL2 XTAL1 接外部晶体的一个引脚 在单片机内部 它是构成片内振荡器的反相放 大器的输入端 当采用外部振荡器时 该引脚接收振荡器的信号 既把此信号直接 接到内部时钟发生器的输入端 5 p1 0 1 p1 1 2 p1 2 3 p1 3 4 p1 4 5 p1 5 6 p1 6 7 p1 7 8 RST VPD 9 RXD P3 0 10 TXD P3 1 11 INT0 P3 2 12 INT1 P3 3 13 T0 P3 4 14 T1 P3 5 15 WR P3 6 16 RD P3 7 17 XTAL2 18 XTAL1 19 GND 20 P2 0 21 P2 1 22 P2 2 23 P2 3 24 P2 4 25 P2 5 26 P2 6 27 P2 7 28 PSEN 29 ALE PROG 30 EA VPP 31 P0 7 32 P0 6 33 P0 5 34 P0 4 35 P0 3 36 P0 2 37 P0 1 38 P0 0 39 VCC 40 图 3 1 AT89C51 的引脚 XTAL2 接外部晶体的另一个引脚 在单片机内部 它是上述振荡器的反相放大 器的输出端 采用外部振荡器时 此引脚应悬浮不连接 3 输入 输出引脚 P0 0 P0 7 P10 P1 7 P2 0 P2 7 和 P3 0 P3 7 P0 端口 P0 0 P0 7 P0 是一个 8 位漏极开路型双向 I O 端口 作为输出口用 时 每位能以吸收电流的方式驱动 8 个 TTL 输入 对端口写 1 时 又可作高阻抗输 入端用 在访问外部程序和数据存储器时 它是分时多路转换的地址 低 8 位 数据总 线 在访问期间激活了内部的上拉电阻 P1 端口 P1 0 P1 7 P1 是一个带有内部上拉电阻的 8 位双向 I O 端口 P1 的输出缓冲器可驱动 吸收或输出电流方式 4 个 TTL 输入 对端口写 1 时 通过 内部的上拉电阻把端口拉到高电位 这时可用作输入口 作输入口时 因为有内部 的上拉电阻 那些被外部信号拉低的引脚会输出一个电流 P2 端口 P2 0 P2 7 P2 是一个带有内部上拉电阻的 8 位双向 I O 端口 P2 的输出缓冲器可驱动 吸收或输出电流方式 4 个 TTL 输入 对端口写 1 时 通过 内部的上拉电阻把端口拉到高电位 这时可用作输入口 P2 作输入口使用时 因为 有内部的上拉电阻 那些被外部信号拉低的引脚会输出一个电流 在访问外部程序存储器和 16 位地址的外部数据存储器 如执行 MOVX 6 DPTR 指令 时 P2 送出高 8 位地址 在访问 8 位地址的外部数据存储器 如执行 MOVX Ri A 指令 时 P2 口引脚上的内容 就是专用寄存器 SFR 区中 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 5 P3 4 T0 记时器 0 外部输入 6 P3 5 T1 记时器 1 外部输入 7 P3 6 WR 外部数据存储器写选通 8 P3 7 RD 外部数据存储器读选通 9 P3 口同时为闪烁编程和编程校验接收一些控制信号 3 1 3 振荡器特性 XTAL1 和 XTAL2 分别为反向放大器的输入和输出 该反向放大器可以配置为 片内振荡器 石晶振荡和陶瓷振荡均可采用 如采用外部时钟源驱动器件 XTAL2 应不接 由于输入至内部时钟信号要通过一个二分频触发器 因此对外部时钟信号 的脉宽无任何要求 但必须保证脉冲的高低电平要求的宽度 3 1 4 芯片擦除 整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合 ALE 管脚处于低电平 10ms 来完成 在芯片擦操作中 代码阵列全被写 1 且在任何非空 存储字节被重复编程以前 该操作必须被执行 3 2 89C205189C2051 介绍 89C2051 共有 20 条引脚 如图 3 2 所示 P1 口共 8 脚 准双向端口 P3 0 P3 6 共 7 脚 准双向端口 如 P3 0 P3 1 的串行通讯功能 P3 2 P3 3 的中断输入功能 P3 4 P3 5 的定时器输入功能 在引脚的驱动能力上 89C2051 具有很强的下拉能力 P1 P3 口的下拉能力均可 7 达到 20mA 相比之下 89C51 的端口下拉能力每脚最大为 15mA 但是限定 9 脚电 流之和小于 71mA 这样 引脚的平均电流只 9mA 89C2051 驱动能力的增强 使得 它可以直接驱动 LED 数码管 相对于 89C51 它少了一些功能 但是它的功耗少 便于携带 更经济使它在发 射电路中起着重要的地位 因此 在本设计红外发射的电路中就用了它来实现脉冲 信号的产生 RST 1 VCC 20 RXD P3 0 2 P1 7 19 TXD P3 1 3 P1 6 18 XTAL2 4 P1 5 17 XTAL1 5 P1 4 16 INT0 P3 2 6 P1 3 15 INT1 P3 3 7 P1 2 14 T0 P3 4 8 P1 1 AIN1 13 T1 P3 5 9 P1 0 AIN0 12 P3 7 11 GND 10 U189C2051 图 3 2 89C2051 的引脚 3 3 系统的功能实现方法 3 3 1 摇控码的编码格式 该遥控器采用脉冲个数编码 不同的脉冲个数代表不同的码 最小为 2 个脉冲 最大为 17 个脉冲 为了使接收可靠 第一位码宽为 3ms 其余为 1ms 遥控码数据 帧间隔大于 10ms 如图 3 3 所示 3 3 2 遥控码的发射 采用的是 89C2051 芯片 用 P1 口组成键盘 获取键值 用内部的定时器 1 产 生一个 40KHz 的软件定时中断 当作红外线的调制基波 当某个操作按键按下时 单片机先读出键值 然后根据键值设定遥控码的脉冲个数 再调制成 40kHz 方波由 红外线发光管发射出去 P3 5 端口的输出调制波如图 3 3 所示 8 3 3 3 数码帧的接收处理 当红外线接收器输出脉冲帧数据时 第一位码的低电平将启动中断程序 实时 接收数据帧 在数据帧接收时 将对第一位 起始位 码的码宽进行验证 若第一 位低电平码的脉宽小于 2ms 将作为错误码处理 当间隔位的高电平脉宽大于 3ms 时 结束接收 然后根据累加器 A 中的脉冲个数 执行相应输出口的操作 图 3 4 就是红外线接收器输出的一帧遥控码波形图 图 3 4 红外线接收器输出的一帧遥控码波形图 1ms 第一位1ms 10ms 3ms 10ms 3ms 10ms 帧间隙 图 3 3 端口输出编码波形图 1ms 电器 7 的遥控输出码 电器 1 的遥控输出码 电器 0 的遥控输出码 9 3 4 红外发射电路 遥控发射通过键盘 每按下一个键 即产生具有不同的编码数字脉冲 这种代 码指令信号调制在 40KHz 的载波上 激励红外光二极管产生不同的脉冲 通过空间 的传送到受控机的遥控接收器 P1 口作为按键部分 P3 5 口作为发射部分 然后用 三极管的放大驱动红外发射 电路如图 3 5 所示 C2 22P C3 22P RST 1 VCC 20 RXD P3 0 2 P1 7 19 TXD P3 1 3 P1 6 18 XTAL2 4 P1 5 17 XTAL1 5 P1 4 16 INT0 P3 2 6 P1 3 15 INT1 P3 3 7 P1 2 14 T0 P3 4 8 P1 1 AIN1 13 T1 P3 5 9 P1 0 AIN0 12 P3 7 11 GND 10 U189C2051 5V R1 8 2K Y1 12MHZ 5V R2 4 7K Q1 8050 5V R3 1 VB1 C1 10uF S1 S2 S3 S4 R4 R5 R6 R7 5V S5 S6 S7 S8 R8 R9 R10 R11 图 3 5 发射电路图 3 5 红外接收电路 在接收过程中 脉冲通过光学滤波器和红外二极管转换为 40KHz 的电信号 此 信号经过放大 检波 整形 解调 送到解码与接口电路 从而完成相应的遥控功 能 接收电路如图 3 6 所示 10 EA VP 31 X1 19 X2 18 RESET 9 RD 17 WR 16 INT0 12 INT1 13 T0 14 T1 15 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE P 30 TXD 11 RXD 10 U1 89C51 P1 0 P1 1 P1 2 P1 3 P1 4 P1 5 C3 10uF VCC VCC Y1 12MHz C1 22P C2 22P A 7 B 1 C 2 D 6 B1 4 LT 3 RB1 5 a 13 b 12 c 11 d 10 e 9 f 15 g 14 U27447 A 7 B 1 C 2 D 6 B1 4 LT 3 RB1 5 a 13 b 12 c 11 d 10 e 9 f 15 g 14 U37447 VCC VCC a bf c g d e DPY LEDgn 1 2 3 4 5 6 7 a b c d e f g a bf c g d e DPY LEDgn 1 2 3 4 5 6 7 a b c d e f g Q1 JIESHOU VCC 图 3 6 接收电路图 通常 红外遥控器将遥控信号 二进制脉冲码 调制在 40KHz 的载波上 经缓冲 放大后送至红外发光二极管 产生红外信号发射出去 将上述的遥控编码脉冲对频 率为 40KHz 周期为 26 3ms 的载波信号进行脉幅调制 PAM 再经缓冲放大后送到 红外发光管 将遥控信号发射出去 根据遥控信号编码和发射过程 遥控信号的识别 即解码过程是去除 40KHz 载波信号后识别出二进制脉冲码中的 0 和 1 由 MCS 51 系列单片机 AT89S52 一体化红外接收头 存储器 还原调制与红外发光管驱动电路组成 一体化红外接收头采用 SIEMENS SFH 506 38 它负责红外遥控信号的解调 将调制在 40kHz 上的红外脉冲信号解调后再输入到 AT89C51 的 INT0 P3 2 引脚 由单片机进行高电平与低电平宽度的测量 遥控信号的还原是通过 P3 1 输入二进制 脉冲码的高电平与低电平及维持时间 当接收头接收信号时 单片机产生中断 并 在 P3 1 口记下脉冲的个数 这在后面的软件设计中会具体介绍到 通过单片机处理 后驱动控制部分 并通过数码管显示用电设备的个数 3 6 软件设计 3 6 1 发射编码的软件设计 首先 初始化定时器 定时为频率为 40KHz 的时间段 当按下某一按键时 发 送数据 1 就开始工作 同时定时器溢出 也就是定时器记满了 执行定时器中断 中断程序如下 11 INTT1 CPL P3 5 40KHZ 红外线遥控信号产生 RETI 中断返回 由此就产生了 40KHZ 的载波信号 当发送数据 0 时 定时器不工作 发送程序如下 REMOTE MOV R1 A 装入发射脉冲个数 LJMP OUT3 转第一个码发射处理 OUT MOV R0 55H 1MS 宽低电平发射控制数据 OUT1 SETB ET1 开 T1 中断 SETB TR1 开启定时器 T1 NOP 延时 NOP NOP NOP NOP DJNZ R0 OUT1 时间不到转 OUT1 再循环 MOV R0 32H 1MS 高电平间隙控制数据 OUT2 CLR TR1 关定时器 T1 CLR ET1 关 T1 中断 CLR P3 5 关脉冲输出 NOP 空操作延时 NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP DJNZ R0 OUT2 时间不到转 OUT2 再循环 DJNZ R1 OUT 脉冲未发完 转 OUT 再循环发射 LCALL DL500MS 12 RET OUT3 MOV R0 0FFH 装发谢 3MS 宽控制数据 LJMP OUT1 转 OUT1 3 6 2 接收编码的软件设计 单片机上电复位后 首先对其内部定时器初始化 用定时器及软件计数的方法 当有信号输入时 单片机产生中断 并在 P3 1 口进行计脉冲个数 测量 P3 1 高 低 电平的宽度 P3 1 引脚平时为高电平 当接收到红外遥控信号时 由于一体化红外 接收头的反向作用 INT0 引脚下跳至低电平 计算脉冲个数后通过 7447 译码电路 数码管显示相应的数值 下面是第一个 3ms 脉冲的解码程序 READ1 CLR A MOV DPH A MOV DPL A HARD1 JB P3 1 HARD11 INC DPTR NOP NOP AJMP HARD1 HARD11 MOV A DPH JZ READOUTT0 CLR A READ11 INC A READ12 JNB P3 1 READ12 MOV R1 06H READ13 JNB P3 1 READ11 LCALL DELAYREAD DJNZ R1 READ13 程序流程图如图 3 7 所示 13 图 3 7 程序流程图 a 按键流程图 图 3 7 程序流程图 b 发射流程图 扫描按键 逐行扫描 按 P 口值查键号 按键号转至相 应的发射程序 返回 N Y 键按下 发射开始 装入发射脉冲个数 R1 发 3ms 脉冲 停发 1ms R1 1 0 开始 停发 1ms 返回 Y N 14 图 3 7 程序流程图 c 接收流程图 4 直流稳压电源的设计 直流稳压电源主要功能是为后两个部分提供电压的输出 在设计中分出了 2 个 支路 一个输出的电压为 9V 另外一个输出的电压为 5V 直流稳压电源的主要由电源变压器 整流电路 滤波电路和稳压电路四部分组 成 框图如图 4 1 所示 电源变压器 整流电路 滤波电路 稳压电路 Vi V2 VR VF V o 图 4 1 直流稳压电源的方框图 4 1 直流稳压电源采用单相桥式整流电路 整流电路主要实现将交流电变换成直流电 实现这一目标主要是靠二极管的单 向导电作用 因此二极管是构成整流电路的关键元件 我采用的是单桥式整流电路 本设计整流电路如图 4 2 所示 Y 是否接 收到 错误 Y Y 停 1ms 返回接收 1ms 脉冲 N A 1 0 检验低电平是否为 3ms N 15 R D1 D2 D3 D4 输入 电压 a b V2 图 4 2 单桥式整流电路图 在图中 输入电压 V1 通过电源变压器成 V2 它的作用是将交流电电压 V1 变 成整流电路要求的交流电压 V2 其中的电阻是要求支流供电的负载电阻 四个整流 二极管 D1 到 D4 接成电桥的形式 通过负载 R 的电流 I 以及电压 V3 的波形如图 4 3 它们都是单方向的全波脉动波形 4 2 滤波电路 在整流电路输出波形中由于含有较多的纹波成分 与所要求的波形不太符合 所以在整流电路后接滤波电路以滤去整流输出电压的纹波 而滤波电路常有电容滤 波 电感滤波和 RC 滤波等 本电路采用的是电容滤波电路 如图 4 4 所示 图 4 3 单相桥式整流电路波形图 vL O O V2 t O 2 3 4 iL O Ot D1D3D2D4D1D3D2D4t 16 图 4 4 电容滤波电路图 4 3 稳压电路 典型应用电路如图 4 5 所示 图中 C1 C2 用于频率补偿 防止自激振荡和抑 制高频干扰 C3 采用电解电容 以减少电源引入的低频干扰对输出电压的影响 D 是保护二极管 当输入端短路时 给 C3 一个放电的通路 防止 C3 两端电压激穿调 整管的发射结 Vin 3 GND 2 5V 1 U1 7805 C21 100u C22 0 1u 5V GND C20 100uC19 0 1 图 5 5 稳压电路图 17 5 LED 显示电路的设计 LED 显示主要是显示所发射的所发送的信号的个数 它就实现以下的作用 当 按下某一按键比方说 2 键 LED 会显示 01 如果再按下 2 键 LED 就显示 00 如 果同时按下 2 个键 那么 LED 就显示 02 下面介绍 LED 的主要性能 LED 显示器由 7 个发光二极管组成 又叫 7 段 LED 显示器 显示器中还有一 个圆点型发光二极管 用于显示小数点 通过七个发光二极管亮暗的不同组合 可 以显示多种数字 字母以及其它符号 LED 显示器中的发光二极管共有两种连接方法 1 共阳极接法 把发光二极管的阳极连在一起构成公共阳极 使用时公共阳极接 5V 这样阴 极端输入低电平的段发光二极管就导通点亮 而输入高电平的则不点亮 2 共阴极接法 把发光二极管的阳极连在一起构成公共阳极 使用时公共阳极接 5V 这样阴 极端输入低电平的段发光二极管就导通点亮 而输入高电平的则不点亮 在设计的电路中 采用了共阳极接法 原理图如 5 1 所示 它显示十六进制数 的字形代码如表 5 2 所示 图 5 1 LED 显示原理图 c e b COM R 8 a d f g dp 18 表 5 2 十六进制数的字形代码表 dpgfedcba字形字形码 110000000C0H 111110011F9H 101001002A6H 101100003B0H 10010010499H 10010010592H 10000010682H 111110007F8H 10000000880H 10010000990H 01000000040H 19 6 控制部分 在控制部分采用了隔离驱动电路 用光电器件作为隔离元件 利用光耦来隔离 强电 以防止强电影响单片机的工作 光电耦合器是由发光二极管和光敏三极管组 合起来的器件 发光二极管是把输入边的电信号变换成相同规律变化的光 而光敏 三极管是把光又重新变换成变化规律相同的电信号 因此 光起着媒介的作用 由 于光电耦合器抗干扰能力强 容易完成电平匹配和转移 又不受信号源是否接地的 限制 所以应用日益广泛 光电隔离的目的是割断两个电路的电气联系 使之相互独立 从而也就割断了 噪声从一个电路进入另一个电路的通路 光电隔离是通过光电耦合器实现的 外壳 有金属的或塑料的两种 发光二极管和光敏三极管之间用透明绝缘体填充 并使发 光管与光敏管对准 以提高其灵敏度 光电耦合器的电路符号如图 6 1 所示 U11 OPTOISO2 图 6 1 光电耦合器原理图 输入信号使用权发光二极管发光 其光线又使光敏三极管产生电信号输出 从 而既完成了信号的传递又实现了电气上的隔离 光电耦合的响应时间一般不超过几 个微秒 光电耦合器的输入 端与输出 端在电气上是绝缘的 且输出端对输入端也无反 馈 因而具有隔离和抗干扰两方面的独特性能 通常使用光电耦合器是为实现以下 两个主要功能 电平转换 TTL 电路与电源电路之间不需另加匹配电路就可以传输信号 从而 实现了电平转换 隔离 这时由于信号电路与接收电路之间被隔离 因此即使两个电路的接地电 位不同 也不会形成干扰 光电耦合器中光敏三极管的基极有引出和不引出两种形式 基极引出通常是经 一个电阻接地 通过接地电阻可以控制耦合的响应速度和灵敏度 总的来说 电阻越小 响应 速度越高 电路如图 6 2 所示 20 R39 51 U11 OPTOISO2 Q5 8050 R38 3K 13 4 25 Z2 D4 P1 0 9V 5VD D1 LED R1 RES2 图 6 2 控制电路图 通过光耦后 利用继电器就可以实现对不同的设备或者其他要控制的设备进行 控制 从而实现了弱电来控制强电的功能 也能控制不同的设备 这里用发光二极 管来代替 实际上可以控制多个不同的强电设备 继电器 21 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 的接收头时基本满足了设计需 求 2 由于将 3ms 的接收脉冲放在 1ms 的后面 编码解调出现错误 导致接受端无信 号输出 解决方法是将 3ms 的接收脉冲放在前面就可以接收到信号 因为在电路的 解码过程中 单片机进行数码帧的接收处理 首先是对 3ms 的脉冲检验 当第一位 低电平码的脉宽小于 2ms 时就会错误处理 在初始化过程中 将 P1 口全置 0 但是继电器仍工作 通过反复调试 将初始 化的 P1 口全置 1 通过反向使得输出全为 0 从而满足上电复位 继电器掉电 满 足初始化要求 22 8 结论 由于目前的遥控装置大多对某一设备进行单独控制 而在本设计中的红外遥控 电路设计了多个控制按键 可以对不同的设备 也可以对同一设备的多个功能进行 不同的控制 基本符合技术要求 但是本电路也有不完善的地方 它只能单通道实现对多个设备的控制 即它不能 同时控制两个或者两个以上的设备 在设计过程中 通过大量的查阅资料 认真研究教材 对单片机有了更为深刻 的理解 在设计软件时 须仔细的分析硬件电路 画出程序流程图 培养了我的耐 性和刻苦钻研的精神 23 参考文献 1 全国大学生电子设计竞赛组委会 第五届全国大学生电子设计竞赛获奖作品选编 第 1 版 北京理工大学出版社 2005 年 P10 17 2 康华光 陈大钦 电子技术基础模拟部分 第 4 版 高等教育出版社 1999 年 第四版 P82 155 3 康华光 邹寿彬 电子技术基础数字部分 第 4 版 高等教育出版社 2000 年 第 四版 P83 155 4 李锦春 蔡仁明 常用晶体二极管 大功率三极管手册 人民邮电出版社 1981 年 第 一版 P23 55 5 黄智伟 王彦 陈文光 全国大学生电子设计竞赛训练教程 第 1 版 电子工业 出版社 2005 年 P304 P314 6 吴金戌 沈庆阳 郭庭吉 8051 单片机实践与应用 第 1 版 清华大学出版社 2002 年 P147 167 7 青木英彦 模拟电路的设计与制作 第 1 版 科学出版社 2005 年 119 131 8 李广弟 朱月秀 王秀山 单片机基础 第 2 版 北京航空航天大学出版社 2001 年 P13 71 9 梅丽风 王艳秋 张军等 单片机原理及接口技术 第 1 版 清华大学出版社 2004 年 P296 323 10 何立民 单片机应用文集 第一版 北京航空航天大学出版社 1991 P1 310 11 何立民 单片机应用系统设计 系统配置与接口技术 第 2 版 北京航空航天 大学出版社 1995 P31 175 12 赵亮 侯国锐 单片机 C 语言编程与实例 第一版 人民邮电出版社 2003 9 P1 152 13 刘胜利 新型显示器电路分析 第一版 电子工业出版社 1999 P122 344 14 胡伟 单片机 C 程序设计及应用实例人民邮电出版社 2003 7 P1 247 15 实用电子元器件手册 上海科学技术出版社 1998 2 P1 21 16 李广弟等 单片机基础 北京航空航天大学出版社 2002 6 P1 223 17 Michael A Miller Data and Network Communications 第一版 科学出版社 2002年 18 J Bhasker著 徐振林译 Verilog HDL硬件描述语言 第一版 电子工业出版社 2004 24 年 附录 1 发射程序 ORG 0000H 程序执行开始地址 AJMP START 跳至 START 执行 ORG 001BH 定时器 T1 中断入口地址 LJMP INTT1 跳至 INTT1 中断服务程序 ORG 0030H START MOV SP 70H 设堆栈基址为 70H CLR P3 5 关遥控输出 MOV IE 00H 关所有中断 MOV IP 01H 设优先级 MOV TMOD 22H 8 位自动重装初值模式 MOV TH1 0F3H 定时为 13 微秒初值 MOV TL1 0F3H SETB EA 开总中断允许 键盘 MOV P1 0FFH JIAN LCALL DELAY2 MOV A P1 CJNE A 0FFH JIAN1 LJMP JIAN JIAN1 MOV A P1 CJNE A 0FEH JIAN2 LJMP MN4 JIAN2 MOV A P1 CJNE A 0FDH JIAN3 LJMP MN0 JIAN3 MOV A P1 CJNE A 0FBH JIAN4 LJMP MN6 JIAN4 MOV A P1 CJNE A 0F7H JIAN5 25 LJMP MN2 JIAN5 MOV A P1 CJNE A 0EFH JIAN6 LJMP MN5 JIAN6 MOV A P1 CJNE A 0DFH JIAN7 LJMP MN1 JIAN7 MOV A P1 CJNE A 0BFH JIAN8 LJMP MN3 JIAN8 MOV A P1 CJNE A 07FH NN LJMP MN7 NN LJMP JIAN mn0 MOV A 02H 发 2 个脉冲 LCALL REMOTE 转发送程序 ajmp nn mn1 MOV A 03H 发 3 个脉冲 LCALL REMOTE 转发送程序 ajmp nn mn2 MOV A 04H 发 4 个脉冲 LCALL REMOTE 转发送程序 ajmp nn mn3 MOV A 05H 发 5 个脉冲 LCALL REMOTE 转发送程序 ajmp nn mn4 MOV A 06H 发 6 个脉冲 LCALL REMOTE 转发送程序 ajmp nn mn5 MOV A 07H 发 7 个脉冲 LCALL REMOTE 转发送程序 ajmp nn 26 mn6 MOV A 08H 发 8 个脉冲 LCALL REMOTE 转发送程序 ajmp nn mn7 MOV A 09H 发 9 个脉冲 LCALL REMOTE 转发送程序 ajmp nn mn8 MOV A 0AH 发 10 个脉冲 LCALL REMOTE 转发送程序 ajmp nn mn9 MOV A 0BH 发 11 个脉冲 LCALL REMOTE 转发送程序 ajmp nn mn10 MOV A 0CH 发 12 个脉冲 LCALL REMOTE 转发送程序 ajmp nn mn11 MOV A 0DH 发 13 个脉冲 LCALL REMOTE 转发送程序 ajmp nn mn12 MOV A 0EH 发 14 个脉冲 LCALL REMOTE 转发送程序 ajmp nn mn13 MOV A 0FH 发 15 个脉冲 LCALL REMOTE 转发送程序 ajmp nn mn14 MOV A 10H 发 16 个脉冲 LCALL REMOTE 转发送程序 ajmp nn mn15 MOV A 11H 发 17 个脉冲 LCALL REMOTE 转发送程序 ajmp nn 编 码 发 射 程 序 REMOTE MOV R1 A 装入发射脉冲个数 27 LJMP OUT3 转第一个码发射处理 OUT MOV R0 55H 1MS 宽低电平发射控制数据 OUT1 SETB ET1 开 T1 中断 SETB TR1 开启定时器 T1 NOP 延时 NOP NOP NOP NOP DJNZ R0 OUT1 时间不到转 OUT1 再循环 MOV R0 32H 1MS 高电平间隙控制数据 OUT2 CLR TR1 关定时器 T1 CLR ET1 关 T1 中断 CLR P3 5 关脉冲输出 NOP 空操作延时 NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP DJNZ R0 OUT2 时间不到转 OUT2 再循环 DJNZ R1 OUT 脉冲未发完 转 OUT 再循环发射 LCALL DL500MS RET OUT3 MOV R0 0FFH 装发谢 3MS 宽控制数据 LJMP OUT1 转 OUT1 延时 513 us 28 513 微秒延时程序 DELAY MOV R2 0FFH DELAY1 DJNZ R2 DELAY1 RET DELAY2 MOV R2 0FFH DELAY3 MOV R3 0FFH DJNZ R3 DJNZ R2 DELAY3 RET 延时 10ms 10 毫秒延时程序 DL10MS MOV R3 14H DL10MS1 LCALL DELAY DJNZ R3 DL10MS1 RET 500 毫秒延时程序 DL500MS MOV R4 32H DL500MS1 LCALL DL10MS DJNZ R4 DL500MS1 RET T1 中断服务程序 INTT1 CPL P3 5 40kHZ 红外线遥控信号产生 RETI 中断返回 END 程序结束 29 附录 2 接收程序 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 LJMPMAIN 转 MAIN 循环 NOP PC 值出错处理 LJMPSTART 出错时重新初始化 遥控接收程序 30 采用中断接收 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 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 31 JZ FUN1 为 0 执行 FUN1 3 个脉冲 DEC A JZ FUN2 为 0 执行 FUN2 4 个脉冲 DEC A JZ FUN3 为 0 执行 FUN3 5 个脉冲 DEC A JZ FUN4 为 0 执行 FUN4 6 个脉冲 DEC A JZ FUN5 为 0 执行 FUN5 7 个脉冲 DEC A JZ FUN6 为 0 执行 FUN6 8 个脉冲 DEC A JZ FUN7 为 0 执行 FUN7 9 个脉冲 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 个脉冲 DEC A JZ FUN15 为 0 执行 FUN15 17 个脉冲 LJMP READOUTT0 出错退出 FUN0 CPL P1 0 P0 口各端口开关输出控制 LJMP READOUTT0 转中断退出 FUN1 CPL P1 1 LJMP READOUTT0 32 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 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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论