Autor Tema: COMO CONTROLAR UN DISPLAY 7 SEGMENTOS  (Leído 2437 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Gianky011077

  • PIC10
  • *
  • Mensajes: 5
COMO CONTROLAR UN DISPLAY 7 SEGMENTOS
« en: 30 de Abril de 2005, 01:48:00 »
Flash

ESTIMADOS DESEO QUE ME AYUDEN......MIREN DESEO CONRYTOLAR UN DISPLAY 7 SEGMENTOS CATODO COMUN............UTILIAZNDO EL PIC 16F84A...........EL DISPLAY DEBE MOSTRARME CUENTAS DE       0 - F.................ESPERO QUE ME PUEDAN AYUDAR CON EL PROGRAMA, YA QUE SOY NUEVO EN LA MATERIA........ADEMAS VOY A UTILIZARLO CON MPLAB 7.0

BUENO GRACIAS DE ANTEMANO.....

Desconectado adrian2a1

  • Colaborador
  • PIC12
  • *****
  • Mensajes: 75
RE: COMO CONTROLAR UN DISPLAY 7 SEGMENTOS
« Respuesta #1 en: 30 de Abril de 2005, 03:26:00 »
Abajo te adjunto un ejemplo de programa sacado de un libro. Su esquema lo tienes es www.ljlopez.com/Proteus.htm .


Codigo:
;************************************ Display_01.asm ************************************
;
;   ===================================================================
;     Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"
;     E. Palacios, F. Remiro y L. López.   www.pic16f84a.com
;      Editorial Ra-Ma.  www.ra-ma.es
;   ===================================================================
;
; En un display de 7 segmentos conectado al Puerto B se visualiza la cantidad leída por
; el Puerto A. Así por ejemplo si por la entrada lee "---0101" en el display visualiza "5".
;
; ZONA DE DATOS **********************************************************************

   LIST   P=16F84A
   __CONFIG   _CP_OFF &  _WDT_OFF & _PWRTE_ON & _XT_OSC
      INCLUDE   <P16F84A.INC>

; ZONA DE CÓDIGOS ********************************************************************

   ORG    0           ; El programa comienza en la dirección 0.
Inicio
   bsf   STATUS,RP0        ; Acceso al Banco 1.
   clrf   PORTB      ; Las líneas del Puerto B se configuran como salida.
   movlw   b"00011111"   ; Las 5 líneas del Puerto A se configuran como entrada.
   movwf   PORTA
   bcf   STATUS,RP0   ; Acceso al Banco 0.
Principal
   movf   PORTA,W      ; Lee la entrada
   andlw   b"00001111"   ; Máscara para quedarse con el valor de las
                                   ; entradas correspondientes al nibble bajo.
   call   Binario_a_7Segmentos ; Convierte código binario a 7 segmentos del display.
   movwf   PORTB      ; Resultado se visualiza por el puerto de salida.
   goto    Principal

; Subrutina "Binario_7Segmentos" --------------------------------------------------------
;
Binario_a_7Segmentos   ; Tabla para display de 7 segmentos.
   addwf   PCL,F   
Tabla   retlw   3Fh   ; El código 7 segmentos para el "0".
   retlw   06h   ; El código 7 segmentos para el "1".
   retlw   5Bh   ; El código 7 segmentos para el "2".
   retlw   4Fh   ; El código 7 segmentos para el "3".
   retlw   66h   ; El código 7 segmentos para el "4".
   retlw   6Dh   ; El código 7 segmentos para el "5".
   retlw   7Dh   ; El código 7 segmentos para el "6".
   retlw   07h   ; El código 7 segmentos para el "7".
   retlw   7Fh   ; El código 7 segmentos para el "8".
   retlw   67h   ; El código 7 segmentos para el "9".
   retlw   77h   ; El código 7 segmentos para la "A".
   retlw   7Ch   ; El código 7 segmentos para la "B".
   retlw   39h   ; El código 7 segmentos para la "C".
   retlw   5Eh   ; El código 7 segmentos para la "D".
   retlw   79h   ; El código 7 segmentos para la "E".
   retlw   71h   ; El código 7 segmentos para la "F".

   END      ; Fin del programa.