La Red de Conocimientos Pedagógicos - Aprendizaje de redacción de artículos/tesis - Algunas preguntas sobre los controles remotos por infrarrojosAl analizar la forma de onda del pulso emitida por cada botón del control remoto por infrarrojos, se puede identificar su tipo, proporcionando así una base para la decodificación del software. La interfaz de hardware entre el control remoto por infrarrojos y el microcontrolador se presenta con ejemplos y se proporciona en principio el método de decodificación del software. Este es un ejemplo exitoso que se puede citar directamente y también proporciona una referencia muy práctica para el desarrollo y la aplicación de varios controles remotos por infrarrojos en productos de control de microcontroladores. Palabras clave: decodificación de software de control remoto En el desarrollo y aplicación de productos de control de microcontroladores, un teclado suele ser indispensable para emitir comandos de control al software del sistema de control. El método tradicional es utilizar un chip de interfaz de entrada y salida paralelo para expandir una interfaz de teclado, o usar directamente el puerto paralelo de un microcontrolador para expandir. En algunos entornos de aplicaciones, este método tiene dos desventajas: ① El teclado está conectado al sistema de control, que es inflexible y tiene poca adaptabilidad ambiental; ② Desperdicia los puertos del microcontrolador y provoca altos costos de hardware; El uso del control remoto por infrarrojos como dispositivo de entrada del sistema de control tiene las características de bajo costo, flexibilidad y conveniencia. Este artículo tiene como objetivo presentar los métodos generales de investigación de decodificación de software y la tecnología de aplicación del desarrollo secundario de controles remotos por infrarrojos. Este método se ha implementado con éxito en múltiples diseños de sistemas de aplicaciones con buenos resultados. El control remoto por infrarrojos es un producto muy fácil de comprar y económico. Hay muchos tipos, pero todos se combinan con un determinado tipo de productos electrónicos (como varios televisores, VCD, aires acondicionados, etc.). CPU dedicada y se puede utilizar directamente como sistema de control de microcontrolador general. El uso de un control remoto listo para usar como entrada del sistema de control requiere resolver los siguientes problemas: cómo recibir señales de control remoto por infrarrojos; cómo identificar señales de control remoto por infrarrojos y el diseño del software de decodificación; Otros problemas son problemas no esenciales, como el etiquetado de las teclas de función en el panel de control remoto, que usted mismo puede diseñar y reimprimir. 1El circuito receptor de señales de control remoto por infrarrojos puede utilizar un receptor de infrarrojos integrado. El receptor incluye un tubo receptor de infrarrojos y un circuito integrado de procesamiento de señales. El receptor tiene sólo tres pines externos: Vcc, GND y 1 salida de señal de pulso PO. Es muy conveniente interactuar con el microcontrolador, como se muestra en la Figura 1. ①Vcc está conectado al polo positivo de la fuente de alimentación del sistema (+5v); ②GND está conectado a la tierra del sistema (0V); ③La salida de señal de pulso está conectada al pin de entrada de interrupción de la CPU (por ejemplo, el de 13 pines); INT1 de 8031). Con este método de conexión, la solución de software puede funcionar en modo de consulta y en modo de interrupción. 2 Análisis de flujo de pulso Para comprender un control remoto desconocido, primero debe analizar su flujo de pulso para comprender sus características de forma de onda de pulso (cómo transportar información "0" y "1") y luego comprender sus reglas de codificación. El análisis del flujo de pulso debe comenzar analizando el ancho de nivel alto y bajo del pulso. El autor utiliza software para realizar el análisis del flujo de pulso. Tome la interfaz que se muestra en la Figura 1 como ejemplo. Si no llega ninguna señal del control remoto por infrarrojos, el puerto de salida PO del receptor permanece alto. Cuando se recibe una señal de control remoto por infrarrojos, la señal del dispositivo receptor se convierte en una secuencia de pulsos y se aplica al pin de entrada de interrupción de la CPU. Utilice el software para probar el nivel lógico del pin, inicie el temporizador TC al mismo tiempo, mida el valor del tiempo cuando el pin sea "0" lógico y "1" lógico, guárdelo y luego imprímalo y analícelo. El lenguaje ensamblador 8051 proporciona los siguientes segmentos de programa para recopilar y almacenar el flujo de pulsos: MOV R0, #00HMOV R1, #28HMOV TMOD, #01HTK: JB P3.3, Tk; esperando la llegada del nivel bajo; ancho de nivel TK1: MOV TH0, #00HMOV TL0, #00HSETB TR0TK0: JBTF0, si el tiempo de espera no es válido, devuelve JNB P3.3, TK2CLR TR0MOV A, TH0MOVX @R0, AINC R0MOV A, TL0MOVX @R0, Aincr0 ancho de nivel alto MOV TH0, #00HMOV TL0, # 00hsetbtr0tk3: jbtf0, tke Si el tiempo de espera no es válido, devuelve JB P3.3, TK3CLR TR0MOV A, TH0MOVX @R0, AINC R0MOV A, TL0MOVX @R0, Aincr0DNZ R1, tk 1; RET Este programa primero configura TC0 en modo de temporizador de 16 bits, inicializa el puntero de dirección de RAM R0 y el puntero de conteo de ciclos R1, detiene el tiempo cada vez que salta el nivel lógico del pin y guarda el valor de tiempo en la RAM continua. Este programa puede medir continuamente el valor de tiempo de 40 pulsos (incluidos 40 anchos de pulso de bajo nivel).

