Diversión con foto montaje - episodio 8 (3 / 3 paso)

Paso 3: Software

A continuación los enlaces de software. He incluido para el 12F683 y el 16F688. Las diferencias están sobre todo en algunos nombres de registro junto con las diferencias esperadas en la versión PIC (lista =) y la línea del archivo INCLUDE y la línea __CONFIG.

Como se señaló anteriormente, la línea base de software es el que utilizamos en el episodio 7 durante los periodos de sueño largos. Además, se añadió el código de escritura de la EEPROM del episodio 6. En la versión del 12F683 la línea "BCF EECON1, EEPGD" está comentada porque sólo se aplica a la 16F688. Esa línea no se utiliza en el código del 12F683 porque el bit EEPGD no está presente en el registro EECON1. El 12F683 sólo permite escritura a EEPROM y no a la memoria de programa. El resto del nuevo código se ocupa de la configuración del convertidor A/d y uso. Una vez que se establecen los registros apropiados en el código de inicio, la conversión requiere sólo un par de banderas a establecerse. Es todo hecho dentro del controlador de interrupción cuando el PIC se despierta. También puede ver los puntos donde la energía es activar y desactivar el sensor de temperatura y el potenciómetro Vref. También hay un bucle sin fin en la última parte de la rutina de inicio si no se conecta a tierra el pin Enable que se describe en el paso del Hardware. Impide que la EEPROM se sobrescriben cuando está sentado en el programador Pickit3.

Un nuevo giro en el código es el uso de una tabla de búsqueda ampliado en una dirección especificada para los valores de A/D se traducen en valores de temperatura. Al usar tablas de búsqueda como este necesita para asegurarse de que el límite de la mesa no cruza una frontera de página. Páginas se definen como partida cada 256 bytes (100 hex). En este ejemplo partimos deliberadamente el código de la tabla de búsqueda en un límite de páginas de alta (700 hex). Para calcular la dirección de llamada de este código copiamos los pedacitos superiores de la dirección de la tabla en el registro PCLATH. Los bits de dirección entonces haz utilizados por el PIC al calcular la ubicación del código de la tabla de búsqueda. Eso es algo que usted no necesita preocuparse de cuando se utiliza un lenguaje de alto nivel como C, porque el compilador añade automáticamente las instrucciones necesarias para. También es algo que normalmente no necesitará preocuparse al usar microcontroladores o microprocesadores que tienen una capacidad de dirección de 16 bits completa.

Hay otras dos cosas a destacar en la tabla de búsqueda. Puesto que estamos limitando nuestras lecturas de temperatura a dos dígitos para mayor comodidad, las cifras del 100 al 109 grados utilizan un ASCII "A" para el equivalente decimal de "10". Otra cosa a tener en cuenta es que cada entrada en la tabla ocupa dos bytes de memoria. Un byte es para la instrucción RETLW y un byte es el valor devuelto. Para mantener dentro de nuestro límite de página de 255 bytes no exceda 127 entradas.

OK, así Haz todo lo construido y funcionando pero ¿cómo obtenemos los datos registrados fuera de la foto? Con el 16F688 podríamos añadir una interfaz en serie o incluso la interfaz de Bluetooth que se describe en un episodio anterior. Para este proyecto vamos a mantenerlo simple y use las capacidades de nuestro programador Pickit3 y el MPLAB X IDE. Ya estamos familiarizados con el botón de descargar (programa) el software en el PIC, pero justo al lado de ese botón es para la carga de la foto. Si haces clic en la flecha al lado de ese botón puede ver las opciones para que las partes de memoria que desea recuperar. La opción de la parte inferior es para la EEPROM. Al hacer clic en eso, se abrirá una ventana que permite determinar el nombre y el destino del archivo hexadecimal. El archivo que se crea se puede leer utilizando el Bloc de notas de Windows y tiene el formato como este:

: 020000040000FA
: C 10420000730073007200720072007200720072001
: 104210007200720072007200720072007100710010
|
|
|
: 00000001FF

Los valores de datos reales registran start en la línea 2. Hay un total de 32 líneas de datos con valores de 8 en cada línea. El primer valor de cada línea empieza en la posición 8. Las entradas de datos se registran como valores de 16 bits, pero los dos ceros no son aplicables porque la EEPROM es de sólo 8 bits amplia. Los últimos cuatro números en cada línea de datos son una suma de comprobación y pueden ser ignorados. La tabla de búsqueda en el software específicamente establece los valores con el conocimiento que el archivo hexadecimal convierte a ASCII. En el ejemplo anterior las temperaturas registradas en la primera línea son 73, 72, 73, 72, etc.. Bueno, eso es para el episodio 8 de diversión con PIC "montaje". Estad atentos para más episodios.

Artículos Relacionados

Diversión con foto montaje - episodio 1

Diversión con foto montaje - episodio 1

