7/23/2019 Remember Dig2
1/30
REMEMBER
Arquitectura de Von Neumann (uP)
7/23/2019 Remember Dig2
2/30
REMEMBER
Arquitectura de Harvard (uC)
7/23/2019 Remember Dig2
3/30
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.
7/23/2019 Remember Dig2
4/30
Arquitectura PiC
Memoria de Datos:
RAM: voltil de tamao reducido, para variables deprograma (36 Bytes)
EEPROM: para datos importantes que no debenperder 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.
7/23/2019 Remember Dig2
5/30
Arquitectura PiC
Recursos auxiliares:
Circuito de reloj, encargado de la sincronizacin delsistema.
Temporizador para controlar los tiempos
Perro guardin (watchdog) provoca una reinicializacincuando 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.
7/23/2019 Remember Dig2
6/30
PROGRAMACION EN
ENSAMBLADOR
para uC
7/23/2019 Remember Dig2
7/30
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 &
7/23/2019 Remember Dig2
8/30
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, noregistro, etc.)
XT= seleccion del oscilador
7/23/2019 Remember Dig2
9/30
Directivas
ORG ; ubicacion del programa
EQU ; define constante
END ; fin del programa
7/23/2019 Remember Dig2
10/30
Estructura de un programa
Inicio bcf STATUS,RP0 ; comentariosclrf TRISB
bcf STATUS, RP0
Principal:movwf PORTB
goto inicio
Etiquetas
instrucciones operandos
comentarios
7/23/2019 Remember Dig2
11/30
Etiquetas
Indican una direccion o posicion exacta en el
programa:
000 inicio
03A principal
7/23/2019 Remember Dig2
12/30
Instrucciones
Accion o actividad propia del
microcontrolador.
Traducida a codigo maquina. 010101
movlw = 010 0010 0100
7/23/2019 Remember Dig2
13/30
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
7/23/2019 Remember Dig2
14/30
Numeros, literales o constates
7/23/2019 Remember Dig2
15/30
Conjunto de instrucciones
Se describen a detalle en su Datashet del uC
7/23/2019 Remember Dig2
16/30
Modos de direccionamiento
Direccionamiento implicito
Direccionamiento inmediato
Direccionamiento directo Direccionamiento indirecto
Direccionamiento relativo
Direccionamiento extendido
7/23/2019 Remember Dig2
17/30
Direccionamiento implicito
Ejemplo:
No requiere de operandos
NOP
7/23/2019 Remember Dig2
18/30
inmediato
Incluido en la misma instruccion.
Movlw 3D
7/23/2019 Remember Dig2
19/30
Directo
El dato es transferido hacia, desde un posicion
de memoria particular.
movwf 0x20
Transfiere el valor de w a la posicion 0X20
7/23/2019 Remember Dig2
20/30
Indirecto
Direccion de una posicion de memoria se
obtiene mediante doble referencia.
Cargar el valor de w , usando como base la
direccion 3000.
7/23/2019 Remember Dig2
21/30
Extendido
Permite acceder a todo el espacio de
memoria, la direccion puede tener 2 o 3 bytes
Direccion 301A.
7/23/2019 Remember Dig2
22/30
Instrucciones de tranferencia o
direccionamiento
movf f,d ; mueve f
movwf f ; mueve w a f indirecto movlw k ; mueve una cte k a w inmediato
7/23/2019 Remember Dig2
23/30
HERRAMIENTAS DE DESARROLLO
MPLAB
7/23/2019 Remember Dig2
24/30
GUIA-MPLAB
New project
Michochip EmbedddedStandalone project
Seleccion de device PICXXX
Seleccion Harwdware toolsimulacion Simulator
Seleccion de Compiler mpasm
Project Name [ruta] no elegir main project
Add asm / click derecho set main project
(negrilla)
7/23/2019 Remember Dig2
25/30
RUTA DE LOS P16XXX.INC
C:\Program Files (x86)\Microchip\MPASM
SUITE\
O
C:\Program Files
(x86)\Microchip\MPLABX\mpasmx
7/23/2019 Remember Dig2
26/30
Estructura de un program
; directivasList p=xxxxxxx ; indica tipo de microcontro
Include ; definciones del micro
_config xxxx ; registro de configuracion (WINDOWS/PICMEMORY)
;Configuracion de VariablesOrg 00 ;origen del program o reset
Status, rp0 ; seleccion del banco
TRISTA ; config del port A
Program principal Clrf PORTA
BSF STATUS,RP
END
7/23/2019 Remember Dig2
27/30
Actividad semana 14
Resumir y describir todas las instrucciones
basadas en el PIC PIC16F84A
Implementar los 3 primeros Laboratorios de
la gua
7/23/2019 Remember Dig2
28/30
Practicas para Laboratorio semana 15
Mostrar el control de 2 display que muestre lacuenta de 00 a 99 (variante agregar un displaymas).
Controlar un motore dc, a traves de 2 pulsadoresuno para iniciar y otro para detener. (varianteusar infrarrojos) .
Generar con un pulsador a travez de un puerto elsonido con una frecuencia de 450Hz. (variante
agregar otro buzzer) Mostrar en una pantalla LCD el mensaje hola
mundo (variante otro mensaje)
7/23/2019 Remember Dig2
29/30
Trabajo complementario para
reemplazar nota mas baja o
actividad pendiente
Para ser
7/23/2019 Remember Dig2
30/30
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.
Top Related