Академический Документы
Профессиональный Документы
Культура Документы
de Ingeniera de Gijn
Curso 2003-2004
BIN_BAJO (3Bh)
00000000
Ej: 60h
Ej: 00h
Valor decimal:
24576
SALIDA:
BCD2 (3Ch)
00000010
Ej: 02h
BCD1 (3Dh)
01000101
Ej: 45h
BCD0 (3Eh)
01110110
Ej: 76h
Contador_desp =16
BCD2
BCD1
BCD0
BIN_ALT
BIN_BAJ
Dec. Contador_desp
Si
CONTADOR =0
FIN
No
Ajusto BCDs
CONTADOR
FSR
STATUS
CARRY
TMP
INDIR
EQU
EQU
EQU
EQU
EQU
EQU
0x3F
4
3
0
0x40
0
;Contador de desplazamientos
;Registro para direccionamiento indirecto
;Registro de STATUS
;Posicin temporal auxiliar
;Registro para direccionamiento indirecto
ORG
CALL
0
BINBCD
;Llamamos al subprograma
ESPERA GOTO
ESPERA
0x120
MOVLW
MOVWF
CLRF
CLRF
CLRF
DESPLAZ BCF
RLF
RLF
RLF
RLF
RLF
AJUSTE
0x10
CONTADOR
BCD2
BCD1
BCD0
STATUS,CARRY
BIN_BAJO
BIN_ALTO
BCD0
BCD1
BCD2
DECFSZ
GOTO
RETURN
CONTADOR
AJUSTE
MOVLW
MOVWF
CALL
BCD0
FSR
AJBCD
MOVLW
MOVWF
CALL
BCD1
FSR
AJBCD
MOVLW
MOVWF
CALL
BCD2
FSR
AJBCD
GOTO
DESPLAZ
MOVLW
ADDWF
3
INDIR,W
MOVWF
BTFSC
MOVWF
TMP
TMP,3
INDIR
MOVLW
ADDWF
30
INDIR,W
MOVWF
BTFSC
MOVWF
TMP
TMP,7
INDIR
RETURN
END
3. Se realiza el ensamblado
4. Activamos el simulador
Ejemplo:
BCDL
0101
DATOBCD (30h)
DATOBCD (30h) = 51
SALIDA:
b7b6b5b4
0001
Ejemplo:
b3b2b1b0
0011
BINARIO (31h)
0011
Binario = DIGL
P. alta: DIGH * 2 4
LIST P=16F877
DATOBCD
BINARIO
TEMP
MISMO
STATUS
CARRY
EQU
EQU
EQU
EQU
EQU
EQU
0x30
0x31
0x32
1
3
0
ORG 0
CALL
BCDBIN ;Llamada al subprograma de conversin
ESPERA GOTO
ESPERA ;Nos quedamos esperando en este bucle tras retorno
BCDBIN
ORG
100
MOVLW
ANDWF
MOVWF
0x0F
DATOBCD,W
BINARIO
MOVLW
ANDWF
0xF0
DATOBCD,MISMO
BCF
RRF
MOVF
ADDWF
STATUS,CARRY
DATOBCD
DATOBCD,W
BINARIO,MISMO
RRF
RRF
MOVF
ADDWF
RETURN
DATOBCD
DATOBCD
DATOBCD,W
BINARIO,MISMO
END