You are on page 1of 31

CENTRO DE ESTUDIOS TECNOLGICOS, INDUSTRIAL Y DE SERVICIOS #80 GENERAL IGNACIO LPEZ RAYON

ACADEMIA DE ELECTRNICA

PROGRAMACIN DEL MICROCONTROLADOR

MANUAL DE PRCTICAS

ING. JUAN SAMUEL MALDONADO GUZMN

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 1

Esquema del famoso PIC16f84 el cual deber de recordarse pues se manejar en la mayor parte del curso.

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 2

Los esquemas anteriores muestran la forma correcta de alimentar al PIC y el conexionado del oscilador, en este caso un circuito RC y el segundo esquema est controlado por un cristal de cuarzo de 4Mhz, que es la frecuencia mxima a la que trabaja este PIC.

Dentro del mapa de registros del PIC16F84 existe un registro de propsito especifico SFR llamado TRISA que ocupa la direccin $84 del banco 1 y el TRISB con direccin $85 del banco 1 los cuales definen si los pines de los puertos del pic se configuran como entradas (1) o salidas (0), el fabricante nos dice que por default estos registros estn configurados como entradas, esto es TRISA y TRISB =$FF

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 3

En el esquema anterior para manejar la configuracin del puerto b tiene que configurarse el TRSIB=%1x1xx0x0 quedando la x como indefinido pudiendo ser 0 o 1; para poder cumplir con las necesidades del hardware Cabe mencionar que dentro de un programa se puede configurar un pin del puerto x como entrada y como salida dependiendo de las necesidades de hardware

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 4

Realiza el programa en PICBASIC PRO para encender los leds en forma alternada, esto es enciende el led amarillo por un segundo, apaga y enciende led rojo por un segundo y apaga, haciendo cclico este funcionamiento.

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 5

1.- Realiza la programacin para que el circuito funcione como un semforo , esto es, el led verde funciona 30 segundos , apaga y enciende el amarillo por 3 segundos y luego el rojo por 25 segundos, de manera cclica. 2.- Para hacer ms interesante la aplicacin, despus de 30 segundos encendido el led verde, parpadea 4 veces con intervalos de 350 milisegundos, y repite la secuencia anterior. 3.- Realiza un esquema elctrico y la programacin de un semforo doble con las caractersticas del punto 2.

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 6

Realiza la programacin del pic para que cumpla con el esquema siguiente y entre cada cambio de secuencia dejar un intervalo de tiempo de 250 ms.

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 7

Al trabajar con entradas y salidas recordar el estado inicial de la entrada, si observamos el diagrama el estado inicial de la entrada del pin RB1 esta normalmente en 0 por la resistencia que la conecta con tierra, cuando se cierra el interruptor se genera un 1 lgico que es la condicin que vamos a leer. .- Cuando RB1 =1 enciende el led del pin RB0 y se queda encendido hasta que. 2.- Cuando se presione el botn del pin RB2 apaga el led.

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 8

Realiza un programa que lea el estado de los 4 interruptores conectados en los pines superiores del puerto b y mandar este dato a los pines bajos del puerto.

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 9

Para el manejo de cargas ms grandes, utilizaremos un transistor de media potencia TIP120 con una resistencia de base de 4k7 y una lmpara de 12 V. El funcionamiento es el siguiente: 1.- Al presionar el interruptor del pin RB0 se enciende tanto el led como la lmpara 2.- Al presionar nuevamente el interruptor se apaga la lmpara y el led. 3.- Hacer cclico el funcionamiento

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 10

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 11

Manejo del Display de 7 segmentos.. En los diagramas se muestra la forma de conectar directamente al pic un Display de siete segmentos utilizando para esto las resistencias correspondientes no menores a 330R. En la segunda grfica se deducen los datos a mandar por el puerto del pic para formar el dgito correspondiente. Para este caso se utiliza un Display de ctodo comn, pero si se cuenta con uno de nodo comn solo se invierten las salidas, esto es, en lugar de mandar un 1 lgico para activar el segmento, mandar un 0 lgico para activar el segmento de un Display de nodo comn. Disea un programa que mande los nmero del 0 al 9 con un Display de ctodo comn cada segundo. Hacer cclica la visualizacin de los dgitos. Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 12

Disear mediante un interruptor externo, un contador decimal y visualizar la cuenta mediante el Display de 7 segmentos

Disear un contador de 0 a 9999

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 13

Genera un control de velocidad del motor mediante la instruccin PWM.

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 14

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 15

