miércoles, 2 de marzo de 2011

Multiplexaje de Display

Programa para PIC16F84A


El programa consiste en controlar la visualización simultánea en 4 display cátodo común de 7 segmentos utilizando el método de multiplexaje para optimizar el uso de pines del PIC.

Diagrama de Conexión:


Funcionamiento:
  • Se deshabilitan todos los displays (RA3-RA0=1111).
  • Se envía dato a mostrar al Puerto B (RB1-RB7).
  • Se habilita el display que mostrará el dato (Por ejemplo Display 1 à RA0=0).
  • Se deshabilita Display (Por ejemplo Display 1 à RA0=1).
  •  Se envía nuevo dato al Puerto B.
  • Se habilita el display que mostrará el dato.
  • Se deshabilita el display.
  • El procedimiento continúa hasta enviar 4 datos a los 4 displays.
  • Todo el proceso se repite endefinidamente. El ojo humano no llega a notar el parpadeo de los displays pues ocurre a muy alta frecuencia, por lo tanto se percibe como si los 4 displays estuvieran iluminados y mostrando los 4 datos simultáneamente.
  • El diagrama siguiente muestra el funcionamiento:

 Prueba


  Programa en Assembler:


;-----------------------------------------------------------
;Autor: LONELY113
; http://lonely113.blogspot.com
;
;Programa que multiplexa 4 display y mostrar el mensaje HOLA
;Salidas: Puerto B (RB1-RB7) 7 segmentos de display
;   Puerto A (RA0-RA3) habilitacion de display 
;Tipo de display: Catodo comun
;-----------------------------------------------------------
include "p16f84a.inc"
list P=16f84a

__CONFIG _WDT_OFF & _XT_OSC

CHAR1 equ 0x0C
CHAR2 equ 0x0D
CHAR3 equ 0x0E
CHAR4 equ 0x0F

 org 0x00  ; Inicio de programa
 bsf STATUS,5 ; Inicio configuracion de E/S
 clrf PORTA  ; Puerto A como salida
 clrf PORTB  ; Puerto B como salida
 bcf STATUS,5 ; Fin configuracion E/S
 call SAVE  ; Llama a subrutina SAVE
BEGIN: movlw   0x0F  ; b'00001111'
 movf PORTA  ; deshabilita los display
 movf CHAR1,0  
 movwf PORTB  ; Mover CHAR1 a puerto B
 bcf PORTA,3  ; Habilitar Display1 
 bsf PORTA,3  ; Deshabilitar Display1
 movf CHAR2,0  
 movwf PORTB  ; Mover CHAR2 a puerto B
 bcf PORTA,2  ; Habilita Display2
 bsf PORTA,2  ; Deshabilita Display2
 movf CHAR3,0  
 movwf PORTB  ; Mover CHAR3 a puerto B
 bcf PORTA,1  ; Habilita Display3
 bsf PORTA,1  ; Deshabilita Display3
 movf CHAR4,0  
 movwf PORTB  ; Mover CHAR4 a puerto B
 bcf PORTA,0  ; Habilita Display4
 bsf PORTA,0  ; Deshabilita Display4
 goto BEGIN  

;Subrutinas
SAVE movlw 0xEC
 movwf CHAR1  ; Caracter H
 movlw 0x7E
 movwf CHAR2  ; Caracter O
 movlw 0x70
 movwf CHAR3  ; Caracter L
 movlw 0xEE
 movwf CHAR4  ; Caracter A
 return

 end   ; Fin de programa



Archivos .ASM y .HEX

Descargar

No hay comentarios:

Publicar un comentario