microcontroladores semana 4

19
WWW.ITSA.EDU.CO VIGILADA MINEDUCACIÓN Elaborado por: Ing. Humberto López WWW.ITSA.EDU.CO VIGILADA MINEDUCACIÓN Elaborado por: Ing. Humberto López Lenguaje Assembler

Upload: humberto-jose

Post on 25-Jan-2017

46 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: 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

Page 2: Microcontroladores Semana 4

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).

Page 3: Microcontroladores Semana 4

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

Page 4: Microcontroladores Semana 4

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

Page 5: Microcontroladores Semana 4

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

Page 6: Microcontroladores Semana 4

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

Page 7: Microcontroladores Semana 4

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

Page 8: Microcontroladores Semana 4

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

Page 9: Microcontroladores Semana 4

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

Page 10: Microcontroladores Semana 4

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

Page 11: Microcontroladores Semana 4

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

Page 12: Microcontroladores Semana 4

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

Page 13: Microcontroladores Semana 4

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

Page 14: Microcontroladores Semana 4

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

Page 15: Microcontroladores Semana 4

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

Page 16: Microcontroladores Semana 4

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)

Page 17: Microcontroladores Semana 4

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

Page 18: Microcontroladores Semana 4

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

Page 19: Microcontroladores Semana 4

WWW.ITSA.EDU.COVIGILADA MINEDUCACIÓN Elaborado por: Ing. Humberto López