Binario 8 bits a bcd
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC & _BODEN_OFF & _LVP_OFF
CBLOCK 20h NUMERO1 NUMERO2BCDH BCDL CUENTA BIN BCD_TEMP ENDC org goto org Inicio en BANCO 0 y 1 movlw movwf digitales clrf clrf movlw movwf bcf Borra clrf clrf clrf TRISB TRISC b'11111111' TRISA STATUS,RP0 PORTA PORTBPORTC ;Si se ha presionado ve ;Si se ha presionado ve ;PORTB salida ;PORTC salida ;PORTA entradas ;voy a banco 0 0X06 ADCON1 ;todas las E/S bsf bcf 0x00 Inicio 0x05 STATUS,RP0 STATUS,RP1 ;Ir banco 1;siempre se pone a cero
Principal btfss PORTA,0 a NUM_1, sino vete a la linea siguiente goto NUM_1 btfss PORTA,1 a NUM_2, sino vete a la linea siguiente goto NUM_2 goto Principal NUM_1 registroconversión movf movwf movf BCDL,w PORTB BCDH,w Página 1 movlw movwf call b'00000001' BIN Convierte
;carga el número 1 en ;llama a rutina
movwf call goto NUM_2 registro conversión movfmovwf movf movwf call goto Convierte clrf clrf movlw movwf Conversion1 bcf rlf rlf rlf decfsz goto goto movlw andwf movwf movlw subwf btfsc call movlw andwf movwf movlw subwf btfsc call goto returnmovlw addwf btfss return rlf return movlw addwf btfss return rlf return INCLUDE END movlw movwf call
BINARIO_BCD PORTC Retardo_5s Borra b'10000000' BIN Convierte BCDL,w PORTB BCDH,w PORTCRetardo_5s Borra BCDH BCDL d'8' CUENTA STATUS,C BIN,f BCDL,f BCDH,f CUENTA,f $+2 TERMINA_CONVERSION b'00001111' BCDL,w BCD_TEMP 0x05 BCD_TEMP,w STATUS,C SUMA0x03 b'11110000' BCDL,w BCD_TEMP 0x50BCD_TEMP,w STATUS,C SUMA0x30 Conversion1 ;carga el número 128 en ;llama a rutina
TERMINA_CONVERSION SUMA0x03
0x03 BCDL,f STATUS,C BCDH,f 0x30 BCDL,f STATUS,C BCDH,f
SUMA0x30
Página 2
Regístrate para leer el documento completo.