Mplab

Páginas: 2 (341 palabras) Publicado: 4 de noviembre de 2010
;******************************** Librería "BIN_BCD.INC" ********************************
;
; ===================================================================
; Del libro "MICROCONTROLADORPIC16F84. DESARROLLO DE PROYECTOS"
; E. Palacios, F. Remiro y L. López. www.pic16f84a.com
; Editorial Ra-Ma. www.ra-ma.es
; ===================================================================;
; Un número binario natural de 8 bits es convertido a BCD. El resultado se guarda en tres
; posiciones de memorias llamadas: BCD_Centenas, BCD_Decenas y BCD_Unidades.
;
; El procedimientoutilizado es mediante restas de 10, tal como se explicó en el capítulo 9.
;
; Entrada: En el registro W el número binario natural a convertir.
; Salidas: En (BCD_Centenas), (BCD_Decenas) y(BCD_Unidades).
; En el registro W también las decenas (nibble alto) y unidades (nibble bajo).

; Subrutina "BIN_a_BCD" -----------------------------------------------------------------

CBLOCK ; Enlas subrutinas no se debe fijar la dirección
BCD_Centenas ; de la RAM de usuario. Se toma a continuación de
BCD_Decenas ; la última asignada.
BCD_Unidades
ENDC
;
BIN_a_BCD
clrfBCD_Centenas ; Carga los registros con el resultado inicial.
clrf BCD_Decenas ; En principio las centenas y decenas a cero.
movwf BCD_Unidades ; Se carga el número binario a convertir.BCD_Resta10
movlw .10 ; A las unidades se les va restando 10 en cada
subwf BCD_Unidades,W ; pasada. (W)=(BCD_Unidades) -10.
btfss STATUS,C ; ¿C = 1?, ¿(W) positivo?, ¿(BCD_Unidades)>=10?
gotoBIN_BCD_Fin ; No, es menor de 10. Se acabó.
BCD_IncrementaDecenas
movwf BCD_Unidades ; Recupera lo que queda por restar.
incf BCD_Decenas,F ; Incrementa las decenas y comprueba si ha llegadomovlw .10 ; a 10. Lo hace mediante una resta.
subwf BCD_Decenas,W ; (W)=(BCD_Decenas)-10).
btfss STATUS,C ; ¿C = 1?, ¿(W) positivo?, ¿(BCD_Decenas)>=10?
goto BCD_Resta10 ; No. Vuelve...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Mplab
  • Mplab
  • Retardos en mplab
  • Directivas de mplab
  • Interrupciones Mplab
  • Manejor de mplab
  • tutorial mplab
  • Practica De Mplab

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS