Tutorial 3 - Micontroladores pic - Assembler Pulsadores 2

En el tutorial anterior vimos como encender uno o mas leds mediante pulsadores. ahora veremos como encenderlos  tambien con pulsadores pero de una mejor forma

Tutorial 2 - Micontroladores pic - Assembler Pulsadores


En el tutorial anterior vimos como encender uno o mas leds. ahora veremos como encenderlos mediante pulsadores
LIST            P=16F628A
        INCLUDE         <P16F628A.INC>

aux     EQU 0X0C
        ORG             0X00
        GOTO            INICIO
        ORG             0X05

INICIO  BSF STATUS,RP0
        MOVLW B'00001111'
        MOVWF TRISB
        BCF STATUS,RP0

LEER    MOVF PORTB,W
        ANDLW 0X0F
        MOVWF aux
        COMF aux,W
        ANDLW 0X0F
        MOVWF aux
        SWAPF aux,W
        MOVWF PORTB
        GOTO LEER
        END

LIST P=16F628A
Define el microcontrolador que se va a utilizar
INCLUDE <P16F628A.INC>
aqui definimos las etiquetas del PIC
aux EQU 0X0C
declaramos una constante aux
ORG 0X00
el programa comienza en la direccion 0 de la memoria del programa. Es muy importante comenzar el programa con el nemonico org en la direccion 0×00 ya que este nemonico define la dirección en la que se comenzará a escribir el código. Al momento de encender el microcontrolador , un reset lo primero que el microcontrolador hace es leer la dirección 0×00, si no hay nada en esa dirección lo más probable es que el microcontrolador se cicle. Otra cosa importante que debemos tomar en cuenta es que la memoria de programa del PIC 16F628A comienza en la dirección 0×05 , es por eso que se pone org 0×05
GOTO INICIO
lo que hace goto es hacer un salto como su nombre lo indica , a inicio
ORG 0X05
hacemos que incio este en la direccion 5 de la memoria del programa
INICIO BSF STATUS,RP0
bsf se utiliza para cambiar el estado lógico de un bit de un registro a un nivel alto , la sintáxis es bsf f,b donde f es el registro y b el bit que se quiere cambiar (bsf STATUS,RP0)
“Pone un 1 al bit 5 del STATUS . Acceso al banco 1″
MOVLW B’00001111′
carga el registro de trabajo con la 00001111
MOVWF TRISB
Mueve 00001111 a trisb (0 salida 1 entrada)
BCF STATUS,RP0
nos pasamos al banco 0
LEER MOVF PORTB,W
cargamos lo que esta en el puerto b en w
ANDLW 0X0F
Realiza la operación lógica AND entre el registro W y el registro “f”
MOVWF aux
cargamos w a aux
COMF aux,W
El contenido del registro ‘f’ se complementa. Si d=0 el resultado se almacena en el registro W. Si d=1 el resultado se almacena en el registro ‘f’.
ANDLW 0X0F
Realiza la operación lógica AND entre el registro W y el registro “f”
MOVWF aux
movemos lo que esta en w a aux
SWAPF aux,W
El nibble bajo del registro ‘f’ se intercambia con el nibble alto del mismo
00001111  —– 11110000
MOVWF PORTB
movemos lo que esta en w al puerto b
GOTO LEER
crea un bucle
END
fin del programa

Tutorial 1 - Microcontroladores pic - Assembler - enceder LEDS

En el tutorial anterior vimos cómo se instalaba mplab y como se iniciaba un proyecto ahora veremos como encender uno o más led´s conectados al puerto B del microcontrolador

Calculador de resistencias

Calculador de Resistencias es una pequeña utilidad que sirve para calcular el valor de una resistencia a partir de su código de color. Como sabemos, todas las resistencias llevan unas pequeñas bandas de varios colores, que son las que identifican el valor numérico de dicha resistencia. Cada color corresponde a un valor. Calculador de Resistencias tiene soporte para esquemas de colores para 4 bandas que son las mas comerciales. Podemos especificar cuál es el color de cada una de las tres primeras bandas, y de la última que es la tolerancia (en caso de que existan).

Monoestables no redisparables - 74121


El 74121 es un multivibrador monoestable, (One Shot) que se activa con los dos bordes, el borde de entrada y el borde de salida, genera dos salidas complementarias, Q y Q´. Contiene una resistencia interna de 2 k ohms, se prove para minimizar el diseño y usar solamente un capacitor externo. La entrada (A) se activa con la transición de bajada (Borde de salida) del disparo y la entrada (B) se activa con la transición de subida (Borde de entrada) del disparo, la compuerta AND contiene un comparador Schmitt Trigger, lo cual que permite obtener los disparos del monoestable libres de perturbaciones oscilatorias, soporta tasas de transición tan lentos como 1.0 voltio/segundo.

INSTRUCCIONES PARA PIC GAMA MEDIA (NEMÓNICOS)

Como ya hemos visto, para que el microcontrolador lleve acabo una tarea, debemos indicarle exactamente que debe hacer, o en otras palabras, debemos escribir el programa que el micro ejecutara. Ya hemos visto varios ejemplos y muchas de las instrucciones del pic, pero ahora veremos las 35 instrucciones del ensamblador mpasm. Estas 35 instrucciones son las mismas para toda la gama media de los microcontroladores pic asi que si mas adelante se quiere realizar un programa para un pic 16F877 (16F***) se usaran las mismas instrucciones.