红外电路收发设计教材_第1页
红外电路收发设计教材_第2页
红外电路收发设计教材_第3页
红外电路收发设计教材_第4页
红外电路收发设计教材_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1、测控技术工程技能训练设计报告课题:红外电路收发设计班级 测控 1122 学号 1121203236学生姓名 段亚喆指导教师 李华 李洪海淮阴工学院自动化学院2015-12红外电路收发设计目录前 言 3第1章概 述 4第 1.1 节 基于单片机的红外遥控系统概述 4第 1.2 节 设计方案思路 5第 1.3 节 研发方向和技术关键 5第 1.4 节 主要技术指标 6第 2 章 总体设计 6第 2.1 节 红外遥控发射部分 7第 2.2 节 红外遥控接收部分 8第 2.3 节 红外编码标准 9第 3 章 硬件设计 11第 3.1 节 主控芯片 AT89C5211第 3.2 功能概述 12第 3.3

2、 节 复位电路 14第 3.4 节 红外发射接收电路 16第 4 章 软件设计 17第 4.1 节 总体方案 17第五章 仿真与调试 18结 论 19附录 程序代码 20前言近年来随着计算机在社会各领域的渗透, 单片机的应用正在不断地走向深 入,同时也带动传统的控制、 检测等工作日益更新。 传统的遥控器大多采用无线 电遥控技术, 随着科技的进步, 红外线遥控技术的进一步成熟, 红外遥控也逐步 成为了一种被广泛应用的通信和遥控手段。 为了方便实用, 传统的家庭电器逐渐 采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等有害环境下, 采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。红外

3、线的光谱位于红色光之外, 波长是 0.76 1.5m,比红光的波长还 长。红外遥控是利用红外线进行传递信息的一种控制方式, 红外遥控具有抗干扰, 电路简单, 容易编码和解码, 功耗小,成本低的优点。红外遥控几乎适用所有家 电的控制。红外遥控是以调制的方式发射数据, 就是把数据和一定频率的载波进 行“与”操作,这样既可以提高发射效率又可以降低电源功耗。目前有很多种芯 片可以实现红外发射, 可以根据选择发出不同种类的编码。 由于发射系统一般用 电池供电,这就要求芯片的功耗要很低,芯片大多都设计成可以处于休眠状态, 当有按键按下时才工作, 这样可以降低功耗芯片所用的晶振应该有足够的耐物理 撞击能力。

4、 红外接收头的种类很多, 引脚定义也不相同,一般都有三个引脚,包 括供电脚,接地和信号输出脚。 根据发射端调制载波的不同应选用相应解调频率 的接收头。 红外接收头内部放大器的增益很大, 很容易引起干扰, 因此在接收头 的供电脚上须加上滤波电容,一般在 22uf 以上。红外遥控的特点是不影响周边环境、 不干扰其它电器设备。 由于其无法穿 透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰; 电路 调试简单, 只要按给定电路连接无误, 一般不需任何调试即可投入工作; 编解码 容易,可进行多路遥控。 红外遥控虽然被广泛应用, 但各产商的遥控器不能相互 兼容。当今市场上的红外线遥控装置一

5、般采用专用的遥控编码及解码集成电路, 但编程灵活性较低,且产品多相互绑定,不能复用,故应用范围有限。而本文采 用单片机进行遥控系统的应用设计, 遥控装置将同时具有编程灵活、 控制范围广、 体积小、功耗低、功能强、成本低、可靠性高等特点,因此采用单片机的红外遥 控技术具有广阔的发展前景。红外线是一种光线, 具有普通光的性质, 可以以光速直线传播, 强度可调, 可以通过光学透镜聚焦, 可以被不透明物体遮挡等等。 特别制造的半导体发光二极管,可以发出特定波长(通常是近红外)的红外线, 通过控制二极管的电流可 以很方便地改变红外线的强度, 达到调制的目的, 因此,在现代电子工程应用中, 红外线常常被用