Algunas preguntas sobre los controles remotos por infrarrojosAl analizar la forma de onda del pulso emitida por cada botón del control remoto por infrarrojos, se puede identificar su tipo, proporcionando así una base para la decodificación del software. La interfaz de hardware entre el control remoto por infrarrojos y el microcontrolador se presenta con ejemplos y se proporciona en principio el método de decodificación del software. Este es un ejemplo exitoso que se puede citar directamente y también proporciona una referencia muy práctica para el desarrollo y la aplicación de varios controles remotos por infrarrojos en productos de control de microcontroladores. Palabras clave: decodificación de software de control remoto En el desarrollo y aplicación de productos de control de microcontroladores, un teclado suele ser indispensable para emitir comandos de control al software del sistema de control. El método tradicional es utilizar un chip de interfaz de entrada y salida paralelo para expandir una interfaz de teclado, o usar directamente el puerto paralelo de un microcontrolador para expandir. En algunos entornos de aplicaciones, este método tiene dos desventajas: ① El teclado está conectado al sistema de control, que es inflexible y tiene poca adaptabilidad ambiental; ② Desperdicia los puertos del microcontrolador y provoca altos costos de hardware; El uso del control remoto por infrarrojos como dispositivo de entrada del sistema de control tiene las características de bajo costo, flexibilidad y conveniencia. Este artículo tiene como objetivo presentar los métodos generales de investigación de decodificación de software y la tecnología de aplicación del desarrollo secundario de controles remotos por infrarrojos. Este método se ha implementado con éxito en múltiples diseños de sistemas de aplicaciones con buenos resultados. El control remoto por infrarrojos es un producto muy fácil de comprar y económico. Hay muchos tipos, pero todos se combinan con un determinado tipo de productos electrónicos (como varios televisores, VCD, aires acondicionados, etc.). CPU dedicada y se puede utilizar directamente como sistema de control de microcontrolador general. El uso de un control remoto listo para usar como entrada del sistema de control requiere resolver los siguientes problemas: cómo recibir señales de control remoto por infrarrojos; cómo identificar señales de control remoto por infrarrojos y el diseño del software de decodificación; Otros problemas son problemas no esenciales, como el etiquetado de las teclas de función en el panel de control remoto, que usted mismo puede diseñar y reimprimir. 1El circuito receptor de señales de control remoto por infrarrojos puede utilizar un receptor de infrarrojos integrado. El receptor incluye un tubo receptor de infrarrojos y un circuito integrado de procesamiento de señales. El receptor tiene sólo tres pines externos: Vcc, GND y 1 salida de señal de pulso PO. Es muy conveniente interactuar con el microcontrolador, como se muestra en la Figura 1. ①Vcc está conectado al polo positivo de la fuente de alimentación del sistema (+5v); ②GND está conectado a la tierra del sistema (0V); ③La salida de señal de pulso está conectada al pin de entrada de interrupción de la CPU (por ejemplo, el de 13 pines); INT1 de 8031). Con este método de conexión, la solución de software puede funcionar en modo de consulta y en modo de interrupción. 2 Análisis de flujo de pulso Para comprender un control remoto desconocido, primero debe analizar su flujo de pulso para comprender sus características de forma de onda de pulso (cómo transportar información "0" y "1") y luego comprender sus reglas de codificación. El análisis del flujo de pulso debe comenzar analizando el ancho de nivel alto y bajo del pulso. El autor utiliza software para realizar el análisis del flujo de pulso. Tome la interfaz que se muestra en la Figura 1 como ejemplo. Si no llega ninguna señal del control remoto por infrarrojos, el puerto de salida PO del receptor permanece alto. Cuando se recibe una señal de control remoto por infrarrojos, la señal del dispositivo receptor se convierte en una secuencia de pulsos y se aplica al pin de entrada de interrupción de la CPU. Utilice el software para probar el nivel lógico del pin, inicie el temporizador TC al mismo tiempo, mida el valor del tiempo cuando el pin sea "0" lógico y "1" lógico, guárdelo y luego imprímalo y analícelo. El lenguaje ensamblador 8051 proporciona los siguientes segmentos de programa para recopilar y almacenar el flujo de pulsos: MOV R0, #00HMOV R1, #28HMOV TMOD, #01HTK: JB P3.3, Tk; esperando la llegada del nivel bajo; ancho de nivel TK1: MOV TH0, #00HMOV TL0, #00HSETB TR0TK0: JBTF0, si el tiempo de espera no es válido, devuelve JNB P3.3, TK2CLR TR0MOV A, TH0MOVX @R0, AINC R0MOV A, TL0MOVX @R0, Aincr0 ancho de nivel alto MOV TH0, #00HMOV TL0, # 00hsetbtr0tk3: jbtf0, tke Si el tiempo de espera no es válido, devuelve JB P3.3, TK3CLR TR0MOV A, TH0MOVX @R0, AINC R0MOV A, TL0MOVX @R0, Aincr0DNZ R1, tk 1; RET Este programa primero configura TC0 en modo de temporizador de 16 bits, inicializa el puntero de dirección de RAM R0 y el puntero de conteo de ciclos R1, detiene el tiempo cada vez que salta el nivel lógico del pin y guarda el valor de tiempo en la RAM continua. Este programa puede medir continuamente el valor de tiempo de 40 pulsos (incluidos 40 anchos de pulso de bajo nivel).

