Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porCasilda Maldonado Modificado hace 9 años
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
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
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
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
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
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.