6、做近距离视线范围内的通讯载波,最典型的应用就是家电遥控 器。使用红外线做信号载波的优点很多:成本低、传播范围和方向可以控制、不 产生电磁辐射干扰,也不受干扰等等。因此被广泛地应用在各种技术领域中。第 1章 概 述 第1.1 节 基于单片机的红外遥控系统概述 当今社会科学技术的发展与日俱增, 人们生活水平也是日益提高, 为了减 少人们的工作量,所以对各种家用电器、电子器件的非人工控制的要求越来越高, 针对这种情况, 设计出一种集成度比较高的控制体系是必然的。 现代科技的飞速 发展在许多危险、不可近场合也对远程控制提出了越来越高的要求。 单片机是指一个集成在一块芯片上的完整计算机系统。 尽管他的大

7、部分功 能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件: CPU 、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如 通讯接口、 定时器,实时时钟等外围设备。 而现在最强大的单片机系统甚至可以 将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机的集成度很高,它体积小、功耗低、控制功能强、扩展灵活、微型 化、使用方便等突出特点,尤其耗电少,又可使供电电源体积小、质量轻。所以 特别适用于“电脑型产品” ,它的应用已深入到工业、农业、国防、科研、教育 以及日常生活用品 (家电、 玩具)等各种领域,几乎很难找到哪个领域没有单片 机的踪迹。 单片机特别适合把它

8、做到产品的内部, 取代部分老式机械、 电子零件 或元器件。可使产品缩小体积,增强功能,实现不同程度的智能化。红外线是一种光线,具有普通光的性质, 可以以光速直线传播, 强度可调, 可以通过光学透镜聚焦, 可以被不透明物体遮挡等等。 特别制造的半导体发光二 极管,可以发出特定波长(通常是近红外)的红外线, 通过控制二极管的电流可 以很方便的改变红外线的强度, 以达到调制的目的, 因此,在现代电子工程应用 中,红外线常常被用做近距离视线范围内的通讯载波。使用红外线做信号载波的优点很多:成本低、传播范围和方向可以控制、 不产生电磁辐射干扰,也不受干扰等等。因此被广泛地应用在各种技术领域中。 由于红外

9、线为不可见光, 因此对环境影响很小, 再由红外光波动波长远小于无线 电波的波长, 所以红外线遥控不会影响其他家用电器, 也不会影响临近的无线电 设备。最典型的应用就是家电遥控器。 红外线遥控不具有像无线电遥控那样穿过 障碍物去控制被控对象的能力, 所以,在设计家用电器的红外线遥控器时, 不必要像无线电遥控器那样,每套 (发射器和接收器 ) 要有不同的遥控频率或编码 (否 则,就会隔墙控制或干扰邻居的家用电器 )。同类产品的红外线遥控器,也可以 有相同的遥控频率或编码,而不会出现遥控信号“串门” 的情况。这对于大批量 生产以及在家用电器上普及红外线遥控提供了极大的方面。本设计主要研究并设计一个基

10、于单片机的红外发射及接收系统, 实现对八 路开关的隔离控制并对工作状态设备计数。 控制系统主要是由 AT89C52 单片机、 电源电路、红外发射电路、红外接收电路、 LED 显示电路等部分组成,应用红 外遥控系统由发射和接收两大部分组成,应用编 /解码专业集成电路芯片来进行 控制操作。 红外接收头的种类很多, 引脚定义也不相同,一般都有三个引脚,包 括供电脚,接地和信号输出脚。 根据发射端调制载波的不同应选用相应解调频率 的接收头。 单片机编码发射遥控信号经红外接收处理传送给单片机, 单片机根据 不同的信息码控制 LED 发光二极管各个状态,并完成相应的状态指示 (如图 1.1 )。第 1.2

11、 节 设计方案思路本设计主控芯片采用目前比较通用的 AT89C52 单片机。 此类单片机的运 算能力强, 软件编程灵活,自由度大, 市场上比较多见, 价格便宜且技术比较成 熟容易实现。红外传输利用载波对信号进行调制从而减少信号传输过程中的光波干扰 , 提高数据传输效率。 由单片机 AT89C52 定时器 T0 产生周期性的 26.3 的矩形脉 冲,即每隔 13us ,定时器 T0 产生中断输出一个相反的信号使输出端产生周期 的 38KHz 脉冲信号。再由单片机将键盘信息及系统识别码等数据调制在红外载 波上经红外发射头发射出去。 接收方由红外一体化接收头实现对接收信号的放大 解调并还原为数据流,

