FAQs
Las preguntas más frecuentes formuladas sobre el libro son:
-
Tengo dificultades para adquirir un determinado
componente en mi ciudad, ¿dónde puedo conseguir los
componentes citados a lo largo del libro?
¿Qué entrenador recomiendan para
el aprendizaje del microcontrolador PIC16F84A?
¿Por qué no han utilizado un
lenguaje de alto nivel como el C para elaborar los programas?
¿Dónde puedo comprar el libro?
¿A qué nivel académico
va dirigido el libro?
Tengo dificultades para conseguir poner en
marcha el circuito del reloj-calendario de la figura 24-3, ¿qué puedo hacer?
Al adaptar algunos proyectos a mis necesidades,
necesito situar algunas tablas de datos por encima de la primera página
de 256 bytes con lo cual no funcionan correctamente, ¿qué puedo hacer?
En casa dispongo de un L293D, ¿puedo
utilizarlo en lugar del L293B, en los proyectos que utiliza motores
en el libro?
¿Puedo sustituir el L293B de la figura
29-6 y 29-7 por el ULN2003 que explicaís en la figura 2-7 ya
que es un chip mucho más barato?
Siguiendo con la pregunta anterior ¿puedo
entonces sustituir todos los pares Darlington utilizados en los proyectos
figuras 19-7, 25-3, 25-6, etc por el ULN2003?
Estoy modificando uno de los proyectos del
libro y necesito realizar una subrutina de multiplicación de
16 bits. ¿Cómo puedo hacerlo?
Tengo dificultades para conseguir poner en
marcha la comunicación entre un ordenador y el PIC16F84A del
circuito de la figura 20-13, ¿qué puedo hacer?
Tengo dificultades para conseguir poner en
marcha el circuito del teclado hexadecimal en bus I2C de la figura
26-8, ¿qué puedo hacer?
He modificado un proyecto del libro donde
utilizo el Puerto A como salida. Al montarlo funciona todo bien excepto
la línea RA4 que siempre está en cero. He cambiado el chip varias
veces, pero sigue funcionando incorrectamente, ¿Cómo
lo puedo solucionar?
-
Mi ordenador es un portátil que carece
de puerto serie, por tanto no puedo utilizar el programador TE20-SE
que explicais en el capítulo 3, y me es imposible grabar
los microcontroladores para realizar las prácticas, ¿hay
alguna solución?
He probado en circuitos reales todos los
programas del libro y funcionan correctamente. Sin embargo, cuando
pruebo en PROTEUS los programas que tienen LCD, no se visualiza nada
en la simulación, ¿qué ocurre?, ¿cómo
puedo solucionarlo?
Tengo un LCD de 4 líneas compatible
con el standard Hitachi 44780, ¿qué modificaciones tengo
que realizar a la librería de subrutinas LCD_4BIT.INC para
poder utilizarlo correctamente?
El libro es muy interesante pero me cuesta
trabajo seguirlo, porque aunque tengo conocimientos de electricidad
y electrónica, mi base en electrónica digital es muy pobre. Además,
tampoco dispongo de mucho tiempo libre para actualizarme. ¿Pueden
indicarme los conocimientos mínimos de electrónica digital necesarios
para poder aprovechar el libro y donde puedo estudiarlos?
En el libro explican como simular las prácticas
de laboratorio utilizando el MPLAB. Sin embargo, a partir del tema
12 es muy díficil simular éstas ya que las señales que intervienen
son muy complejas. ¿Qué simulador software puedo utilizar para ésto?
Necesito personalizar algunos caracteres
que se visualizan en la pantalla LCD. En mi caso concretamente necesito
representar la carga de una bateria, ¿cómo puedo hacerlo?
Deseo probar los ejercicios y proyectos del libro con un microcontrolador
de la serie PIC16F87x, ¿qué modificaciones tengo
que realizar en los programas?
Dispongo de un entrenador comercial tipo Trainer Plus de Microsystem,
en el cual funcionan todas las prácticas. Sin embargo, los proyectos con el teclado
hexadecimal no funcionan correctamente ya que se obtiene un código erróneo cuando
se pulsa una de las teclas conectadas a la línea RB4. ¿Qué puedo hacer?
¿Cuál es la clave para abrir los archivos que he descargado de la Web?
¿Al ensamblar mi programa con el MPLAB me da el siguiente mensaje de error:
Deleting intermediary files... done.
Executing: "C:\Archivos de programa\MPLAB IDE\MCHIP_Tools\mpasmwin.exe" /q /p16F84A "Robot_Rastreador_01.asm" /l"Robot_Rastreador_01.lst" /e"Robot_Rastreador_01.err"
Error[173] C:\DOCUMENTS AND SETTINGS\ADMINISTRADOR\MIS DOCUMENTOS\NUEVA CARPETA\PIC16F84A\SOLUCIONES PROGRAMAS\ROBOT_RASTREADOR_01.ASM 61 : source file path exceeds 62 characters (C:\DOCUMENTS AND SETTINGS\ADMINISTRADOR\MIS DOCUMENTOS\NUEVA CARPETA (2)\PIC16F84A (D)\SOLUCIONES PROGRAMAS\ROBOT_RASTREADOR_01.ASM)
Halting build on first failure as requested.
BUILD FAILED: Fri Oct 28 17:03:58 2005 |
¿Qué ocurre?, ¿qué puedo hacer?.
Estoy muy interesado en realizar el proyecto del termostato con el sensor de temperatura DS1820, que
se conecta a un bus 1-Wire del Dallas, tal como explican en su libro. Sin embargo, en mi zona sólo consigo
comprar el DS18B20 ¿qué modificaciones tengo que realizar al proyecto del libro para utilizar un DS18B20 en
lugar del DS1820?.
-
Tengo un display LCD de 16x1 y me gustaría controlarlo con las librerias del libro, pero éstas están diseñadas para un LCD 16x2 y no funcionan en mi LCD.
¿Me podrían explicar cómo debo hacerlo?
-
Al ensamblar los programas que utilizan la librería RETARDOS.INC me sale una pantalla marcando errores en todos los renglones donde uso alguna de las subrutinas de retardo y siempre me dice que no encuentra dicha librería. ¿Qué estoy haciendo mal?
-
Utilizo el sistema operativo Windows Vista que carece del programa de comunicaciones HyperTerminal por lo que no puedo realizar las prácticas de capítulo 20 "Comunicación con ordenador", ¿cómo lo puedo solucionar?
-
¿Qué método aconsejan para grabar los microcontroladores PIC a través del puerto USB de un ordenador con Windows Vista?
Respuestas:
-
Tengo dificultades para adquirir un determinado componente
en mi ciudad, ¿dónde puedo conseguir los componentes
citados en el libro?
Una de las condiciones que nos impusimos al escribir
el libro, es que todos los componentes y material necesario para realizar
los proyectos fuesen económicos y fácilmente localizable
en cualquier tienda de componentes electrónicos, por lo que
no deberías tener problemas en comprarlos en tu tienda más
cercana. De todas formas si tienes dificultades en comprar algún
componente en tu zona puedes encontrar direcciones útiles en
el apéndice Direcciones de Internet del libro.
- ¿Qué entrenador recomiendan para el aprendizaje
del microcontrolador PIC16F84A?
Nuestra experiencia docente nos confirma que el
mejor entrenador es el que se hace el propio alumno (¡y el más
barato!). Esta es la filosofía del libro: que sea el propio
lector el que sea capaz de elaborar su propio entrenador de aprendizaje
con muy pocos recursos. Te garantizamos que la mayoría de nuestros
alumnos han terminado elaborando su propio sistema entrenador personalizado
a su gusto. No obstante si algún lector quiere partir de unas
placas de circuito impreso ya elaboradas, puede ponerse en contacto
con Fernando Remiro.
- ¿Por qué no han utilizado un lenguaje de alto nivel
como el C para elaborar los programas?
El lenguaje ensamblador es el más eficiente
para microcontroladores de 1 kByte de memoria de programa. Muchos
de los proyectos elaborados en el libro hubieran sido imposible de
ejecutar en el PIC16F84A de haber sido codificados en lenguaje C,
por falta de espacio en la memoria de programa.
- ¿Dónde puedo comprar el libro?
Ra-Ma es una de las más prestigiosa
y conocidas editoriales dedicadas a la publicación de libros
técnicos en español. No deberías tener problemas
en comprarlo en tu librería habitual. También puedes
solicitarlo directamente a la editorial cuya dirección es www.ra-ma.es.
- ¿A qué nivel académico va dirigido el libro?
El libro va dirigido a cualquier persona interesada
en elaborar proyectos sencillos con el microcontrolador PIC16F84A.
La única condición es que posea unos elementales conocimientos
de electrónica analógica y digital. Apuntes sobre estos
elementales conocimientos previos pueden ser descargados de la sección Apuntes de esta Web.
Este libro puede utilizarse perfectamente en diferentes niveles de
enseñanza:
- Tengo dificultades para conseguir poner en
marcha el circuito del reloj-calendario de la figura 24-3, ¿qué puedo hacer?
Mira la actualización del circuito en la sección Proyectos.
- Al adaptar algunos proyectos a mis necesidades,
necesito situar algunas tablas de datos por encima de la primera
página de 256 bytes con lo cual no funcionan correctamente,
¿qué puedo hacer?
Mira el siguiente documento donde se explica como hacerlo: Tablas
en límites de página de 256 bytes.
- En casa dispongo de un L293D, ¿puedo utilizarlo en lugar
del L293B, en los proyectos que utiliza motores en el libro?
Sí, siempre y cuando no supere los 600 mA que es el máximo
valor que soportar el L293D. Además en este caso no necesitas
conexionar los diodos de protección porque el L293D ya los
lleva internos.
- ¿Puedo sustituir el L293B de la figura
29-6 y 29-7 por el ULN2003 que explicaís en la figura 2-7
ya que es un chip mucho más barato?
Como se explica en el capítulo 2 cada inversor
del ULN2003 contiene internamente un par Darlington en colector abierto
y un diodo de protección para relés. En consecuencia
con este chip NO se puede formar los circuitos en puente en H explicados
en la figura 29-1. Así pues, la respuesta es que el ULN2003
solo se puede utilizar para el motor M1 de la figura 29-6; para el
resto de los motores de las figuras 29-6 y 29-7 no se puede utilizar.
En todo caso puedes utilizar el L293D si la corriente no excede
de 600 mA y así te ahorras los diodos de protección.
- Siguiendo con la pregunta anterior ¿puedo
entonces sustituir todos los pares Darlington utilizados en los
proyectos figuras 19-7, 25-3, 25-6, etc por el ULN2003?
Siempre y cuando la carga se conecte entre los colectores
y el positivo de la alimentación. Así para la figura
25-3 y 25-6 el ULN2003 NO se puede utilizar. Además debes tener
en cuenta la máxima corriente que aguanta cada inversor de
este integrado que es de 500 mA tal como indicamos en el capítulo
2.
- Estoy modificando uno de los proyectos del libro y necesito realizar
una subrutina de multiplicación de 16 bits. ¿Cómo
puedo hacerlo?
En el capítulo 16 de la sección Proyectos hemos añadido todo tipo de subrutinas aritméticas, incluida
la que pides de multiplicación de 16 bits. Como siempre hemos
propuestos diferentes ejercicios resueltos, en este caso 14 ejercicios,
uno por cada subrutina.
- Tengo dificultades para conseguir poner en
marcha la comunicación entre un ordenador y el PIC16F84A
del circuito de la figura 20-13, ¿qué puedo hacer?
Le consejamos que siga el siguiente procedimiento:
- Compruebe con detenimiento el correcto montaje del esquema de
la figura 20-13, en especial la conexión del MAX232, cableado
del conector y polaridad de los condensadores.
- Con un polímetro compruebe el cable de conexión,
para ello mida la continuidad entre los pines 2 de los conectores
macho y hembra, y repita la operación para los pines 3 y
pines 5. Algunos lectores que se construyen ellos mismo el cable
RS232 con conectores DB9, conectan uno al revés. Esta es
la avería más frecuente.
- Para un MAX232 los condensadores C1, C3, C5 y C6 deben ser de
1 microfaradios. Se ha detectado que hay lectores que tienen dificultades
en la lectura del código en los condensadores y utilizan
otros valores muy diferentes. Si este es su caso, es aconsejable
que lea el capítulo de la sección
Apuntes
sobre Condensadores.
- Compruebe que el puerto seleccionado en el Hyperterminal corresponde
con el realmente utilizado en el ordenador, COM 1 ó COM2.
Compruebe que la configuración del puerto corresponde fielmente
a la figura 20-10 del libro.
- Compruebe el correcto funcionamiento del MAX232 para ello, en
reposo (y con el Hyperterminal conectado), debe tener las siguientes
tensiones respecto de masa:
- En el pin 16 tiene que haber + 5 V.
- En los pines 11 y 12 tiene que haber entre + 3 y + 5 V.
- En los pines 6, 13 y 14 tiene que haber entre -7 V y -12 V.
- Si todos los puntos anteriores son correctos pruebe de nuevo
su circuito con la librería actualizada RS232.INC que se ha incluido en el capítulo 20 de la sección Proyectos y el programa ejemplo RS232_02.asm
del CDROM que acompaña al libro.
- Tengo dificultades para conseguir poner en marcha el circuito
del teclado hexadecimal en bus I2C de la figura 26-8, ¿qué puedo hacer?
Compruebe la actualización del circuito en la sección Proyectos.
- He modificado un proyecto del libro donde utilizo el Puerto A
como salida. Al montarlo funciona todo bien excepto la línea RA4
que siempre está en cero. He cambiado el chip varias veces, pero
sigue funcionando incorrectamente, ¿Cómo lo puedo
solucionar?
Tal como se explica en la página 55, la salida de esta línea está
configurada como colector abierto. La carga se debe conectar entre
esta patilla y el positivo de la alimentación, tal como se
indica con el diodo D1 de la figura 2-1. La carga se activará cuando
esta salida esté en nivel bajo.
- Mi ordenador es un portátil que carece de puerto serie
COM, por tanto no puedo utilizar el programador TE20-SE que explicaís
en el capítulo 3, y me es imposible grabar los microcontroladores
para realizar las prácticas, ¿hay alguna solución?
Le proponemos varias posibilidades de solución por orden
de preferencia (recuerde que al igual que su dinero, la responsabilidad
de la elección es exclusivamente suya):
- La mayoría de los portátiles actuales carecen de puerto serie
y también del puerto paralelo por lo que la mejor solución
es adquirir un programador que se conecte al ordenador a través
del puerto USB:
- En tiendas especializadas en venta de productos electrónicos
se pueden adquirir desde 60 euros.
- En Internet en direcciones como kyheingenieria y todoelectronica se ofrecen modelos desde 50 a 400 euros.
- En el foro de Grabadores de www.todopic.com.ar,
están desarrollando grabadores de bajo coste conectados
a bus USB. Entre ellos destaca el grabador
GTP-USB diseñado por Sispic. Tiene toda la información al respecto de este excelente programador en www.winpic800.com.
- En microchip
o algunos de sus distribuidores (en España Sagitron
y otros)
el programador universal
MPLAB PM3 que tiene conexión a bus USB. Su precio
es de unos 750
euros. Esta es la opción más profesional si
su presupuesto (alto) se lo puede permitir.
- Si su ordenador lo permite puede utilizar un programador que
se conecte al ordenador a través del puerto paralelo:
- En el capítulo 3 de la sección Proyectos de esta Web podrá encontrar un circuito muy sencillo, económico
y de probado funcionamiento. En el enlace del programador facilitamos los esquemas e información suficiente para
su montaje.
- También puede adquirir otros modelos ya construidos en la tiendas
citadas en el punto anterior.
- He probado en circuitos reales todos los programas
del libro y funcionan correctamente. Sin embargo, cuando pruebo
en PROTEUS los programas que tienen LCD, no se visualiza nada
en la simulación, ¿qué ocurre?, ¿cómo
puedo solucionarlo?.
Primero informarle que pulsando el botón
de la derecha "PROTEUS" entra en una página con valiosa
información sobre esta herramienta software.
El modelado diseñado para los visualizadores
LCD en Proteus presenta una serie de problemas de tiempos que impiden
la correcta simulación de los programas con LCD descritos en
el libro. Para solucionarlo modifique la subrutina "LCD_Inicializa"
de la librería LCD_4BIT.INC añadiendo un pequeño
retardo de tiempo al final de la misma tal como se indica a continuación:
LCD_Inicializa
bsf STATUS,RP0 ; Configura las líneas conectadas al pines
RS,
....
movlw b'00110000'
call LCD_EscribeLCD
call Retardo_200micros
movlw b'00110000'
call LCD_EscribeLCD
call Retardo_20micros ; Retardo necesario
para simular en PROTEUS.
movlw b'00100000' ; Interface de 4 bits.
call LCD_EscribeLCD
call Retardo_20micros; Retardo necesario para
simular en PROTEUS.
; Ahora configura el resto de los parámetros:
...
- Tengo un LCD de 4 líneas compatible con el standard Hitachi
44780, ¿qué modificaciones tengo que realizar a la librería de
subrutinas LCD_4BIT.INC para poder utilizarlo correctamente?
Tiene un ejemplo desarrollado
en PROTEUS en el cápitulo 13 de la sección proyectos.
Hay que tener en cuenta las direcciones de las diferentes líneas
que son:
-
Línea 1: A partir de la dirección
00h de DDRAM.
-
Línea 2: A partir de la dirección
40h de DDRAM.
-
Línea 3: A partir de la dirección
14h de DDRAM (ó 10h en otros).
-
Línea 4: A partir de la dirección
54h de DDRAM (ó 50h en otros).
Por tanto las subrutinas de posicionamiento al principio
de cada línea pueden ser definidas dentro de la librería
LCD_4BIT.INC tal como se expone a continuación:
; Subrutinas variadas para el control del módulo
LCD ----------
;
;Los comandos que pueden ser ejecutados son:
LCD_CursorIncr ; Cursor en modo incrementar.
movlw b'00000110'
goto LCD_EnviaComando
LCD_Linea1 ; Cursor al principio de la Línea 1.
movlw b'10000000' ; Dirección 00h
de la DDRAM
goto LCD_EnviaComando
LCD_Linea2 ; Cursor al principio de la Línea 2.
movlw b'11000000' ; Dirección 40h
de la DDRAM
goto LCD_EnviaComando
LCD_Linea3 ; Cursor al principio de la Línea 3
movlw b'10010100' ; Dirección 14h
de la DDRAM
goto LCD_EnviaComando
LCD_Linea4 ; Cursor al principio de la Línea 4
movlw b'11010100' ; Dirección 54h
de la DDRAM
goto LCD_EnviaComando
Si tiene problemas en el funcionamiento o simulación
en PROTEUS del LCD de cuatro líneas, tenga en cuenta lo expuesto
en la FAQ nº 16.
- El libro es muy interesante pero me cuesta
trabajo seguirlo, porque aunque tengo conocimientos de electricidad
y electrónica, mi base en electrónica digital es muy pobre. Además,
tampoco dispongo de mucho tiempo libre para actualizarme. ¿Pueden
indicarme los conocimientos mínimos de electrónica digital necesarios
para poder aprovechar el libro y donde puedo estudiarlo?
En la sección de consultas hemos colocado apuntes sobre
los temas de electrónica
digital imprescidibles para seguir el libro y donde puede
estudiarlos.
En España el Ciclo Formativo de Grado Superior DESARROLLO
DE PRODUCTOS ELECTRÓNICOS imparte unas enseñanzas
que se adaptan muy bien a los conocimientos necesarios para
sacar el máximo provecho de los contenidos del libro.
- En el libro explican como simular las prácticas de laboratorio
utilizando el MPLAB. Sin embargo, a partir del tema 12 es muy
díficil simular éstas ya que las señales que intervienen son muy
complejas. ¿Qué simulador software puedo utilizar para ésto?
Hemos añadido una sección que
trata sobre la herramienta software más potente para la
simulación de microcontroladores: PROTEUS.
En esta sección exponemos los enlaces necesarios para su
descarga y aprendizaje. También se ha incluido los esquemas
y ficheros *.HEX necesarios para simular
todas las prácticas del libro.
-
Necesito personalizar algunos caracteres que se visualizan
en la pantalla LCD. En mi caso concretamente necesito representar
la carga de una bateria, ¿cómo puedo hacerlo?.
Tiene un
ejemplo desarrollado en PROTEUS en el cápitulo 13 de la sección
proyectos.
- Deseo probar los ejercicios y proyectos del libro con un microcontrolador
de la serie PIC16F87x, ¿qué modificaciones tengo
que realizar en los programas?
El siguiente recuadro muestra un ejemplo, adaptando el ejercicio "Mensaje_07.asm"
para el microcontrolador PIC16F876A.
los cambios a realizar en el programa se resumen en estos principales.
- Primero: Adaptar las directivas LIST, INCLUDE,
CONFIG Y CBLOCK tal como se muestra en el ejemplo.
-
Segundo: Poner al cero el bit RP1 del STATUS
para acceder al Banco 0.
- Tercero: Configurar como digitales las líneas
del Puerto A cargando en el registro ADCON1 el valor adecuado.
|
;****************** Mensaje_07.asm
**************
;
;
; El módulo LCD visualiza un mensaje largo (más
de 16 caracteres)
; que se desplaza a lo largo de la pantalla.
;
; ZONA DE DATOS *****************************
LIST P=16F876A
INCLUDE <P16F876A.INC>
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON &
_XT_OSC & _LVP_OFF
; ZONA DE CÓDIGOS
**************************
Inicio
bsf STATUS,RP0
bcf STATUS,RP1
movlw b'00000110' ; Líneas del Puerto A
movwf ADCON1 ; configuradas como digitales.
bcf STATUS,RP0
call LCD_Inicializa ; Prepara la pantalla.
Principal
movlw Mensaje0 ; Apunta al mensaje.
call LCD_MensajeMovimiento
goto Principal ; Repite la visualización.
; "Mensajes" ----------------------------------
;
Mensajes
Mensaje0 ; Posición
inicial del mensaje.
DT " " ; Espacios en blanco
al principio para mejor
DT "Estudia el Ciclo Formativo " ; visualización.
DT "DESARROLLO DE PRODUCTOS "
DT "ELECTRONICOS"
DT " ", 0x0 ; Espacios en blanco al final.
INCLUDE <LCD_MENS.INC>
INCLUDE <LCD_4BIT.INC>
INCLUDE <RETARDOS.INC>
END
|
Todos los programas del libro funcionan correctamente en todos los circuitos
que en él se detallan y en bastantes entrenadores comerciales compatibles. Sin embargo,
en algunos modelos concretos hay que reformar ligeramente la librería del teclado TECLADOS.INC añadiendo una instrución nop tal como
se señala a continuación en rojo:
Lo tiene explicado en la página 78 del libro.
Lo tiene explicado en la página 193 del libro. Además lo hemos desarrollado en este proyecto donde también
puede descargarse un esquema para su simulación en
PROTEUS.
Para solucionar su problema debe situar el archivo de la libreria RETARDOS.INC en la misma carpeta que el programa que está ensamblando. Lo tiene detallado en la página 150 del libro.
Hay muy buenos programadores que permiten grabar microcontroladores a través del puerto USB de ordenadores con Window Vista, en la FAQ número 15 tiene algunas referencias. Nosotros hemos comprobado que uno de los que mejores prestaciones presenta es el programador GTP-USB [plus] con la herramienta software WinPic800 por ello lo recomendamos con pleno convencimiento. En la Web www.winpic800.com encontrará toda la información necesaria.