Derecho Informatico

Páginas: 13 (3088 palabras) Publicado: 21 de septiembre de 2012
Programas sencillos para el microcontrolador PIC16F877A. | C...

http://www.circuitoselectronicos.org/2009/04/ejemplos-sencill...

CIRCUITOS ELECTRONICOS

TIENDA

FORO

TWITTER

RSS

CONTACTO

BUSCADOR.
¿Buscas algún tema? 8 de abril de 2009 Publicado por Oscar en 11:54

Programas sencillos para el microcontrolador PIC16F877A.
BUSCA POR ETIQUETAS.
Componentes (6)

Editor(11) Electrónica Analógica (10) Electrónica digital (6) Esquemas y Proyectos (9)
Documentales (4)

Manuales
Matemáticas

y

Tutoriales

(18)
(5)

Microcontroladores PIC (33)
Notas (19) Otros (10) Programación
C++ (5) Revistas (7)

Software (10)
En esta ocasión te presentaremos dos sencillos programas escritos en ensamblador para el PIC16F877A. El primero de ellos enciende y apagaun LED conectado al pin RA0 del microcontrolador; mientras que el segundo, prende secuencialmente los LEDs que han sido conectados al puerto B del mismo. Además, aprenderemos a simular nuestro microcontrolador en Isis Proteus e implementaremos físicamente nuestro PIC en el protoboard. - Para esta práctica utilizaremos un programador de PICs, que seguramente encontrarás en tu centro educativo. -Usaremos el compilador gratuito de Microchip “MPLAB IDE” para escribir nuestro programa en ensamblador y obtener el archivo .HEX (utilizado por el programador para grabar el micro). Descargar MPLAB IDE. - Aunque los PICs son resistentes a la estática, debemos tener cuidado de no tocar sus pines. ENCENDIDO DE UN LED. El siguiente código nos permitirá encender y apagar un LED conectado al pin RA0 delPIC.

Ó EN NUESTRO ÍNDICE.
Vea todos los artículos y notas del blog haciendo clic aquí.

__CONFIG _WDT_OFF&_PWRTE_ON&_XT_OSC&_LVP_OFF&_CP_OFF ; Configuración para el programador LIST p=16F877A INCLUDE ORG 0x00 ;Inicio de programa N EQU 0x00 cont1 EQU 0x20 cont2 EQU 0x21 BCF STATUS,RP0 ; Accede a banco 0 BCF STATUS,RP1 CLRF PORTA ; Limpia PORTA BSF STATUS,RP0 ; Accede a banco 1 CLRF TRISA ;Configura todos las patitas de PORTA como salidas BCF STATUS,RP0 ; Regresa a banco 0 Encled BSF PORTA,0 ; La línea RA0 de PORTA toma el valor de 1, se enciende el LED

1 de 9

07/06/2012 12:26 p.m.

Programas sencillos para el microcontrolador PIC16F877A. | C...

http://www.circuitoselectronicos.org/2009/04/ejemplos-sencill...

CALL Retardo ; Llamada a la rutina de retardo BCF PORTA,0 ;La línea RA0 de PORTA toma el valor de 0, se apaga el LED CALL Retardo ; Llamada a la rutina de retardo GOTO Encled ; Va a la etiqueta Encled Retardo ; Rutina de retardo MOVLW N MOVWF cont1 Rep1 MOVLW N MOVWF cont2 Rep2 DECFSZ cont2,1 GOTO Rep2 DECFSZ cont1,1 GOTO Rep1 RETURN ; Retorno a la llamada de rutina de retardo. END ; Fin de programa

Y aquí, nuestro circuito implementado en el protoboardsimplificado.

Para esta práctica hemos utilizado una resistencia (R1) de 10 Kilo Ohms, un cristal (XTAL) de 4 MHz y una resistencia (R2) de 200 a 300 Ohms para limitar la corriente que llegara a nuestro LED. ENCENDIDO SECUENCIAL DE LEDs. Este código nos permitirá encender secuencialmente los LEDs conectados al puerto B del micro, en un ciclo infinito de RB0 a RB7.

__CONFIG_WDT_OFF&_PWRTE_ON&_XT_OSC&_LVP_OFF&_CP_OFF ; Configuración para el programador LIST p=16F877A INCLUDE ORG 0x00 ; Inicio de programa N EQU 0x00 cont1 EQU 0x20 cont2 EQU 0x21 BCF STATUS,RP0 ; Accede a banco 0 BCF STATUS,RP1 CLRF PORTB ; Limpia PORTB BSF STATUS,RP0 ; Accede a banco 1 CLRF TRISB ; Configura todas las patitas de PORTB como salidas BCF STATUS,RP0 ; Regresa a banco 0 BSF PORTB,0 ; La línea RA0 de PORTBtoma el valor 1, se enciende el LED Encledsec CALL Retardo ; Llamada a la rutina de retardo RLF PORTB,1 ; Recorre el bit de RB0 a RB7 GOTO Encledsec ; Va a la etiqueta Encledsec Retardo ; Rutina de retardo MOVLW N MOVWF cont1

2 de 9

07/06/2012 12:26 p.m.

Programas sencillos para el microcontrolador PIC16F877A. | C...

http://www.circuitoselectronicos.org/2009/04/ejemplos-sencill......
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Heramientas Informáticas Derecho Informatico
  • Derecho informatico
  • Derecho Informatico
  • Derecho informatico
  • Derecho informatico
  • Derecho Informatico
  • Derecho informatico
  • Derecho informatico

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS