Escolar Documentos
Profissional Documentos
Cultura Documentos
Ingeniería Electrónica
Ing. Sandra Aznarán Guevara
Tema: Microcontrolador
ARQUITECTURA HARVARD
16F628A
13 BITS 7 BITS
ALGUNOS TIPS PARA REPASAR Y RECORDAR
OR Exclusiva: (xor)
Bits iguales producen como resultado un cero (A = B = 0)
Bits diferentes producen como resultado un uno (A ≠ B = 1)
SISTEMAS DE NUMERACIÓN
Decimal Hexadecimal Binario
(Formato 4 bits BCD)
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
10 A 1010
11 B 1011
12 C 1100
13 D 1101
14 E 1110
15 F 1111
REGISTROS Y BANCOS
DIRECTIVA EQU
La directiva EQU permite asignar a un registro o constante, un nombre asociado que facilita su
entendimiento.
Ejemplo:
DATOX EQU 20H
DATOY EQU 21H
STATUS EQU 03H
F EQU 01H
INCLUDE .INC
El uso del INCLUDE, nos permite incluir en nuestro proyecto, una plantilla que nos ahorra el
trabajo de declarar todos los registros de Funciones Especiales (SFR).
Es importante destacar, que en esta plantilla, todos los registros están declarados en mayúscula.
Por lo que durante la elaboración de un programa, se debe respetar este formato.
Ejemplo:
INCLUDE <P16F84.INC> ó INCLUDE P16F84.INC
ESTRUCTURA DE UN PROGRAMA
Encabezado
En general un programa está estructurado en tres
grandes partes:
Configuración, 1) Encabezado: Define el tipo de PIC con que se está
Declaración de trabajando, Bloque de declaraciones de variables y
Registros, Datos, constantes,
Constantes.
2) Configuración de registros especiales: Registro
OPTION, INTCON, TMR0, puertos A y B, EECON,
STATUS.
org
3) Cuerpo del programa: Aquí están contenidas todas las
Cuerpo del Programa instrucciones relacionadas a la ejecución de un
programa bajo un diseño individual, realizado por el
programador.
end
ESTRUCTURA DE UN PROGRAMA
1. En todo programa se debe incluir cual es el tipo de PIC que se empleará, incluir librerías y configurarlo:
List P= 16F84A ; Tipo de PIC a utilizar
include < p=16F84.inc> ; Librería asociada al PIC que se está utilizando
3. Se emplean signos para efectuar determinadas consideraciones, por ejemplo: (;) que se emplea para
colocar comentarios. El programa no toma en cuenta todo lo que está en una línea luego de dicho
símbolo.
ESTRUCTURA DE UN PROGRAMA
INICIO
bsf STATUS,5
movlw FFH ; Configuramos los registros
movwf TRISA ; asociados a los puertos A y B
movlw 00H
movwf TRISB
Ejemplo:
MOVWF
Sintaxis: MOVWF F
Ejemplo:
BCF
Sintaxis: BCF F,b
Pone a cero el bit b del registro F.
Ejemplo:
INCF
Sintaxis: INCF F,d
Incrementa en 1 el registro F
Ejemplo:
Si tenemos un registro DIA=7, Aplicamos la instrucción:
INCFSZ
Sintaxis: INCFSZ F,d
Incrementa en 1 el registro F y si el valor de d es cero entonces salta a
otra instrucción.
Ejemplo:
INCFSZ VALOR, w
INSTRUCCIÓN 1 ; si W diferente de 0
INSTRUCCIÓN 2 ; si W=0
DECFSZ
Sintaxis: DECFSZ f,d
Decrementa el registro F y si resultado es 0 se salta una instrucción.
Ejemplo:
DECFSZ VALOR, w
INSTRUCCIÓN 1 ; si W diferente de 0
INSTRUCCIÓN 2 ; si W=0
INCFSZ
Sintaxis: INCFSZ F,d
Incrementa en 1 el registro F y si el valor de d es cero entonces salta a
otra instrucción.
Ejemplo:
INCFSZ VALOR, w
INSTRUCCIÓN 1 ; si W diferente de 0
INSTRUCCIÓN 2 ; si W=0
BTFSC
BTFSS
ADDLW
ADDWF
SUBLW
SUBWF
CLRW
CLRF
CALL
GOTO
RETURN
RETLW
RLF
RRF
SWAPF
ANDLW
ANDWF
IORLW
XORLW
XORWF
SLEEP
COMF
RESUMEN:
RESUMEN:
EJEMPLO :