12、经由单片机解码后对相关 IO 口进行操作。第 1.3 节 研发方向和技术关键随着电子技术的发展, 当前数字系统的设计正朝着速度快、 容量大、 体积 重量轻的方向发展。 在其推动下, 现代电子产品几乎渗透了社会的各个领域, 有力地推动了社会生产力的发展和社会信息化程度的提高, 同时也使现代电子产品 性能进一步提高,产品更新换代的节奏也越来越快。(1)合理设计硬件电路,使各模块功能协调;(2)红外发射信号的脉冲波形;(3)红外发射信号的编解码;(4)单片机对 IO 口的操作;第 1.4 节 主要技术指标(1)遥控距离 4 到 6m ;(2)工作频率为 38KHz ,即红外发射和接收的载频为 38K

13、Hz ;(3)接收端可显示受控状态。第 2 章 总体设计红外遥控系统是集中集光、 电于一体的系统。 其工作原理是用户按键信号 经单片机编码处理后转化为脉冲信号, 经由红外发射头发送出去; 接收端由红外 一体化接收头实现对接收信号的放大解调并还原为数据流, 经由单片机解码后对 相关 IO 口进行操作,从而完成整个遥控操作。整个系统主要是由电源电路、红外发射电路、红外接收电路、 LED 显示 电路等部分组成。 系统硬件由以下几部分组成: 红外数据发射电路, 键盘采用普 通按键键盘,按键统一接在单片机 P1 口。整体设计思路为:根据扫描到不同的 按键值对发射脉冲编码赋值后 AT89C52 将按照数据

14、处理要求从 P3.4 输出控制 脉冲与 T0 产生的 8KHz 的载波(周期是 26us )进行调制,经 PNP 三极管对信 号放大驱动红外发光管将控制信号发送出去。 红外数据接收则是采用 IRLINK 一 体化红外接收头,内部集成红外接收、数据采集、解码的功能,只要在接收 端 INT0 检测头信号低电平的到来, 就可完成对整个串行的信号进行分析得出当 前控制指令的功能。然后根据所得的指令去操作相应的用电器件工作,如图 2.1 所示。第 2.1 节 红外遥控发射部分 红外遥控发射部分系统框图见图 2.2。发送端采用单片机的定时中断功能, 由定时器 T0 产生周期为 26us 的矩形脉冲 ,即每

15、隔 13us 定时器 T0 产生中断输 出一个相反的信号使单片机输出端产生周期为 38KHz 的脉冲信号。脉冲图如 图 4 所示。系统通过直连单片机的按键获取用户遥控信息,经按键扫描确认, 然后交由单片机对将要发射数据进行整理,将待发送的二进制信号编码调制在 38kHz 脉冲基波上,生成脉冲发射信号 ,最后通过红外发射管发射红外信号。红 外发射电路的作用是当接收到外界信号时,驱动红外发光二极管发出调制红外 光。发射系统一般要求芯片的功耗要很低, 芯片大多都设计成可以处于休眠状 态,当有按键按下时才工作,这样可以降低功耗。红外线通过红外发光二极管 (LED )发射出去, 红外发光二极管内部材料和

16、普通发光二极管不同, 在其两端 施加一定电压时,它发出的是红外线而不是可见光。单片机红外遥控发射器主要有单片机、 行列式键盘、 低功耗空闲方式控制 电路、红外管发射电路以及单片机的一些电源、复位、震荡子电路组成。单片机不工作时一直处于低功耗状态, 采用了空闲节电工作方式。 当遥控 器的某一按键被按下以后,外部中断 1 产生中断,唤醒单片机进入工作状态, 查询键盘按下的是哪一个按键,当确认按键后,控制软件启动定时器T0 、T1 ,T1 作为发射时间控制器, T0 作为红外线发射频率控制器, T0 定时溢出时中断 程序使红外管接口电平反转一次, 写入定时器的初值不同, 在输出端口就得到不同的发射频

17、率。 T1 定时溢出时中断程序关闭关闭 T0 定时器,停止红外线发射。第 2.2 节 红外遥控接收部分 红外遥控接收电路框图见图 2.4 。红外接收端普遍采用价格便宜 ,性能可靠 的一体化红外接收头 (SM0038 , 它接收红外信号频率为 38KHz ,周期约 26s)。 它能同时对信号进行放大、检波、整形 ,得到 TTL 电平的编码信号。红外接收头 收到信号后单片机立即产生中断, 开始接收红外信号。 接收到的信号经单片机解 码得到用户遥控信息并转至 IO 口执行 ,同时单片机还完成对处于工作状态的设 备进行计数并显示。红外接收电路的作用是接收红外发光二极管发出的调制红外 光,并通过运算放大