Tomando el control remoto del chip TC9012 como objeto, recopile las formas de onda de pulso de programación de todos los botones y realice experimentos repetidos en el mismo botón. Debido a limitaciones de espacio, no se pueden proporcionar los datos de muestreo, solo se proporcionan las reglas de flujo de pulso (el oscilador de cristal de la CPU del simulador es de 6 MHz): ① El pulso piloto es de nivel bajo, el valor de tiempo es 0937 h ~ 0957 h, nivel alto , el valor de tiempo es 084 FH ~ 086 FH ② El valor de tiempo de nivel bajo del pulso de datos es aproximadamente 0.127h ~ 0177h ③ Hay dos valores de tiempo avanzados: 00 bbh ~ 00 ffh (estrecho) y 02EFH ~ 0333H (ancho); . Según el análisis de una gran cantidad de datos, la codificación de claves tiene las siguientes reglas: ① Los pulsos, excepto el pulso piloto, son pulsos de codificación de datos y la información de bits de datos está determinada por el ancho de pulso de alto nivel: un ancho de pulso estrecho representa "0" y un ancho de pulso amplio representa "1" ② Después de decodificar el flujo de pulsos de cada clave, contiene cuatro bytes de información: * Los primeros dos bytes de todas las claves tienen la misma codificación, que son dos bytes de "0eh"; * El tercer byte es el código clave; *El cuarto byte es el complemento del código clave. Después de muestrear el mismo pulso de tecla varias veces, se descubre que el valor del tiempo de ancho de pulso en la posición correspondiente de la misma secuencia de pulsos de tecla fluctúa dentro de un rango pequeño (no un valor determinado), y el método de comparación preciso no se puede utilizar para el patrón. reconocimiento. En este sentido, adopto un enfoque vago de la abstracción. De acuerdo con las reglas experimentales anteriores, se resumen las bases para el análisis y el juicio de pulsos y las ideas de diseño de algoritmos durante la decodificación del software: ① La base para juzgar el ancho de nivel bajo y alto del pulso piloto es que el "byte alto es mayor que 08H " del valor de tiempo y se ignora el byte bajo; ② El ancho de pulso de bajo nivel del flujo de pulsos de datos es el mismo, por lo que se ignora y no se juzgará; ③ El ancho de pulso de alto nivel es la base para juzgar si cada bit del flujo de datos es "0" o "1". Mi opinión es que si el byte alto del ancho del pulso es menor que 2, significa "0", de lo contrario significa "1" y el byte bajo del ancho del pulso se ignora. La práctica ha demostrado que las normas anteriores son eficaces y viables. Este procesamiento no sólo simplifica el diseño del software de decodificación, sino que también aumenta considerablemente la velocidad de decodificación. Al escribir un programa de decodificación de software utilizando las pautas anteriores, preste atención a la correspondencia entre la dirección de almacenamiento de los datos de muestreo del flujo de pulsos y el pulso. El software incluye principalmente las siguientes partes: ① Determinar la llegada de la señal de control remoto (llamar a una subrutina independiente antes de decodificar); ② Muestreo y almacenamiento del flujo de pulsos (3) Determinar si el pulso piloto es válido; 2 bytes y juzgue ¿Es "0eh"? (5) Decodifica el tercer byte, que es un código clave válido; ⑥ Mapeo de la tabla de búsqueda del código clave (si usa el código clave original, puede omitir este paso). 3. Diseño de software de decodificación Los sistemas de decodificación de software basados ​​en las ideas anteriores se han utilizado con éxito en muchos sistemas de control. A continuación se proporciona un ejemplo de programa en lenguaje ensamblador (decodificación de software utilizando el control remoto por infrarrojos MC Traffic Rules TC9012 de la serie MCS-51). Los parámetros utilizados en el programa son para el caso en el que el microcontrolador utiliza un oscilador de cristal de 6 MHz. Cuando se utilizan osciladores de cristal de otras frecuencias, sólo es necesario modificar los criterios de ancho de pulso. Para que sea más fácil de entender y hacer que la declaración principal sea lo más verdadera posible, en el programa se proporcionan traducciones de anotaciones más detalladas. Consulte el suplemento en línea () para obtener más detalles. Aunque este artículo es un estudio de decodificación del software de control remoto por infrarrojos TC9012 utilizando el microcontrolador de la serie MCS-51, el método es universal. Se pueden abordar aplicaciones específicas de forma flexible.