Monitorea la entrada de un código binario (4 bits) y muestra la selección en BCD mediante 4 leds y en decimal mediante un display.
-Aplicación de Tabla de datos para conversión Hexadecimal a 7 segmentos
Diagrama de conexión:
Prueba:
Programa en Assembler:
;---------------------------------------------------------
;Autor: LONELY113
; http://lonely113.blogspot.com
;
;Programa que muestra codigo seleccionado en binario
;en un display catodo comun de 7 segmentos
;Entradas: Puerto A (Pines RA0-RA3)
;Salidas: Puerto B (Pines RB1-RB7)
;---------------------------------------------------------
include "p16f84a.inc"
list P=16f84a
__CONFIG _WDT_OFF & _XT_OSC
org 0x00 ; Inicio de Programa
bsf STATUS,5 ; Inicio configuracion E/S
movlw 0x0F ; b'00001111'
movwf PORTA ; RA0-RA3 como entradas
clrf PORTB ; Puerto B como salida
bcf STATUS,5 ; Fin configuracion E/s
BEGIN: movf PORTA,0 ; Mueve PORTA a W
call CONV ; Llama a subrutina CONV
movwf PORTB ; Mueve W a PORTB
goto BEGIN ; Bucle infinito
;Subrutinas
CONV addwf PCL ; Conversion hexadecimal a 7 segmentos
retlw 0x7E ; 0
retlw 0x0C ; 1
retlw 0xB6 ; 2
retlw 0x9E ; 3
retlw 0xCC ; 4
retlw 0xDA ; 5
retlw 0xFA ; 6
retlw 0x0E ; 7
retlw 0xFE ; 8
retlw 0xDE ; 9
retlw 0xEE ; A
retlw 0xF8 ; B
retlw 0x72 ; C
retlw 0xBC ; D
retlw 0xF2 ; E
retlw 0xE2 ; F
end ; Fin de programa
****Programa en Pic Basic (Microcode)****
'****************************************************************
'* Name : UNTITLED.BAS *
'* Author : LONELY113 *
'* Notice : Copyright (c) 2011 LONELY113 *
'* : All Rights Reserved *
'* Date : 12/05/2011 *
'* Version : 1.0 *
'* Notes : PIC16F84a *
'* : Entradas de selección hexadecimal RA3-RA0 *
'* : Display cátodo común en RB7-RB0 *
'****************************************************************
@ __config _HS_OSC & _WDT_OFF
DEFINE OSC 10 '10 MHz
trisa=%01111 'RA3-RA0 como entradas
trisb=$00 'PORTB como salida
datain VAR BYTE
dataout VAR BYTE
loop1:
datain=porta 'Seleción en Hexadecimal
LOOKUP datain,[$7E,$0C,$B6,$9E,$CC,$DA,$FA,$0E,$FE,$DE,$EE,$F8,$72,$BC,$F2,$E2],dataout
'Conversión Hexadecimal a 7 segmentos
portb=dataout 'A display
GOTO loop1
END
Archivos .ASM y .HEX
can you please teach me how to write a program.
ResponderEliminar