La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

PROGRAMACION DEL MICROCONTROLODADOR PIC16F877 Ing. Carlos Guerra Cordero.

Presentaciones similares


Presentación del tema: "PROGRAMACION DEL MICROCONTROLODADOR PIC16F877 Ing. Carlos Guerra Cordero."— Transcripción de la presentación:

1 PROGRAMACION DEL MICROCONTROLODADOR PIC16F877 Ing. Carlos Guerra Cordero

2 INTRODUCCION Los Microcontroladores son utilizados en muchas áreas de la actividad humana como: electrónica de consumo, telecomunicaciones, automotriz, domótica, etc. El microprocesador esta diseñado para buscar, decodificar y ejecutar instrucciones sin detenerse. La diferencia entre un microcontrolador y un microprocesador, es que en este ultimo la memoria es externa requiriendo de un bus de datos y direcciones. Un microcontrolador es un dispositivo que integra el CPU, la memoria y los puertos de entrada y salida.

3 Objetivos Determinar las características de los microcontroladores Determinar las instrucciones de la arquitectura de la gama media Programar instrucciones aplicados a sistemas digítales del uCo. 16F877

4 Características de los uCo. PIC16F877 Arquitectura es Harvard Usa arquitectura en la Gama Baja, Media y Alta Lenguaje de Maquina Interpreta las instrucciones, que indican el código de operación y los operandos Usa el software MPLAB para la programación Usa el PROTEUS como herramienta de simulación

5

6 ARQUITECTURA DE LA GAMA MEDIA C = 2{13} x 14 Bit’s = 8192 Instrucciones = 8 KBytes

7 C = 2{7} x 8 Bit’s = 128 Bytes

8 Determinar las instrucciones de la arquitectura de la gama media a)Instrucciones con Inmediato: Aritmético: ADDLWINMED; (W ← INMED + W) SUBLWINMED; (W ← INMED – W) Lógicos: ANDLWINMED; (W ← INMED AND W) IORLWINMED; (W ← INMED OR W) XORLWINMED; (W ← INMED XOR W) Transferencia: MOVLWINMED; (W ← INMED) RETLWINMED; (W ← INMED)

9 b) Instrucción con Acceso a Memoria: Aritmético: ADDWFF, d; (d ← {dato} + W) SUBWFF, d; (d ← {dato} – W) Lógico: ANDWFF, d; (d ← {dato} AND W) IORWFF, d; (d ← {dato} OR W) XORWFF, d; (d ← {dato} XOR W) --------------------------------------------------------------------------------------------------------------------------------- INCFF, d; (d ← {dato} + 1) DECFF, d; (d ← {dato} – 1) MOVFF, d; (d ← {dato}) SWAPFF, d; (Intercambiar) COMFF, d; (d ← {dato}’) RLFF, d; (Rotar Izquierda) RRFF, d; (Rotar Derecha) ---------------------------------------------------------------------------------------------------------------------------------- INCFSZF, d; (Incrementar y saltar cero) DECFSZF, d; (Decrementar y saltar cero)

10 c) Instrucciones para manipular bit´s: a) Escritura (Forzar) BSFF, Bit; (poner “1” en la dirección del bit) BCFF, Bit; (poner “0” en la dirección del bit) b) Lectura (Testear) BTFSSF, Bit; (¿Bit = 1?) BTFSCF, Bit; (¿Bit = 0?) ------------------------------------------------------------------------------------------------------------ d) Instrucciones de salto: GOTODirección CALLDirección

11 Otras Instrucciones: CLRW; Borrar Instrucción CLRF; Borrar Dirección MOVWF F; (Mover W → Dirección) SLEEP; Descansa CLRWDT; Perro Guardián NOP; No hace nada

12 SFR : Son registros propios del CPU que se encuentran en la memoria de datos, y son: STATUS, INDF, FSR, INTCON, PLC y PCLATH

13 Hay parte de los registros del CPU que se encuentran en la memoria de datos Configuran los puertos como entrada/salida: * TRISX (A, B, C, D, E) ; Define la configuración de los puertos y determina el sentido (in/out) TRSIB { 1 = Entrada y 0 = Salida } * PORTX (A, B, C, D, E); Determina si entra “0” o “1” al puerto Registro de Control

14

15 USO DEL MPLAB: MPLAB ← Proyect – New ← Configure – Select Device ← Project – Set Language Tool Locations ← microchip MPASM Toolsuite Executables MPASM Assembler (mpasmwin.exe) OK Debugger ← Select Tool – MPLAB SIM ← File – New ← Despues de copiar el archivo fuente, procedemos a guardarlo en una carpeta Simulación en Proteus 6 Professional C ← Program Files – Labcenter Electronics – Proteus 6 Professional – BIN – ISIS - yes

16 ; Activar Led LISTP=16F877 INCLUDE ORG0000H CLRFPORTB; 00000000 BSFSTATUS,RP0; BNK-1 BCFTRISB,0; RBO COMO SALIDA BCFSTATUS,RP0; BNK 0 BSFPORTB,0; LED ON GOTO$ END

17

18 ; Controlar el Led con un Boton LISTP=16F877 INCLUDE ORG0000H BSFSTATUS,RP0; BNK-1 BSFTRISC,0; RC0 COMO ENTRADA BCFTRISB,0; RB0 COMO SALIDA BCFSTATUS,RP0; BNK-0 ;------------------------------------------------------------------------------------------------------------------------------------ TESTEA BTFSSPORTC,0; ¿RC0=1? GOTOACTIVAR APAGAR BCFPORTB,0; (LED OFF)(RB0=0) GOTOTESTEA ACTIVAR BSFPORTB,0; (LED ON)(RB0=1) GOTOTESTEA END

19

20 LABORATORIO # 3 Hacer un programa y simularlo y que haga lo siguiente: 1.-Hay 8 Led’s conectados al puerto “B” y que se comporte como un contador 2.- Se desea que el Led se desplace a la izquierda uno a la vez y debe retroceder y así sucesivamente. 3.-Que en el Display salga los # de 0 al 9 Problema 1 Problema 2

21 Problema 3 FIN


Descargar ppt "PROGRAMACION DEL MICROCONTROLODADOR PIC16F877 Ing. Carlos Guerra Cordero."

Presentaciones similares


Anuncios Google