Microcontroladores Semana 4
-
Upload
humberto-jose -
Category
Engineering
-
view
49 -
download
0
Transcript of Microcontroladores Semana 4
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN Elaborado por: Ing. Humberto López WWW.ITSA.EDU.CO
VIGILADA MINEDUCACIÓNElaborado por: Ing. Humberto López
Lenguaje Assembler
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN Elaborado por: Ing. Humberto López
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN
PIC16F887
El PIC16F887 pertenece a la gama media y es de tipo RISC; esto significa que tiene un set de instrucciones reducido, 35 instrucciones o nemónicos que son la base de funcionamiento del PIC.
Las instrucciones fundamentalmente se dividen en tres tipos. Esta división viene dada por el tipo de datos con los que trabajan:• Instrucciones orientadas a los registros o bytes (byte-oriented
operations).• Instrucciones orientadas a los bits (bit-oriented operations).• Operaciones con literales y de control (literal and control operations).
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN Elaborado por: Ing. Humberto López
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN
GlosarioLetra Descripción Modo de trabajo
w Registro de trabajof Registro cualquierad Destino de
almacenamientoAlmacena en ‘w’ si d= 0Almacena en ‘f’ si d= 1
b Posición del Bitk Literal
C Acarreo en bit de mayor peso
C= 1 si hay acarreoC= 0 si no hay acarreo
DC Acarreo del bit 3 al bit 4 DC= 1 si hay acarreoDC= 0 si no hay acarreo
Z Bandera de cero Z= 0 si la operación da cero
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN Elaborado por: Ing. Humberto López
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN
Representación de los datos
Formato SintaxisBinario B’00001010’
Decimal .1010
Hexadecimalh’0A’0x0A0Ah
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN Elaborado por: Ing. Humberto López
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN
Instrucciones Assembler
Operaciones del banco de registros orientados a BYTEOperaciones aritméticas y lógicas Incremento y
decremento Rotación de
bit Movimiento Borrado de archivos W y F
ADDWF INCF RLF MOVF CLRF
SUBWF INCFSZ RRF MOVWF CLRW
ANDWF DECF SWAPF
IORWF DECFSZ
XORWF
NOP
COMF
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN Elaborado por: Ing. Humberto López
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN
Instrucciones Assembler
Operaciones del banco de registros orientados a BITAsignación de bit Condicional
BCF BTFSC
BSF BTFSS
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN Elaborado por: Ing. Humberto López
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN
Instrucciones Assembler
Operaciones de control y literalOperaciones aritméticas y lógicas Saltos y llamadas Movimiento Borrado del
watchdogADDLW GOTO MOVLW CLRWDT
SUBLW CALL
ANDLW RETURN
IORLW RETFIE
XORLW RETLW
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN Elaborado por: Ing. Humberto López
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN
Organización del programa
Inicio BSF STATUS, 5 ;comentarioCLRF TRISB BCF STATUS, 5MOVLW CONSTANTE
Etiqueta Instrucción Operando Comentario
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN Elaborado por: Ing. Humberto López
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN
Orden del programaSelección y configuración del PIC
Asignación de variables
Iniciar PIC en el registro 0x00
Configuracion de los pines I/OE inicializacion de variables
Subrutinas 1 Subrutinas 2 Subrutinas 3
Programa principal
Fin
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN Elaborado por: Ing. Humberto López
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN
Selección PIC y configuración
LIST P=16F887 ; Procesador utilizado
INCLUDE <P16F887.INC> ; Fichero para definir etiquetas del PIC
_CONFIG __CONFIG _CONFIG1, _LVP_OFF & _FCMEN_ON & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_ON & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT __CONFIG _CONFIG2, _WRT_OFF & _BOR21V
; configuracion del PIC
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN Elaborado por: Ing. Humberto López
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN
Glosario de configuración PIC_CP_OFF: Protección de código DESACTIVADO._DEBUG_OFF: Debug en circuito DESACTIVADO._WRT_PROTECT_OFF: Protección a escritura en memoria de programa DESACTIVADO._CPD_OFF: Protección de código de datos DESACTIVADO._LVP_OFF: Programación en baja tensión DESACTIVADO._BODEN_OFF: Reset por Brown-out DESACTIVADO._MCLRE_ON: Reset por pin externo ACTIVADO._PWRTE_ON: Retraso al reset ACTIVADO._WDT_OFF: Watchdog DESACTIVADO._XT_OSC: Oscilador externo del tipo XT._IESO_OFF: Modo de intercambio de externo a interno DESACTIVADO._FCMEN_OFF: Monitor de CLK DESACTIVADO
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN Elaborado por: Ing. Humberto López
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN
Otros PIC utilizados
• PIC16F84A__CONFIG _CP_OFF & _WDT_ON & _PWRTE_ON & _RC_OSC
• PIC16F628A__CONFIG _CP_OFF & _DATA_CP_OFF & _LVP_OFF & _BOREN_OFF & _MCLRE_ON & _WDT_OFF & _PWRTE_ON & _INTOSC_OSC_NOCLKOUT
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN Elaborado por: Ing. Humberto López
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN
Asignación de variables
Nombre de la variable Instrucción DirecciónDato1 EQU 20h ; declara desde donde desea arrancar
el registro para almacenar variables con el valor de 0
Dato2 EQU 30hVariable EQU 31hcontador EQU 32h
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN Elaborado por: Ing. Humberto López
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN
Asignación variables con CBLOCK
cblock 0x20
; declara desde donde desea arrancar el registro para almacenar variables con el valor de 0
d1 d2 d3
endc
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN Elaborado por: Ing. Humberto López
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN
Rutina de retardo 1 ciclo
RETARDO
MOVLW N
MOVWF CONT
CICLO DECFSZ CONT,F
GOTO CICLO
RETURN
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN Elaborado por: Ing. Humberto López
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN
Rutina de retardo 2 ciclosRETARDO
MOVLW M ; 1MOVWF CONT2 ; 1
CICLO2 MOVLW N ; 1MOVWF CONT ; 1
CICLO DECFSZ CONT,F ; 1*(N-1)+2
GOTO CICLO ; 2*(N-1)
DECFSZ CONT2,F ; 1*(M-1)+2
GOTO CICLO2 ; 2*(M-1)
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN Elaborado por: Ing. Humberto López
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN
Rutina de retardo 3 ciclosRETARDO
MOVLW PMOVWF CONT3
CICLO3 MOVLW MMOVWF CONT2
CICLO2 MOVLW NMOVWF CONT
CICLO DECFSZ CONT,FGOTO CICLODECFSZ CONT2,FGOTO CICLO2DECFSZ CONT2,FGOTO CICLO3
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN Elaborado por: Ing. Humberto López
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN
Rutina de retardo con TMR0
TEMP MOVLW .5MOVWF TMR0BTFSS INTCON,2GOTO -$1BCF INTCON,2DECFSZ CONT,1GOTO -$6MOVF CONTA,0MOVWF CONTRETURN
* (255-TMR0) * PreEscaler
WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN Elaborado por: Ing. Humberto López