18、器放大后输入到音频锁相环译码器集成电路进行选频。单片机红外遥控接收器主要有单片机、 红外遥控接收电路、 状态指示电路、 控制电路以及单片机的一些外围电路组成。利用单片机中的 T0 作为红外脉冲计数器, T1 作为计数时间控制器。当 电路中红外接收管接收到第一个红外脉冲时,外部中断 1 被触发,启动计数器 T0 和定时器 T1。定时溢出,中断程序关闭计数器 T0,读入计数值并进行判断, 确定操作对象(遥控按键) 对其进行反转操作, 控制电路对所控制的负载进行开 或关。还可对接收电路实行上锁功能, 对控制电路上锁后, 遥控器不能对控制电 路实施遥控功能。红外线接收头的种类很多, 引脚定义也不相同,

19、 一般都有三个引脚, 包括 供电脚,接地和信号输出脚。 根据发射端调制载波的不同应选用相应解调频率的 接收头。红外线接收头内部放大器的增益很大, 很容易引起干扰, 因此在接收头的 供电脚上须加上滤波电容,一般在 22uf 以上。有的厂家建议在供电脚和电源之 间接入 330 欧电阻,进一步降低电源干扰。接收电路可以使用一种集红外线接 收和放大于一体的一体化红外线接收器, 不需要任何外接元件, 就能完成从红外 线接收到输出与 TTL 电平信号兼容的所有工作,而体积和普通的塑封三极管大 小一样,它适合于各种红外线遥控和红外线数据传输。第 2.3 节 红外编码标准2.3.1 二进制信号的调制 二进制信

20、号的调制仍由发送单片机来完成 ,如图 2.7 所示 ,A 是二进制信号 的编码波形 ,B 是频率为 38KHz (周期为 26s) 的连续脉冲 ,C 是经调制后的间 断脉冲串(相当于 C = A B) ,用于红外发射二极管发送的波形。图 2.7 中,待发 送的二进制数据为 101 。图中脉冲个数仅为示意非真实情况。2.3.2 二进制信号的解调 二进制信号的解调由一体化红外接收头 SM0038 来完成 ,它把接收到的红外信号 (图 2.8 中波形 D ,也是图 9 中波形 C) 经内部处理并解调复原 ,在输出脚输出图 2.8 中波形 E (正好是对图 2.7 中波形 A 的取反) ,SM0038

21、 的解调可理解为 :在输 入有脉冲串时 ,输出端输出低电平 ,否则输出高电平。可直接与单片机串行输入口 及外中断相联,以实现随时接收遥控信号并产生中断, 然后由单片机对编码还原。102.3.3 二进制信号的解码 解码是指用特定方法把数码还原成它所代表的内容或将电脉冲信号、 光信号、无 线电波等转换成它所代表的信息、 数据等的过程。 解码在无线电技术和通讯等方 面广泛应用。进而二进制信号的解码由接收单片机来完成 ,它把红外接收头送来的二进制编码 波形通过解码 ,还原出发送端发送的数据。 如图 2.8 ,把波形 E 解码还原成原始二 进制数据信息 101 。第 3 章 硬件设计 第 3.1 节 主

22、控芯片 AT89C52 AT89C52 是美国 ATMEL 公司生产的 低功耗,高性能 CMOS8 位单片机, 片内含 4k bytes 的可系统编程的 Fla sh 只读程序存储器 ,器件采用 ATMEL 公司的高密度、非易失性存储技术生产 ,兼容标准 8051 指令系统及引脚。它集 Flash 程序存储器既可在线编程( ISP ) 也可用传统方法进行编程及通用 8 位微 处理器于单片芯片中。3.1.1 主要特性AT89C52 CPU 与 MCS-51 兼容 图 3.1 AT89C52 4K 字节可编程 FLASH 存储器 (寿命: 1000 写/擦循环)4.05.5V 的工作电压范围 全静

