Sunteți pe pagina 1din 8

UNIVERSIDAD DE COLIMA FACULTAD DE INGENIERIA ELECTROMECANICA

AREA: Ingeniero en Comunicaciones y Electrnica.

MATERIA: Microcontroladores

SEMESTRE: 7. B

CATEDRATICO M.C. Juan Manuel Gonzlez Rosas

ALUMNO Guadalupe Martnez Jimnez

TAREAS Corrimiento de Luces

Manzanillo, Col. 26 de septiembre de 2011

Contenido
OBJETIVO ........................................................................................................................... 3 INTRODUCCIN................................................................................................................ 3 DESARROLLO .................................................................................................................... 4 DIAGRAMAS ................................................................................................................... 4 CODIGO EN MPLAB ........................................................................................................ 4 SIMULACIN ...................................................................................................................... 8 CONCLUSIONES ............................................................................................................... 8 BIBLIOGRAFIA .................................................................................................................. 8

OBJETIVO
Diseo y programacin de un pic con Corrimiento de Luz

INTRODUCCIN
Las altas prestaciones de los microcontroladores PIC derivan de las caractersticas de su arquitectura. Estn basados en una arquitectura tipo Harvard que posee buses y espacios de memoria por separado para el programa y los datos, lo que hace que sean ms rpidos que los microcontroladores basados en la arquitectura tradicional de Von Neuman. Otra caracterstica es su juego de instrucciones reducido (35 instrucciones) RISC, donde la mayora se ejecutan en un solo ciclo de reloj excepto las instrucciones de salto que necesitan dos. Posee una ALU (Unidad Aritmtico Lgica) de 8 bits capaz de realizar operaciones de desplazamientos, lgicas, sumas y restas. Posee un Registro de Trabajo (W) no direccionable que usa en operaciones con la ALU.

Este microcontrolador posee caractersticas especiales para reducir componentes externos con lo que se reducen los costos y se disminuyen los consumos. Posee 4 diferentes modos de oscilador, desde el simple circuito oscilador RC con lo que se disminuyen los costos hasta la utilizacin de un oscilador a cristal.

DESARROLLO
DIAGRAMAS

CODIGO EN MPLAB
TIEMPO equ 9Fh ;Variable para bucle de retardo. PORTB equ 06h ;Direccin del puerto B TRISB equ 86h ;Direccin del registro TRISB PORTA equ 05h ;Direccin del puerto A TRISA equ 85h ;Direccin del registro TRISA STATUS equ 03h ;Registro para direccionar banco CONTADOR1 equ 0Ch ;Registro para bucle. CONTADOR2 equ 0Dh ;Registro para bucle. 4

bsf STATUS,5 ;Va al banco 1 movlw 00h ;Cargaw con 0. movwf TRISB ;Configura como salida al puerto B movlw 00h ;Carga w con 0. movwf TRISA ;Configura como salida al puerto A bcf STATUS,5 ;Va al banco 0. movlw 00h ;Carga w con 0. movwf PORTA ;Pone 0 en el puerto A ; ;Inicio del programa ; Correluz movlw 01h ;Carga w con 0. movwf PORTB ;Pone 0 en el puerto B call Retardo ;Tiempo de espera call Retardo ;Tiempo de espera ; ;Desplaza el bit a la izquierda y despus pausa. ; rlf PORTB,1 ;PORTB=00000010, C=0 call Retardo ;Tiempo de espera call Retardo ;Tiempo de espera rlf PORTB,1 ;PORTB=00000100, C=0 call Retardo ;Tiempo de espera call Retardo ;Tiempo de espera rlf PORTB,1 ;PORTB=00001000, C=0 call Retardo ;Tiempo de espera call Retardo ;Tiempo de espera rlf PORTB,1 ;PORTB=00010000, C=0 call Retardo ;Tiempo de espera call Retardo ;Tiempo de espera rlf PORTB,1 ;PORTB=00100000, C=0 call Retardo ;Tiempo de espera call Retardo ;Tiempo de espera rlf PORTB,1 ;PORTB=01000000, C=0 call Retardo ;Tiempo de espera call Retardo ;Tiempo de espera rlf PORTB,1 ;PORTB=10000000, C=0 call Retardo call Retardo bsf 06h,7 call Retardo call Retardo bcf 06h,7 call Retardo ;Tiempo de espera call Retardo ;Tiempo de espera bsf 06h,7 call Retardo 5

