Vous êtes sur la page 1sur 30

REMEMBER

Arquitectura de Von Neumann (uP)

REMEMBER
Arquitectura de Harvard (uC)

Arquitectura PiC
Basado en banco de registros (I/O, TM, etc)
Procesador:
Sigue la arquitectura Harvard
Procesador segmentado
RISC

Memoria de Programa:

Memoria no volatil
Almacena todo el cdigo del programa de aplicacin
Tamao muy reducido (512 Bytes - 16 KB)
Ajustada al tamao de las instrucciones.

Arquitectura PiC
Memoria de Datos:
RAM: voltil de tamao reducido, para variables de
programa (36 Bytes)
EEPROM: para datos importantes que no deben
perder si hay cortes de corriente (64 Bytes)

Lneas de entrada/salida:
Conexin con los perifricos
Manejan la informacin en paralelo
Se agrupan en puertas, pero cada seal se puede
configurar independientemente.

Arquitectura PiC
Recursos auxiliares:
Circuito de reloj, encargado de la sincronizacin del
sistema.
Temporizador para controlar los tiempos
Perro guardin (watchdog) provoca una reinicializacin
cuando el programa se queda colgado
Conversor AD y DA para recibir y enviar seales analgicas
Comparador analgico para comprobar el valor de una
seal analgica
Sistema de proteccin ante fallos de alimentacin
Estado de reposo, para minimizar el consumo de energa.

PROGRAMACION EN
ENSAMBLADOR
para uC

Directivas
LIST P= ; Indica el procesador a usar
INCLUDE ; bibliotecas externa del uC (mpasmSuite)

__CONFIG ; Configuracion del microcontrolador


SPECIAL FEATURES -Datashet
_CP_ON/OFF , _DEBUG_ON/OFF , _WRT_OFF & CPD_OFF &

Directivas

CP= protection del codigo flash OFF= NO PROTEC


DEBUG = dispositivo interno PICKT,
WRT = permiso escritura en la flash
CPD=proteccion de un bloque eeprom
LVP=programacion de bajo voltaje
BOREN=proteccion de bajo volatage reset
PWRT=reseta al pic cada vez que se alimenta
WDRT= reseteo, perro guardian, (bucle infito, no
registro, etc.)
XT= seleccion del oscilador

Directivas
ORG
EQU
END

; ubicacion del programa


; define constante

; fin del programa

Estructura de un programa
instrucciones

operandos

Etiquetas

Inicio

comentarios

bcf
clrf
bcf

STATUS,RP0
TRISB
STATUS, RP0

Principal:
movwf
goto

PORTB
inicio

; comentarios

Etiquetas
Indican una direccion o posicion exacta en el
programa:
000

inicio

03A

principal

Instrucciones
Accion o actividad propia del
microcontrolador.
Traducida a codigo maquina. 010101
movlw = 010 0010 0100

Operandos
Datos o argumentos con los que opera las
instrucciones.
Registros
movf
PORTA,W ; mueve port A al Acum
Numeros
movlw
d30 ; mueve un numero al Acum
Direcciones
goto inicio
; direccion de inicio

Numeros, literales o constates

Conjunto de instrucciones
Se describen a detalle en su Datashet del uC

Modos de direccionamiento

Direccionamiento implicito
Direccionamiento inmediato
Direccionamiento directo
Direccionamiento indirecto
Direccionamiento relativo
Direccionamiento extendido

Direccionamiento implicito
Ejemplo:
No requiere de operandos
NOP

inmediato
Incluido en la misma instruccion.
Movlw 3D

Directo
El dato es transferido hacia, desde un posicion
de memoria particular.
movwf 0x20

Transfiere el valor de w a la posicion 0X20

Indirecto
Direccion de una posicion de memoria se
obtiene mediante doble referencia.

Cargar el valor de w , usando como base la


direccion 3000.

Extendido
Permite acceder a todo el espacio de
memoria, la direccion puede tener 2 o 3 bytes
Direccion 301A.

Instrucciones de tranferencia o
direccionamiento
movf f,d
movwf f
movlw k

; mueve f
; mueve w a f indirecto
; mueve una cte k a w inmediato

HERRAMIENTAS DE DESARROLLO
MPLAB

GUIA-MPLAB

New project
Michochip Embeddded Standalone project
Seleccion de device PICXXX
Seleccion Harwdware tool simulacion Simulator
Seleccion de Compiler mpasm
Project Name [ruta] no elegir main project
Add asm / click derecho set main project
(negrilla)

RUTA DE LOS P16XXX.INC


C:\Program Files (x86)\Microchip\MPASM
SUITE\
O
C:\Program Files
(x86)\Microchip\MPLABX\mpasmx

Estructura de un program
; directivas
List p=xxxxxxx ; indica tipo de microcontro
Include <pic.inc> ; definciones del micro
_config xxxx ; registro de configuracion (WINDOWS/PIC
MEMORY)
w_vid@hotmail.com.
;Configuracion de Variables

Org 00 ; origen del program o reset


Status, rp0 ; seleccion del banco
TRISTA
; config del port A

Program principal
Clrf PORTA
BSF STATUS,RP

END

Actividad semana 14
Resumir y describir todas las instrucciones
basadas en el PIC PIC16F84A
Implementar los 3 primeros Laboratorios de
la gua

Practicas para Laboratorio semana 15


Mostrar el control de 2 display que muestre la
cuenta de 00 a 99 (variante agregar un display
mas).
Controlar un motore dc, a traves de 2 pulsadores
uno para iniciar y otro para detener. (variante
usar infrarrojos) .
Generar con un pulsador a travez de un puerto el
sonido con una frecuencia de 450Hz. (variante
agregar otro buzzer)
Mostrar en una pantalla LCD el mensaje hola
mundo (variante otro mensaje)

Trabajo complementario para


reemplazar nota mas baja o
actividad pendiente
Para ser

Mostrar la comunicacion entre la pc y un


microcontrolador (variante control de leds.)
Controlar la velocidad de un motor DC a
traves de dos pulsadores.
Mostrar la funcionalidad de un programa
usando los TMR0 del PIC.

Vous aimerez peut-être aussi