23、态工作: 0Hz-33MHz 三级程序存储器保密锁定 128*8 位内部 RAM32 条可编程 I/O 线6 个中断源 全双工串行 UART 通道 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 低功耗空闲和掉电模式 灵活的在系统编程113.2 功能概述AT89C52 提供以下标准功能: 4k 字节 Flash 闪速存储器, 128 字节内部 RAM , 32 个 IO 口线,看门狗( WDT ),两个数据指针,两个 16 位定时计数器, 一个 5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。 同时, AT89C52 可降至 0Hz 的静态逻辑操作,并支持两种软

24、件可选的节电工作 模式。空闲方式停止 CPU 的工作,但允许 RAM ,定时计数器,串行通信口 及中断系统继续工作。掉电方式保存 RAM 中的内容,但振荡器停止工作并禁止 其它所有部件工作直到下一个硬件复位。AT89C52 其他主要功能列举如下:(1) 为一般控制应用的 8 位单芯片(2) 晶片内部具时钟振荡器(传统最高工作频率可至 12MHz )(3) 内部程式存储器( ROM )为 4KB(4) 内部数据存储器( RAM )为 128B(5) 外部程序存储器可扩充至 64KB(6) 外部数据存储器可扩充至 64KB(7) 32 条双向输入输出线,且每条均可以单独做 I/O 的控制(8) 5