En los viejos tiempos, cuando los hombres eran hombres y disquetes eran inmensos, programamos los primeros microprocesadores en lenguaje ensamblador - y nos gustó de esa manera. Ahora que estoy jubilado he decidido volver a aquellos días de antaño y
Diversión con foto montaje - episodio 20

Diversión con foto montaje - episodio 20

En el episodio 19 que mencionar de paso que sería relativamente fácil trasladar el diseño a la 16F1837 más moderno que se utilizó en el episodio 13 de la visualización de gráficos. Sería alejarse de nosotros tener que copiar las cadenas de mando y me
Diversión con foto montaje - episodio 16

Diversión con foto montaje - episodio 16

Hasta ahora he resistido añadiendo a los millones de proyectos "Parpadear un LED" que salen en la web. No es decir que realmente no hacen un proyecto de "Parpadear un LED" cuando empecé molestando con el PIC ya lo hice. Bueno, ha llega
Diversión con foto montaje - episodio 17

Diversión con foto montaje - episodio 17

En los viejos tiempos cada compañía telefónica tenía una interfaz propietaria y a menudo diferentes interfaces para diversos teléfonos en su línea de productos. Estos días, sin embargo, casi todos los teléfonos utiliza una interfaz USB, como muchos o
Diversión con foto montaje - episodio 13

Diversión con foto montaje - episodio 13

Hace unos meses estuve considerando hacer un medidor de capacitancia con el PIC. Hice algunas investigaciones en la web y comprobado varios diseños. Entonces cometí el error de comprobación de eBay para ver cuánto uno costaría. Las versiones de placa
Diversión con foto montaje - episodio 12

Diversión con foto montaje - episodio 12

OK, así que soy de esas personas que son alegres cuando por fin llego algo de trabajo pero ROE en mí si yo no entiendo completamente los detalles de por qué funciona. Tal es el caso de este episodio. El fondo es que estoy trabajando en un proyecto pe
Diversión con foto montaje - episodio 3

Diversión con foto montaje - episodio 3

Después de había estado jugando con las fotos de un rato me paso a cuenta de que la web estaba llena de placas de interfaz que pueden hacer una variedad de tareas interesantes. Mejor aún, eran más baratos que tratar de construir sus propias tablas po
Diversión con foto montaje - episodio 15

Diversión con foto montaje - episodio 15

Uno de mis últimos proyectos implicó la construcción de un pequeño amplificador 2.1 con algunos chips de amplificador de potencia TDA que robaban de un elenco de tarjeta electrónica. Desde que era capaz de decidir cómo quería controlar cosas, opté po
Diversión con foto montaje - episodio 14

Diversión con foto montaje - episodio 14

Como ya he mencionado en un episodio anterior, ser voluntario en un centro de reciclaje sin ánimo de lucro. Sobre todo se arreglar Computadoras y monitores LCD, pero últimamente he dado a la tarea de conseguir algunos más viejos sistemas Dell 5650 fu
Diversión con foto montaje - episodio 19

Diversión con foto montaje - episodio 19

Una de mis frases favoritas es "es fácil si sabes cómo." No estoy seguro si recogió en algún lugar hace tiempo o había acuñado yo pero hay mucho de verdad en él. Es tipo de lo que sucedió cuando fui buscando una manera de ampliar lo que hice en
Diversión con foto montaje - episodio 23

Diversión con foto montaje - episodio 23

Como ya he mencionado en anteriores episodios de ser voluntario en el centro local de reciclaje sin ánimo de lucro. Algunas de las cosas de electrónica que consiguen dejar tipo de marcas me sientan como un arqueólogo de la tecnología y tengo una fant
Diversión con foto montaje - Episodio 21

Diversión con foto montaje - Episodio 21

No soy un viajero del mundo pero he estado en varios lugares que difieren radicalmente en temperatura y humedad. No importa lo que alguien dice, "calor seco" no significa nada cuando el termómetro está por encima de 110 grados. Asimismo,-40 grad
Diversión con foto montaje - episodio 9

Diversión con foto montaje - episodio 9

Hace cuarenta años que tenía un par de amigos que se involucro mucho con HO escala trenes modelo. Yo había superado mi interés en trenes después mi viejo Lionel tiene pasado a mi hermano menor pero todavía admiraba el trabajo de que mis amigos estaba
Diversión con foto montaje - episodio 11

Diversión con foto montaje - episodio 11

OK, realmente no tengo TOC pero tengo que admitir que a veces me sale pegado sobre un tema. Además de electrónica y software me gusta hacer cosas como carpintería y, últimamente, de cobre arte patio de tuberías. El problema con la materia de arte es
Diversión con foto montaje - episodio 2

Diversión con foto montaje - episodio 2

Bueno el episodio 1 fue todo un éxito porque realmente alguien que no me miró. Así que aquí vamos con el episodio 2. En este Instructable buscamos algunos datos reales de entrada para enviar a la pantalla de LCD de 1602 que construyó en el episodio 1