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