Programas de ejemplo y testeo
Los programas de estas páginas son más bien de prueba que de aprendizaje. Si
quieres programas para aprender el funcionamiento de la tarjeta y los
microcontroladores PIC, es mejor que visites la excelente página
http://picmania.garcia-cuervo.net/
donde podrás encontrar ejemplos más sencillos con una explicación detallada de
los mismos.
Estos cuatro programas se utilizan para testear casi toda la funcionalidad de
las tarjetas. Cuando se entrega una placa se garantiza que estos cuatro
programas han sido probados y han funcionado.
Se entregan también versiones de estos programas para el 18F2550 y 18F452 si
bien en estos casos no se ha incorporado la escritura y lectura de la EEPROM del
bus I2C,
Estado de los pines de configuración para todos los programas siguientes: SW6
debe estar en RB0, SW2 en RA4, SW19 debe estar en posición I2C (salvo para el
programa de testeo del USB), SW23
desconectado, SW18 (programación) en normal, y JP10 debe estar puenteado. El
resto de interruptores y puentes se especifican en cada programa o no importa su
posición.
Descripción de cada programa
- DigIO.HEX: Testeo del display simple
7-segmentos, barra de leds y entradas digitales. Se deben poner los
conmutadores Analog/Digital en digital y activar el interruptor del
display/led. Si el interruptor de RA4 está a 0 entonces se muestran los
números del 0 al F por el display simple y luego se encienden cada uno de los
leds de la barra de leds. Si se pone RA4 a 1 entonces por la barra de leds se
muestra el estado de los 5 interruptores de RA0 a RA4. Nota: debe acabar toda
la secuencia de muestra de números para que se vean los interruptores por la
barra de leds.
- AnaDisp4.HEX: Testeo de las 4 entradas
analógicas y el display múltiple de 4 dígitos. Se deben poner los
conmutadores Analog/Digital en Analog y activar el interruptor del display
múltiple. Inicialmente se muestra la lectura de la primera entrada analógica
que corresponde al LDR, taparlo y dejarlo a la luz alternativamente para ver
si la lectura cambia. Para elegir la siguiente entrada analógica debemos poner
a cero el interruptor de RA4 y luego a uno (producir un flanco de subida), en
este caso pasaríamos a la entrada del sensor de temperatura; podemos poner un
dedo encima para que la temperatura suba y ver el cambio en el display (debe
marcar entre 50 y 60) también se puede elevar la temperatura activando el
interruptor CAL (comprobar que el led correspondiente se enciende). Si
producimos otro flanco de subida en RA4 pasamos a uno de los potenciómetro y
si producimos otro flanco pasamos al otro potenciómetro; en ambos casos hay
que girar el mando desde la izquierda hasta la derecha comprobando que la
lectura cambia de 0 a 1023. Si volvemos a producir otro flanco de subida en
RA4 volvemos a la primera entrada analógica y así sucesivamente.
- Varios.HEX: Testeo del LCD, teclado
matricial, serie RS232 y EEPROM I2C. Los conmutadores Analog/Digital deben
estar en la posición Libre. Los pines de selección del LCD deben estar en RA0,
RA1 y RA2, debe conectarse un cable serie entre un PC y la tarjeta. El PC debe
estar corriendo el programa Comunica u algún
otro que permita enviar y recibir caracteres a través del puerto serie RS232.
Al pulsar sobre las teclas del teclado matricial del EduMic debe aparecer la
posición de la tecla (no su serigrafía) en el LCD y en la pantalla del PC; si
se pulsa la última tecla (abajo derecha con código F) se copia la secuencia de
teclas pulsada en la EEPROM del bus I2C y luego se lee escribiéndolas en la
segunda línea del LCD, de esta manera se comprueba que la lectura y escritura
de la EEPROM a través del bus I2C funciona. Las teclas pulsadas en el teclado
del PC se envían al LCD (en este caso sí que aparece la serigrafía de la tecla
pulsada). En los micros de la familia 18 no se ha incluido la
escritura/lectura de la EEPROM del bus I2C.
- USBmouse.hex: Testeo del puerto USB. En el 18F2550 este
programa sirve para comprobar el funcionamiento del puerto USB. El propio
fichero incluye la compleja palabra de configuración. Se supone que se tiene
un Xtal de 4 MHz y que se usa el USB a baja velocidad. Una vez descargado el
programa al enchufar un cable USB a un PC con Windows se puede ver que el
ratón empieza a dar vueltas, sin más. El SW19 debe estar en posición USB.
- I2Cana.HEX: Testeo del conversor D/A del
bus I2C. Por el conector BNC debe verse una onda diente de sierra. Con el
potenciómetro VREF se puede modificar la amplitud. El puente SW24 puede estar
en BUF o NOBUF, pero debe estar en uno de ellos.
Descarga de los programas
16F87x (4 y 6 MHz) |
18F2550 (6 y 24 MHz) |
18F452 (6 MHz) |
DigIO_4M.HEX,
DigIO_6M.HEX |
DigIO_6M.hex,
DigIO_24M.hex,
DigIO.c |
DigIO.hex,
DigIO.c |
AnaDisp4_4M.HEX,
AnaDisp4_6M.HEX |
AnaDisp4_6M.hex,
AnaDisp4_24M.hex,
AnaDisp4.c |
AnaDisp4.hex,
AnaDisp4.c |
Varios_4M.HEX,
Varios_6M.HEX |
Varios_6M.hex,
Varios_24M.hex,
Varios.c |
Varios.hex,
Varios.c |
I2Cana_4M.HEX,
I2Cana_6M.HEX |
USBmouse.hex (Xtal 4 MHz, USB
baja velocidad) |
I2C.hex,
I2C.c |
|
I2C.hex,
I2C.c (6 MHz puenteando pines) |
|
La velocidad que aparece en los ficheros se refiere a la velocidad interna
del procesador que puede ser distinta al Xtal externo si se ha habilitado el PLL
de algunos dispositivos.
Las cosas que no se testean y que podrían dar error (aunque es poco
probable):
- Generación de interrupciones con el botón.
- Utilización de una señal externa para el Timer0.
- Conversión A/D en el dispositivo I2C.
- Fallos de soldadura en los conectores externos y zócalos de micros PIC
diferentes al de 28 pines estrecho.
Para el micro 16F876 hay otros programas de
ejemplo algo más sencillos.