AUTOMOTRIZ III
ELECTRONICA AUTOMOTRIZ III Microcontroladores PIC Programacin en BASIC INSTA
1. Modelo de
MicroPIC
8.Compilador
2. Buscador
de cdigos
7. Encabezado
del programa
3. Nmero de
lnea del
programa
6.Comentarios
4. Espacio que
ocupa en el PIC
5. Programa del microcontrolador
1. Modelo de MicroPIC.-
Esto es lo primero que debe seleccionar antes de empezar a programar, seleccione
de acuerdo al modelo de Pic que se va a programar sea este 16F627, 16F627A,
16F628, 16F628A, 16F818, 16F819, 16F84A, 16F877A, etc.
2. Buscador de cdigos.-
Aqu se van adicionando cada vez que se crea una variable, al incluir un define, o
crear algn nombre de lnea, sirve para saber qu componentes incluyen en el
programa y tambin como buscador de lneas, para esto basta con dar un clic en el
nombre de la lnea que desea encontrar y automticamente le indicar donde est
dicha lnea.
6
Lnea 14: led VAR portb.0, indica que el Pin # 6 del PIC 16F628A se llamar en
adelante led Lnea 15: pepe:, estamos asignando una subrutina con el nombre
de pepe y se lo crea escribiendo cualquier nombre seguido de 2 puntos ( : )
ejemplo:
Luis:, LUIS:, LuIS:, Alarma:, LedApagado:, Zona3:, Contador:.
Lnea 16: HIGH led, significa sacar 5 voltios por el pin 6, lo cual encendera el led.
Lnea 17: PAUSE 1000, genera una pausa o retardo de 1000 milisegundos, que
equivale a 1s.
Lnea 18: LOW led, significa poner el pin 6 a un estado bajo o 0 voltios, esto
apagara el led.
Lnea 19: PAUSE 1000, como ya se explic antes genera una espera de 1 seg. Sin
hacer nada.
Lnea 20: GOTO pepe, Como el ingls lo dice ir a pepe, indica continuar desde la
lnea 15, con esto se repetira el parpadeo del led para siempre.
Lnea 21: END, Fin de las instrucciones, sirve para indicarle al compilador pbp que
hasta aqu es el programa vlido.
6. Comentarios.-
6
Es recomendable usar comentarios todo el tiempo, aunque sea obvio para usted,
alguien podra necesitarlo, y por qu no para usted mismo, dentro de un tiempo no
recordar ni cmo lo hizo ni cmo funciona, ni para qu serva tal instruccin.
Compile Only - F9. Este primer botn sirve para compilar, es decir el programa lo
cambia a assembler y lo crea el .HEX,
Compile and Program - F10. Este botn tiene doble funcin, aparte de hacer lo
mismo que el botn anterior, es decir compilar, tambin puede llamar al
programador Ic-prog, con la finalidad de ahorrarnos tiempo y no tener que abrir por
separado, es aconsejable utilizarlo una sola vez, y una vez que el programador IC-
prog ya est abierto, en adelante slo se debe utilizar el botn Compile Only F9.
6
MENSAJE EXPLICACIN
Syntax error Error de sintaxis, mal escrito, falta o est dems una letra
Bad expresin Mala expresin, mal escrito, falta o est dems una letra
ID pep is not a LABEL La lnea pep no es un nivel, o nombre de lnea incorrecto
For without a matching next Cuando falta un next
next without a matching for Cuando falta un FOR ejem. Fo x = 1 to 12
undefined symbol portc Cuando se pone un Puerto que no dispone el pic
80000 numeric overflow Exceso del valor lmite ejem. PAUSE 80000
bad token . No se coloc el nmero del pin 1,2,3. Ejem. LOW portb.
bad variable modifier: .O. Ejem. LOW portb.O puso la letra ( O ) en vez del cero ( 0 )
processor file 12F675 Este error sale en compiladores de versiones antiguas, ya que no
dispone de este modelo de PIC por ejemplo en el PBP 2.33
undefined symbol cncom Indica que no existe ese registro en el PIC seleccionado
code crossed boundary Es una precaucin que indica que el programa sobrepasa las 2048
@800h lneas de programacin, aunque si compila no es un problema.
6
ejemplo:
HIGH portb.3
Esta instruccin HIGH es reconocida automticamente por microcode, lo coloca en
negrilla y mayscula, y sirve para que el compilador realice los ajustes necesarios
para cambiarse al segundo banco de la RAM, colocar como salida el puerto B en
TRISB, y luego regrese al primer banco de la RAM y setea en 1 al Portb.3, todo esto
nos ahorramos gracias al pbp 2.47.
A continuacin las 83 instrucciones disponibles con una breve explicacin.
DECLARACION APLICACIN
@ Inserta una lnea de cdigo ensamblador
ADCIN Lee el conversor analgico
ASM...ENDASM Insertar una seccin de cdigo ensamblador
BRANCH GOTO computado ( equivale a ON..GOTO )
BRANCHL BRANCH fuera de pgina (BRANCH Largo )
BUTTON Anti-rebote y auto-repeticin de entrada en el pin especificado
CALL Llamada a subrutina de ensamblador
CLEAR Hace cero todas las variables
CLEARWDT Hace cero el contador del Watchdog Timer
COUNT Cuenta el nmero de pulsos en un pin
DATA Define el contenido inicial en un chip EEPROM
DEBUG Seal asincrnica de salida en un pin fijo y baud
DEBUGIN Seal asincrnica de entrada en un pin fijo y baud
DISABLE Deshabilita el procesamiento de ON INTERRUPT, ON
DISABLE DEBUG Deshabilita el procesamiento de ON DEBUG
DISABLE INTERRUPT Deshabilita el procesamiento de ON INTERRUPT
DTMFOUT Produce tonos telefnicos en un pin
EEPROM Define el contenido inicial en un chip EEPROM
ENABLE Habilita el procesamiento de ON INTERRUPT, ON DEBUG
ENABLE DEBUG Habilita el procesamiento de ON DEBUG
ENABLE INTERRUPT Habilita el procesamiento de ON INTERRUPT
END Detiene la ejecucin e ingresa en modo de baja potencia
FORNEXT Ejecuta declaraciones en forma repetitiva
FREQOUT Produce hasta 2 frecuencias en un pin
GOSUB Llama a una subrutina BASIC en la lnea especificada
GOTO Continua la ejecucin en la lnea especificada
HIGH Saca un 1 lgico ( 5 V. ) por un pin
HPWM Salida de hardware con ancho de pulsos modulados
HSERIN Entrada serial asincrnica ( hardware )
HSEROUT Salida serial asincrnica ( hardware )
I2CREAD Lee bytes de dispositivos I2C
I2CWRITE Graba bytes de dispositivos I2C
IF..THEN..ELSE..ENDIF Ejecuta declaraciones en forma condicional
INPUT Convierte un pin en entrada
LCDIN Lee caracteres desde una RAM de un LCD
6