红外解码单片机控制声卡采样触屏校验毕业设计论文(编辑修改稿)内容摘要:

0 伏左右的低电位。 Pin4(接单片机) Pin5(控制) 这个接脚准许由外部电压改变触发和闸限电压。 Pin6(重置锁定) 使输出呈低态 Pin7(放电) 这个接脚和主要输 出接脚有相同的电流输出能力,当输出为 ON时为 LOW,当输出为 OFF 时为 HIGH。 Pin8(电源) 接电源 目前大量使用的红外发光二极管发出的红外线波长为 940nm左右,外形与普通 Φ 5 发光二极管相同,只是颜色不同。 红外发光二极管一般有黑色、深蓝、透明三种颜色。 发光二极管有交流电流、直流电流和脉冲电流等驱动方式。 交流电流驱动方式主要用于红外测量、检测以及较简单的红外光通信中。 直流电流驱动方式,如图 (发射方式示意图)左图所示,也被称为平均发射方式,是指通过启动直流电源驱动发光二极管发出恒定的红外光。 一般用这种驱动方式的红外光电二极管功率较小(大都小于 100mV)、功耗较大、抗干扰能力也很差。 24 图 发射方式示意图 为了提高红外遥控系统的工作距离,而又不使红外发光管过载,一般不采用这种方式,而是采用如图 右图所示的脉冲式发射方式或调制载波脉冲发射方式,红外遥控系统的工作有效作用距离取决于发光二极管辐射的峰值功率,而峰值功率是由驱动发光二极管的电路峰值所决定的。 在相同的平均电流下,脉冲宽度越窄,峰值功率越大,传输的速度就越快,发光的效率也就越高,遥控的有效距离也就越远。 这种发射方式也大大提高了 系统的抗干扰能力。 对于红外光通信,除了红外遥控距离外,调制频率、调制带宽也是发光二极管的两个重要参数。 调制频率关系到红外发光二极管在光通信中的传输速度的高低,红外发光二极管因受到注入 PN 结有源区内少数载流子寿命的限制(一般只有几十兆赫兹),从而限制了红外发光二极管在高比特速率系统种的应用。 通过合理的脉冲编码和优化驱动电路,可使发光二极管有可能用于高速光通信系统。 调制带宽定义为:在保证一定的调制频率下,当发光二极管输出的交流光功率比参考频率下降 3db 时,所对应的频率值。 它是衡量发光二极管调制能力的重要参数。 ( 2)红外遥控编码 25 红外遥控器 码将需要实现的操作指令事先编码,然后将所有编码的脉冲信号调制在 38 kHz 方波 的载波上, 经过三极管放大后,驱动红外发光二极管 向外发送。 其中 38 kHz 载波 直接由单片机用软件模拟, 由定时器 TO 产生。 为保证 38kHz 方波的频率稳定性,在硬件设计时尽可能使用频率高的晶振,提高 CPU运行速度。 在应用系统中,要完成对遥控器信号的解码并实现对系统功能的控制,必须了解遥控器信号码 (即遥控器所发射脉冲流 )的格式,即信号的引导脉冲高低脉冲的宽度、 “0”, “1”的表示法,以及遥控器识别码、各个 功能键的键码。 对信号码的识别应该从分析脉冲流的各个高、低脉冲的时间入手,通过分析各个高、低脉冲的时间,分析得出信号码的格式。 常见的 “0”, “1”的波形如图 所示。 采用脉宽调制的串行码,以脉宽为、间隔 、周期为 的组合表示二进制的“ 0”;以脉宽为、间隔 、周期为 的组合表示二进制的“ 1”。 图 遥控码的“ 0”和“ 1” 控器所产生的脉冲编码的格式一般为: 引导脉冲 (头 )─ 识别码 (用户码 )─ 键码 ─ 键码的反码 26 其引导脉冲为宽度是 10 ms 左右的一个高脉冲和一个低脉冲的组合,用来标识指令码的开始。 识别码、键码、键码的反码均为数据编码脉冲,用二进制数表 示。 “0”和 “1”均由 ms 量级的高低脉冲的组合代表。 识别码 (即用户码 )是对每个遥控系统的标识。 通过对识别码的检验,每个遥控器只能控制一个设备动作,有效的防止了多个设备之间的串扰。 当指令键按下时,指令信号产生电路便产生脉冲编码。 键码后面一般还要有键码的反码,用来检验键码接收的正确性,防止误动作,增强系统的可靠性。 这些指令信号 由调制电路调制成 32~ 40 kHz 的信号,经调制后输出,最后由驱动电路驱动红外发射器件 (LED)发出红外遥控信号。 图 为一类遥控连发信号波形图。 图 一类遥控连发信号波形 当一个键按下超过 36ms,振荡器使芯片激活,将发射一组 108ms 的编码脉冲 ,这 108ms 发射代码由一个引导码( 9ms) ,一个结果码( ) ,低 8 位地址码( 9ms~ 18ms) ,高 8位地址码( 9ms~ 18ms) ,8 位数据码( 9ms~ 18ms)和这 8 位数据的反码( 9ms~ 18ms)组成。 如果键按下超过 108ms 仍未松开,接下来发射的代码(连发码)将仅由起始码( 9ms)和结束码( )组成。 红外接收电路 一体化的红外接收装置将遥控信号的接收、放大、检波、整形集于一身,并且输出可以让单片机识别的 TTL 信号,这样大大简化了接收电路的复杂程度 27 和电路的设计工作,方便使用。 在本系统中我们采用红外一体化接收头 HS0038,外观图如图 所示。 HS0038 黑色环氧树脂封装,不受日光、荧光灯等光源干扰,内附磁屏蔽,功耗低,灵敏度高。 在用小功率发射管发射信号情况下,其接收距离可达 35m。 它能与 TTL、 COMS 电路兼容。 HS0038 为直立侧面收光型。 它接收红外信号频率为 38 kHz,周期约 26 μ s,同时能对信号进行放大、检波、整形,得到 TTL 电平的编码信号。 三个管脚分别是地、+ 5 V 电源、解调信号输出端。 图 红外一体化接收头 hs0038外观图 当无遥控信号输入时, HS0038输出端保持高电平,有信号时输出为高低电平脉冲,故接收时一个码由一个低电平后跟一个高电平构成。 本红外遥控接收电路如图。 将其输出端接入单片机外部中断 0的 INT0脚。 28 图 红外接收电路 存储电路 遥控器所能存储代码的数量也是衡量一个智能学习型遥控器性能好坏的重要指标。 遥控器在学习完某个遥控器的代码后得把 该代码存储起来, 由于单片机内部的数据存储器 RAM 所能存储的数据有限而且不能掉电保护。 所以就需要合适大小的外存储器来存储所学习到的代码。 这里 采用常用的存储芯片AT24C02。 AT24C02 是由 ATMEL 公司提供的, I2C 总线串行 EEPROM,其容量为1KB,工作电压在 ~ 之间,生产工艺是 CMOS 工艺,具有工作电压宽(~ )、擦写次数多 (大于 10000 次 )、写入速度快 (小于 10ms)、抗干扰能力强、数据不易丢失、 体积小等特点。 其引脚 图和时序图分别 如图 、 所示。 29 图 AT24C02 引脚图 图 AT24C02 时序图 引脚功能介绍如下: A0(引脚 1):器件地址的 A0 位。 A1(引脚 2):器件地址的 A1 位。 A2(引脚 3):器件地址的 A2 位。 GND(引脚 4):地线。 SDA(引脚 5):数据总线引脚。 SCL(引脚 6):时钟总线引脚。 TEST(引脚 7):测试引脚, Vcc(引脚 8):电源线引脚。 AT24CXX 系列的器件地址是 A6 A5 A4 A3 A2 A1 A0 R/W,其中最低位 R/W 除外,其余都是地址位,共有 7 位,其中低 3 位 A2 A1 A0 由引脚连接决定,高 4 位 A6 A5 A4 A3 已经由厂家给出为 1010。 R/W 决定数据传输的方向,当 R/W= 1 时,是从 存储器读出数据,当 R/W= 0 时, 30 是向存储器写入数据。 AT24C02 内有 256 字节存储单元,片内地址使用一字节( 8 位)地址寻址就可以满足要求。 地址范围是 00H~ FFH。 存储电路原理图如下: 图 存储电路 单片机控制电路 ( 1)所选单片机简介 本设计中选用的宏晶科技的 STC89C52RC 型单片机是一种低功耗、高性能、采用 CMOS 工艺的 8位微处 理器,与工业标准型 80C51 单片机的指令系统和引 31 脚完全兼容。 片内 8K Flash 存储器可在线重新编程,或使用通用的非易失性存储器编程器。 由于一般的距离测量中,距离的变化速度并不太快,而且单片机的机器周期可达μ s 级,则其计时精度为μ s 级,完全可以满足系统测量的要求,并且成本较低,所以本设计中选用 STC89C52RC 型号的单片机。 STC89C52RC 单片机 ,基于 STC89C51 内核 ,是新一代增强型单片机 ,指令代码完全兼容传统 STC89C51,速度快 8~ 12倍 ,带 ADC,4路 PWM,双串口 ,有全球唯一 ID 号 ,加 密性好,抗干扰强。 ( 2)单片机引脚功能 STC89C52RC 采用 40Pin 封装的双列直 插 DIP 结构。 40 个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根, 4组 8位共 32 个 I/O 口,中断口线与 P3 口线复用。 STC89C52RC 的引脚图如图 所示,其引脚功能如下: 32 图 STC89C52RC 引脚图 1. Pin20:接地脚。 2. Pin40:正电源脚,工作时,接 +5V 电源。 3. Pin19:时钟 XTAL1 脚,片内振荡电路的输入端。 4. Pin18:时钟 XTAL2 脚,片内振荡电路的输 出端。 5. STC89C52RC 的时钟有两种方式,一种是片内时钟振荡方式,但需在 18和 19 脚外接石英晶体 (212MHz)和振荡电容,振荡电容的值一般取 10p30p。 另外一种是外部时钟方式,即将 XTAL1 接地,外部时钟信号从 XTAL2 脚输入。 33 6. 输入输出 (I/O)引脚: Pin39Pin32 为 输入输出脚。 Pin1Pin8 为 输入输出脚。 Pin21Pin28 为 输入输出脚。 7. Pin9:RESET/Vpd 复位信号复用脚,当 STC89C52RC 通电,时钟电路开始工作,在 RESET 引脚上出现 24个时钟周期以上的高电平,系统即初始复位。 STC89C52RC 的复位方式可以是自动复位,也可以是手动复位。 此外, RESET/Vpd还是一复用脚, Vcc 掉电期间,此脚可接上备用电源,以保证单片机内部 RAM的数据不丢失。 8. Pin30:ALE 当访问外部程序 存储 器时, ALE(地址锁存 )的输出用于锁存地址的低位字节。 而访问内部程序存储器时, ALE 端将有一个 1/6 时钟频率的正脉冲信号,这个信号可以用于 识别单片机是否工作,也可以当作一个时钟向外输出。 如果单片机是 EPROM,在编程其间,将用于输入编程脉冲。 9. Pin29:当访问外部程序存储器时,此脚输出负脉冲选通信号, PC 的 16位地址数据将出现在 P0和 P2 口上,外部程序存储器则把指令数据放到 P0 口上,由 CPU 读入并执行。 10. Pin31:EA/Vpp 程序存储器的内外部选通线, STC89C52RC 和 8751 单片机,内置有 4kB 的程序存储器,当 EA 为高电平并且程序地址小于 4kB 时,读取内部程序存储器指令数据,而超过 4kB 地址则读取外部指令数据。 如 EA 为低电平,则不管地址大小,一律读取外部程序存储器指令。 34 4 系统软件设计 系统编程语言和编程工具 在单片机的开发应用系统中,汇编语言作为传统的编程语言,己经不能满足实际需要,高级语言被逐渐引入, C 语言就是其中之一。 C 语言是一种通用的计算机程序设计语言,它既有高级语言的各种特征,又能直接操作系统硬件。 对于大多数单片机,使用 C 语言与使用汇编语言相比具有如下优点: ( 1)不需要了解处理器的指令集,也不必了解存储器结构。 ( 2)寄存器分配和寻址方式由编译器进行管理。 ( 3)指定操作的变量选择组合 提高了程序的可读性。 ( 4)可使用与人的思维更相近的关键字和操作函数。 ( 5)程序的开发和调试时间大大缩短。 ( 6) C 语言中的库文件提供了许多标准的例程。 ( 7)可实现模块化编程技术,从而可将己编制好的程序加入到新程序中。 ( 8) C 语言可移植性好且非常普及。 目前, 8051 上的 C 语言的代码长度,已经做到了汇编水平的 ~ 倍。 4K 字节以上的程度, C 语言的优势更能得到发挥。 至于运行速度的问题,只要有好的仿真器,找出关键的代码,再进一步做一下人工优化,就可很容易达到美满。 故在本系统中,单片机程序采用 C 语言编写, 使用 Keil C51 编译软 35 件来编程。 编译软件 Keil uVision2 简介 Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开发系统, Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全 Windows 界面。 Keil uVision2 版本功能齐全,集编辑、编译、仿真于一体 ,支持汇编和 C语言的。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。