25、 个中断向量源(9) 2 组独立的 16 位定时器(10) 1 个全多工串行通信端口(11) 8751 及 8752 单芯片具有数据保密的功能(12) 单芯片提供位逻辑运算指令3.1.3 引脚功能说明Vcc:电源电压( 5V)。 GND :电源接地。P0 :P0 口是一组 8 位漏极开路型双向 I 0 口,也即地址数据总线复用口。 作为输出口用时,每位能驱动 8 个 TTL 逻辑门电路,对端口写“ l”可作为高阻 抗输入端用。在访问外部数据存储器或程序存储器时, 这组口线分时转换地址 (低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。在 F1ash 编程时, P0 口接收指令字节,而在

26、程序校验时, 输出指令字节,校验时,要求外接上拉电阻。P1 :Pl 是一个带内部上拉电阻的 8 位双向 I O 口,Pl 的输出缓冲级可驱动 (吸 收或输出电流) 4 个 TTL 逻辑门电路。对端口写“ l”,通过内部的上拉电阻把端 口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某 个引脚被外部信号拉低时会输出一个电流( IIL)。 Flash 编程和程序校验期间, Pl 接收低 8 位地址。P2 :P2 是一个带有内部上拉电阻的 8 位双向 IO 口, P2 的输出缓冲级可驱12动(吸收或输出电流) 4 个 TTL 逻辑门电路。对端口写“ 1”,通过内部的上拉 电阻把端

27、口拉到高电平, 此时可作输入口, 作输入口使用时, 因为内部存在上拉 电阻,某个引脚被外部信号拉低时会输出一个电流( IIL)。在访 问 外 部 程 序存 储 器 或 16 位 地 址 的 外部 数 据 存 储 器 ( 例 如 执 行 MOVXDPTR 指令)时, P2 口送出高 8 位地址数据。在访问 8 位地址的外部 数据存储器(如执行 MOVXRi 指令)时, P2 口线上的内容(也即特殊功能寄 存器( SFR )区中 P2 寄存器的内容),在整个访问期间不改变。Flash 编程或校验时, P2 亦接收高位地址和其它控制信号。P3 :P3 口是一组带有内部上拉电阻的 8 位双向 I 0

28、口。P3 口输出缓冲级可驱 动(吸收或输出电流) 4 个 TTL 逻辑门电路。对 P3 口写入“ l”时,它们被内 部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的 P3 口将用上拉 电阻输出电流( IIL)。P3 口还接收一些用于 Flash 闪速存储器编程和程序校验 的控制信号。P3 口除了作为一般的 I0 口线外,更重要的用途是它的第二功能, 如下表 3.1 所示:表 3.1 P3 口的第二功能 端口引脚 第二功能P3.0 RXD (串行输入口)P3.1 TXD (串行输出口)P3.2 INT0 (外部中断 0)P3.3 INT1 (外部中断 1)P3.4 T0 (定时/计数器

29、0 外部输入)P3.5 T1 (定时/计数器 1 外部输入)P3.6 WR (外部数据存储器写选通)P3.7 RD (外部数据存储器读选通)RST :复位输入。当振荡器工作时, RST 引脚出现两个机器周期以上高电平将 使单 片机复位。 WDT 溢出将使 该引脚 输出高电平,设 置 SFR AUXR 的 DISRT0 位(地址 8EH )可打开或关闭该功能。 DISRT0 位缺省为 RESET 输出 高电平打开状态。ALE/PROG :当访问外部程序存储器或数据存储器时, ALE(地址锁存允许)输 出脉冲用于锁存地址的低 8 位字节。即使不访问外部存储器, ALE 仍以时钟振 荡频率的 16

30、输出固定的正脉冲信号, 因此它可对外输出时钟或用于定时目的。 要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。13对 F1ash 存储器编程期间,该引脚还用于输入编程脉冲( PROG )。 如有必要,可通过对特殊功能寄存器( SFR )区中的 8EH 单元的 D0 位置位, 可禁止 ALE 操作。该位置位后,只有一条 M0VX 和 M0VC 指令 ALE 才会被激 活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE 无效。 PSEN :程序储存允许( PSEN )输出是外部程序存储器的读选通信号,当 AT89S51 由外部程序存储器取指令(或数据)时,每个机器周期

31、两次 PSEN 有效,即输 出两个脉冲。当访问外部数据存储器,没有两次有效的 PSEN 信号。EA/VPP :外部访问允许。欲使 CPU 仅访问外部程序存储器(地址为 0000H FFFFH ),EA 端必须保持低电平(接地) 。需注意的是:如果加密位 LB1 被编 程,复位时内部会锁存 EA 端状态。如 EA 端为高电平 (接 Vcc 端),CPU 则执行内部程序存储器中的指令。 F1ash 存储器编程时,该引脚加上 +12V 的编程电压 Vpp。 XTALl :振荡器反相放大器 及内部时钟发生器的输入端。 XTAL2 :振荡器反相放大器的输出端。3.3 复位电路单片机复位电路包括片内、 片

32、外两部分, 片外复位电路通过引脚加到内部 复位电路上,内部复位电路在每个机器周期 S5P2 对片外信号采样一次, 当 RST 引脚上出现连续两个机器周期的高电平时, 单片机就完成一次复位。 外部复位电 路就是为内部复位电路提供两个机器周期以上的高电平而设计的, AT89C2051 通常采用上电自动复位和按键手动复位两种方式。上电复位电路在通电瞬间,在 RC 电路充电过程中, RST 端出现正脉冲, 从而使单片机复位。复位电路的基本功能是系统上电时提供复位信号直至系统电源稳定后撤 销复位信号,为可靠起见电源稳定后还要经一定的延时才撤销复位信号以防电源 开关或电源插头分 -合过程中引起的抖动而影响

33、复位。 复位是单片机初始化操作, 其主要功能是把 PC 初始化为 0000H ,使单片机从 0000H 单元执行程序。除了 进入系统的正常初始化之外,当程序运行出错或操作错误使系统处于死锁状态 时,为摆脱困境,也需要按复位键重新启动。复位操作有上电自动复位和按键手动复位两种方式。 本设计采用了按键手 动复位方式。图 3.4 所示的 RC 复位电路可以实现上述基本功能。 图 3.3 按钮开 关为手动复位开关, C3 可避免高频谐波对电路的干扰。第 3.2 节 显示模块 在模拟电子和数字电子中,经常用到的显示方法有 LED 数码管显示和 LCD 显示。14本设计中采用的是 LED-MPX 显示。第

34、 3.3 节 键盘模块在键盘中按键数量较多时,为了减少 I/O 口的占用,通常将按键排列成矩阵 形式。在矩阵式键盘中, 每条水平线和垂直线在交叉处不直接连通, 而是通过一 个按键加以连接。这样,一个端口(如 P1 口)就可以构成 4*4=16 个按键,比 之直接将端口线用于键盘多出了一倍, 而且线数越多, 区别越明显, 比如再多加 一条线就可以构成 20 键的键盘,而直接用端口线则只能多出一键 (9 键)。由此 可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法, 如图 3.6 所示键盘,介绍过程如下。(1) 判断键盘中有无

35、键按下 将全部行线 k1-k4 置低电平,然后检测列线的状 态。只要有一列的电平为低, 则表示键盘中有键被按下, 而且闭合的键位于低电 平线与 4 根行线相交叉的 4 个按键之中。若所有列线均为高电平,则键盘中无 键按下。(2)判断闭合键所在的位置 在确认有键按下后, 即可进入确定具体闭合键的过 程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为 高电平。在确定某根行线位置为低电平后, 再逐行检测各列线的电平状态。 若某 列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。15第 3.4 节 红外发射和接收电路图 3.7 为仿真发射接收电路, 由于 proteus

36、 仿真无线传输, 故利用中断在单 片机产生频率为 38KHZ 的载波信号,把发射部分和接收部分用红外接收发射 管连接,再在单片机内部进行解调。16第4 章 软件设计第 4.1 节 总体方案基于单片机的红外遥控电路系统设计中编码解码部分全部由单片机实现。即本设计为软件编解码。因此软件设计也是设计的一大重点。编码标准章节 3.3 红外编码标准已详细介绍。这里将具体讲述编解码的软件实现过程。MCS-51 单片机通常使用汇编语言和 C 语言来进行软件开发。汇编语言是 一种简单易掌握、 效率较高的开发语言。其程序结构简单,执行速度快, 实时性 好,程序易优化, 编译后占用存储空间校少, 是简单的单片机应

37、用系统开发中最 常用的程序设计语言。本设计采用汇编语言进行编程,编译器采用 Keil Vision V4.00a ,该编译器是 51 系列单片机程序设计的常用工具,既可用汇编, 也支持 C 语言编译。同时具有完善的调试功能。17图 4.1 为红外发送子程序的流程图。它每被调用一次便将累加器中的八位 二进制数据发送出去。 程序从高位开始依次发送累加器中的二进制数据。 为 0 则先发送 1.68ms 的低电平,为 1则先发送 0.56ms 的低电平。然后打开中 断,利用八位自动重装初值定时器使 T0 口为产生周期 26ms 的脉冲,脉冲持续 时间为 0.56ms 。脉冲发送完毕,关中断。直至八位数

38、据发送完,本次发射子程 序退出。第五章 调试与仿真系统的软件仿真主要采用 Proteus 软件。Proteus 软件是英国公司出版的 EDA 工具软件。它不仅具有其它 EDA 工具 软件的仿真功能, 还能仿真单片机及外围器件。 它是目前最好的仿真单片机及外 围器件的工具。 虽然目前国内推广刚起步, 但已受到单片机爱好者、 从事单片机 教学的教师、致力于单片机开发应用的科技工作者的青睐。 Proteus 是世界上著18名的 EDA 工具(仿真软件 ),从原理图布图、代码调试到单片机与外围电路协同 仿真,一键切换到 PCB 设计,真正实现了从概念到产品的完整设计。是目前世 界上唯一将电路仿真软件、

39、 PCB 设计软件和虚拟模型仿真软件三合一的设计平 台,其处理器模型支持 8051 、HC11、PIC10/12/16/18/24/30/DsPIC33 、AVR、 ARM 、8086 和 MSP430 等。在编译方面,它也支持 IAR、Keil 和 MPLAB 等多 种编译器。发射模块的硬件电路在 Proteus 中按电路图完成搭建,并在单片机的中断口T1 口接上软件提供的虚拟示波器,以显示其输出波形。仿真的主要部分放在了 红外发射功能,即通过遥控发射电路与遥控发射程序的联合调试验证模块是否能 按要求输出波形,通过此仿真模拟了通过红外电路遥控家用电器的部分模块。图 5.1 仿真效果图 结论

40、通过这次设计,在老师和同学的耐心辅导与帮助下,我得到了很好地锻炼, 实现了我的设计内容。本设计在分析了当前红外遥控的现状和前景的基础上,在 Proteus 平台上 设计一种红外遥控控制 LED 的方案,利用单片机的定时器资源模拟红外编解码 的格式,并通过键盘输入和控制电路实现了,通过键盘输入控制 LED 的编号,19通过红外发射发送,红外一体化接收头接收到后解码并点亮相应的 LED ,经过 仿真达到了设计的要求。由于时间、水平和经验有限,在信号的发射、编码、抗 干扰及功耗控制等方面仍有不足之处, 有改进的余地。 例如设计中可通过增加红 外线发射功率进而增加遥控距离, 改进信号编码方式以提高数据

41、的传输速度, 使 用小型单片机以降低功耗等。另外在系统的调试方面,由于时间和设备的原因, 只进行了短距离的调试,更多参数有待进一步的调试。附录:代码/* 作品:红外线发射单片机: STC89C52RC 晶振: 12M编译环境: Keil uVision4 V9.00 */ / 发射引脚(接 PNP 三极管 b 极)/ PNP 三极管 e 极接 2电阻,c 极接红外发射管#include #include #define uchar unsigned char#define uint unsigned int#define SBM0x80/识别码#define m9(65536-9000)/约

42、9mS#define m4_5(65536-4500)/约 4.5mS#define m1_6(65536-1630)/约 1.65mS#define m_65(65536-580)/约 0.65mS#define m_56(65536-560)/约 0.56mS#define m40(65536-40000)/约 40mS#define m56(65536-56000)/56mS#define m2_25 (65536-2250)/约 2.25mS20sbit IR = P36; sbit LED = P37;/定义发射引脚(接 PNP 三极管基极)/发射指示灯uchar KEY(void)

43、; void SanZhuan(void); void ZZ(uchar x);void Z0(uchar temp); void TT0(bit BT,uint x); void YS(uchar time);/* 函数功能:主函数 */ void main(void)TMOD = 0x01;/T0 16 位工作方式IR=1;/发射端口常态为高电平while(1)SanZhuan();/*函数功能:4 4 矩阵键盘键值P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 13 14 15 16 9 10 11 12 5 6 7 8 1 2 3 uchar KEY(v

44、oid)21uchar H,L;/行值,列值H=0;L=0;P1 = 0xf0;/将键盘端口行值设为 1,列值设为 0if(P1!= 0xf0)/ 检测是否有按键按下,如果有则 hangval 必不为 0x0fYS(10);/按键去抖动,延时 10 毫秒if(P1!=0xf0)/确实有按键按下H = P1&0xf0;/ 按键后得到按键的行标志位,将行标志位赋值给hangvalP1 = 0x0f;/翻转键盘接口输出L = P1&0x0f;/ 得到列标志位return (H+L);return 0; /* 函数功能:散转程序入口参数: v/ 13 14 15 16/ 9 10 11 12/ 5 6

45、 7 8/ 1 2 3 4 */ void SanZhuan(void)uchar v;v = KEY();switch(v)case 0x77:ZZ(0x01);v=0;break;/case 0xb7:ZZ(0x02);v=0;break;/case 0xd7:ZZ(0x03);v=0;break;/22case 0xe7:ZZ(0x04);v=0;break;/case 0x7b:ZZ(0x05);v=0;break;/case 0xbb:ZZ(0x06);v=0;break;/case 0xdb:ZZ(0x07);v=0;break;/case 0xeb:ZZ(0x08);v=0;br

46、eak;/case 0x7d:ZZ(0x09);v=0;break;/case 0xbd:ZZ(0x10);v=0;break;/case 0xdd:ZZ(0x11);v=0;break;/case 0xed:ZZ(0x12);v=0;break;/case 0x7e:ZZ(0x13);v=0;break;/case 0xbe:ZZ(0x14);v=0;break;/case 0xde:ZZ(0x15);v=0;break;/case 0xee:ZZ(0x16);v=0;break;/default:v=0;/* 函数功能:发送主程序 */ void ZZ(uchar x)TT0(1,m9);

47、/高电平 9mSTT0(0,m4_5);/低电平 4.5mS/* 发送 4 帧数据 */ Z0(SBM);Z0(SBM);Z0(x);Z0(x);/* 结束码 */TT0(1,m_65);TT0(0,m40);/* 重复码 */ while(KEY()23TT0(1,m9);TT0(0,m2_25);TT0(1,m_56);TT0(0,m40);TT0(0,m56);LED = !LED; /指示灯LED = 1;/* 函数功能:单帧发送程序 入口参数: 1 帧数据 */ void Z0(uchar temp)uchar v;for (v=0;v= 1;/右移一位/* 函数功能: 38KHz 脉冲发射 + 延时程序 入口参数:(是否发射脉冲 ,延时约 x (uS) ) */ void TT0(bit BT,uint x)TH0 = x8;/输入 T0 初始值24TL0 = x;TF0=0;TR0=1; if(BT = 0) while(!TF0);38KHz 脉冲且延时; else while(1) IR = 0; if(TF0)break;if(TF0)break; IR = 1;if(T

温馨提示

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

评论

0/150

提交评论