1 / 21

PROGRAMACION DEL MICROCONTROLODADOR PIC16F877

PROGRAMACION DEL MICROCONTROLODADOR PIC16F877. Ing. Carlos Guerra Cordero. INTRODUCCION Los Microcontroladores son utilizados en muchas áreas de la actividad humana como: electrónica de consumo, telecomunicaciones, automotriz, domótica, etc.

cutler
Download Presentation

PROGRAMACION DEL MICROCONTROLODADOR PIC16F877

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. ARQUITECTURA DE LA GAMA MEDIA C = 2{13} x 14 Bit’s = 8192 Instrucciones = 8 KBytes

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

  7. Determinar las instrucciones de la arquitectura de la gama media • Instrucciones con Inmediato: • Aritmético: • ADDLW INMED ; (W ← INMED + W) • SUBLW INMED ; (W ← INMED – W) • Lógicos: • ANDLW INMED ; (W ← INMED AND W) • IORLW INMED ; (W ← INMED OR W) • XORLW INMED ; (W ← INMED XOR W) • Transferencia: • MOVLW INMED ; (W ← INMED) • RETLW INMED ; (W ← INMED)

  8. b) Instrucción con Acceso a Memoria: Aritmético: ADDWF F, d ; (d ← {dato} + W) SUBWF F, d ; (d ← {dato} – W) Lógico: ANDWF F, d ; (d ← {dato} AND W) IORWF F, d ; (d ← {dato} OR W) XORWF F, d ; (d ← {dato} XOR W) --------------------------------------------------------------------------------------------------------------------------------- INCF F, d ; (d ← {dato} + 1) DECF F, d ; (d ← {dato} – 1) MOVF F, d ; (d ← {dato}) SWAPF F, d ; (Intercambiar) COMF F, d ; (d ← {dato}’) RLF F, d ; (Rotar Izquierda) RRF F, d ; (Rotar Derecha) ---------------------------------------------------------------------------------------------------------------------------------- INCFSZ F, d ; (Incrementar y saltar cero) DECFSZ F, d ; (Decrementar y saltar cero)

  9. c) Instrucciones para manipular bit´s: a) Escritura (Forzar) BSF F, Bit ; (poner “1” en la dirección del bit) BCF F, Bit ; (poner “0” en la dirección del bit) b) Lectura (Testear) BTFSS F, Bit ; (¿Bit = 1?) BTFSC F, Bit ; (¿Bit = 0?) ------------------------------------------------------------------------------------------------------------ d) Instrucciones de salto: GOTO Dirección CALL Dirección

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

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

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

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

  14. ; Activar Led LIST P=16F877 INCLUDE <P16F877.INC> ORG 0000H CLRF PORTB ; 00000000 BSF STATUS,RP0 ; BNK-1 BCF TRISB,0 ; RBO COMO SALIDA BCF STATUS,RP0 ; BNK 0 BSF PORTB,0 ; LED ON GOTO $ END

  15. ; Controlar el Led con un Boton LIST P=16F877 INCLUDE <P16f877.INC> ORG 0000H BSF STATUS,RP0 ; BNK-1 BSF TRISC,0 ; RC0 COMO ENTRADA BCF TRISB,0 ; RB0 COMO SALIDA BCF STATUS,RP0 ; BNK-0 ;------------------------------------------------------------------------------------------------------------------------------------ TESTEA BTFSS PORTC,0 ; ¿RC0=1? GOTO ACTIVAR APAGAR BCF PORTB,0 ; (LED OFF)(RB0=0) GOTO TESTEA ACTIVAR BSF PORTB,0 ; (LED ON)(RB0=1) GOTO TESTEA END

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

  17. Problema 3 FIN

More Related