Realiza el programa que cumpla con las siguientes condiciones. 1.- Al presionar el botn de Start inicia la funcin de cronmetro como se muestra en el LCD 2.- Si presionas el botn Stop para el funcionamiento del cronmetro. 3.- Si se presionan los 2 botones al mismo tiempo borra la cuenta.

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 16

1.- Disea un programa que al presionar S1 se incremente un contador el cual va a ser visualizado en el LCD, la siguiente cuenta se realizar hasta que se suelte y presione nuevamente S1 2.- si se deja presionado S1 la cuenta se incrementar automticamente.

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 17

En la entada RA4 se ha conectado un oscilador variable por energa luminosa, muestra en el LCD la frecuencia de oscilacin en Hertz.

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 18

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 19

Mediante los pulsadores conectados a la parte alta del PUERTO B genera 4 diferentes intensidades de iluminacin de la lmpara conectada al pin RB0. Si se presionan los interruptores conectados a RB4 y RB5 al mismo tiempo, se apaga la lmpara quedando lista para una nueva secuencia, recuerda implementar la instruccin PWM

Nota: Si se utiliza el PIC16F628 el cual cuenta con un mdulo de PWM por hardware utilizar la instruccin HPWM la cul es sin duda ms poderosa que la generada por software PWM.

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 20

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 21

Mediante el interruptor S4 aumenta la velocidad del motor y visualiza en el Display de 7 segmentos la velocidad del motor la cual variar de 0 a 9. El interruptor S3 disminuir la velocidad del motor mostrndose siempre cual es esta en el Display de 7 segmentos.

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 22

Generar tonos mediante la instruccin DTFM

Generar una pequea meloda simulando un timbre electrnico, mediante la instruccin SOUND

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 23

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 24

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 25

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 26

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 27

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 28

Lista de Instrucciones del Lenguaje PICBASIC PRO


Lista de DECLARACIN APLICACLIS IN @ 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 DEBUG 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 LCDOUT Muestra caracteres en un LCD LET LOOKDOWN LOOKDOWN2 LOOKUP LOOKUP2 LOW NAP ON DEBUG ON INTERRUPT OUTPUT OWIN OWOUT PAUSE PAUSEUS PEEK POKE Asigna el resultado de una expresin a una variable Busca un valor en una tabla de constantes Busca un valor en una tabla de constantes o variables Obtiene un valor constante de una tabla Obtiene un valor constante o variable de una tabla Hace 0 lgico ( 0 V. ) un pin especfico Apaga el procesador por un corto perodo de tiempo Ejecuta un Debug en BASIC Ejecuta una subrutina BASIC en un interrupt Convierte un pin en salida Entrada de dispositivos one-wire Salida a dispositivos one-wire Demora con resolucin de 1 milisegundo (mS.) Demora con resolucin de 1 microsegundo (uS.) Lee un byte del registro Graba un byte en el registro

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 29

POT PULSIN PULSOUT PWM RANDOM RCTIME READ READCODE RESUME RETURN REVERSE SELECT CASE SERIN SERIN2 SEROUT SEROUT2 SHIFTIN SHIFTOUT SLEEP SOUND STOP SWAP TOGGLE USBIN USBINIT USBOUT WHILEWEND WRITE WRITECODE XIN XOUT

Lee el potencimetro en el pin especificado Mide el ancho de pulso en un pin Genera pulso hacia un pin Salida modulada en ancho de pulso por un pin especificado Genera nmero pseudo-aleatorio Mide el ancho de pulso en un pin Lee byte de un chip EEPROM Lee palabra desde un cdigo de memoria Continua la ejecucin despus de una interrupcin Continua en la declaracin que sigue al ltimo GOSUB Convierte un pin de salida en entrada, o uno de entrada en salida Compara una variable con diferentes valores Entrada serial asincrnica (tipo BASIC Stamp 1) Entrada serial asincrnica (tipo BASIC Stamp 2) Salida serial asincrnica (tipo BS1) Salida serial asincrnica (tipo BS2) Entrada serial sincrnica Salida serial sincrnica Apaga el procesador por un perodo de tiempo Genera un tono o ruido blanco en un pin Detiene la ejecucin del programa Intercambia los valores de dos variables Hace salida a un pin y cambia su estado Entrada de USB Inicializar USB Salida de USB Ejecuta declaraciones mientras la condicin sea cierta Graba bytes en un chip EEPROM Escribe palabra en cdigo de memoria Entrada X - 10 Salida X 10

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 30

Programacin de Microcontroladores . Ing. Juan Samuel Maldonado Pgina 31

You might also like