call bcf call call rlf call call

Retardo 06h,7 Retardo Retardo PORTB,1 ;Tiempo de espera ;Tiempo de espera ;Desplaza el bit al "flag" CARRY ;PORTB=00000001, C=1 Retardo ;Tiempo de espera Retardo ;Tiempo de espera

; ;Ahora se mover al puerto A, desplaza el bit hacia la izquierda ; rlf PORTA,1 ;Mueve el bit desde el "flag" al ;PORTA=00001, C=0 call Retardo ;Tiempo de espera call Retardo ;Tiempo de espera rlf PORTA,1 ;PORTA=00010, C=0 call Retardo ;Tiempo de espera call Retardo ;Tiempo de espera rlf PORTA,1 ;PORTA=00100, C=0 call Retardo ;Tiempo de espera call Retardo ;Tiempo de espera rlf PORTA,1 ;PORTA=01000, C=0 call Retardo ;Tiempo de espera call Retardo ;Tiempo de espera rlf PORTA,1 ;PORTA=10000, C=0 call Retardo ;Tiempo de espera call Retardo ;Tiempo de espera ; ;Desplaza el bit de vuelta por el puerto A ; rrf PORTA,1 ;PORTA=01000, C=0 call Retardo ;Tiempo de espera call Retardo ;Tiempo de espera rrf PORTA,1 ;PORTA=00100, C=0 call Retardo ;Tiempo de espera call Retardo ;Tiempo de espera rrf PORTA,1 ;PORTA=00010, C=0 call Retardo ;Tiempo de espera call Retardo ;Tiempo de espera rrf PORTA,1 ;PORTA=00001, C=0 call Retardo ;Tiempo de espera call Retardo ;Tiempo de espera rrf PORTA,1 ;Este desplaza el bit al flag CARRY ;PORTA=00000, C=1 ; ;Ahora desplaza el bit de vuelta al puerto B ; 6

rrf call call rrf call call rrf call call rrf call call rrf call call rrf call call rrf call call rrf call call goto

PORTB,1 Retardo Retardo PORTB,1 Retardo Retardo PORTB,1 Retardo Retardo PORTB,1 Retardo Retardo PORTB,1 Retardo Retardo PORTB,1 Retardo Retardo PORTB,1 Retardo Retardo PORTB,1 Retardo Retardo Correluz

;PORTB=10000000, C=0 ;Tiempo de espera ;Tiempo de espera ;PORTB=01000000, C=0 ;Tiempo de espera ;Tiempo de espera ;PORTB=00100000, C=0 ;Tiempo de espera ;Tiempo de espera ;PORTB=00010000, C=0 ;Tiempo de espera ;Tiempo de espera ;PORTB=00001000, C=0 ;Tiempo de espera ;Tiempo de espera ;PORTB=00000100, C=0 ;Tiempo de espera ;Tiempo de espera ;PORTB=00000010, C=0 ;Tiempo de espera ;Tiempo de espera ;PORTB=00000001, C=0 ;Tiempo de espera ;Tiempo de espera ;Inicia de nuevo el ciclo

; ;Subrutina de retardo ; Retardo retardo1 decfsz 0ch,1 goto retardo1 decfsz 0dh,1 goto retardo1 retardo2 decfsz 0ch,1 goto retardo2 decfsz 0dh,1 goto retardo2 return END

SIMULACIN

CONCLUSIONES
En esta implementacin de un circuito de correluz, tuve que hacer un arreglo para que D1 parpadee 2 veces.

BIBLIOGRAFIA
http://perso.wanadoo.es/pictob/micropic16f84.htm

S-ar putea să vă placă și