Anda di halaman 1dari 9

Universidad Nacional de la Patagonia San Juan Bosco

SISTEMAS DIGITALES II MEDIDOR DE RPM DIGITAL

Integrantes: Legato Daniel. Martnez Cesar. Vega Vernica.

2011

SISTEMAS DIGITALES II

2011

Laboratorio: Medidor de RPM digital.

UNPSJB Facultad de Ingeniera

Contenido
Contenido..............................................................................................................................................2 Introduccin...........................................................................................................................................2 Desarrollo:.............................................................................................................................................3 Subrutina Conversin BCD...............................................................................................................3 Subrrutina BCD..................................................................................................................................6 Conclusin:............................................................................................................................................9

Introduccin
El laboratorio consiste en la implementacin de un contador de revoluciones (RPM) realizado con un micro controlador Motorola HC908JK1 mostrando los valores medidos en tres display de 7 segmentos hasta el nmero 999 rpm. El sistema deber presentar la siguiente funcionalidad: Los pulsos digitales que ingresan por la entrada (Ent. Pulsos) provienen de un sensor que genera un ciclo por cada revolucin de eje de la mquina respectiva (se simula el sensor empleando un generador de pulsos de frecuencia variable). La llave SW1 deber cambiar la escala de medicin: En la posicin (x1) la lectura de los display ser directamente la RPM medidas (hasta 999 rpm) En la posicin (X10) la lectura presentada ser equivalente a un dcimo de las RPM medidas (hasta 9999). El diodo LED DL1 deber destellar cuando la llave selectora este en la posicin X10.

Para poder realizar este trabajo debemos utilizar un temporizar en el modo de interrupcin peridica cada fraccin de segundo como base de tiempo para iniciar el conteo de pulsos y aprovechar la misma para realizar el encendido secuencial de los display (tcnica de multiplexado para display de 7 segmentos).

2 Legato Daniel Martnez Cesar Vega Vernica.

SISTEMAS DIGITALES II Desarrollo:

2011

Laboratorio: Medidor de RPM digital. El desarrollo del programa fue pensado para realizar conteos de pulsos ascendente utilizando una ventana (muestreo) de 1 segundo, los pulsos son ingresados por el pin 4 del puerto D (canal 0) contando la cantidad de flancos ascendentes, para lo cual configuramos el canal 0 para utilizarlo como una funcin de captura de interrupciones en lugar de usar el pin IRQ. Para mostrar los pulsos transformados en RPM los datos son transformados a cdigo BCD y se visualiza a travs de tres display de 7 segmentos

UNPSJB Facultad de Ingeniera

Subrutina Conversin BCD


En esta subrutina se convierte un nmero binario a BCD: El nmero binario a convertir a BCD viene con el valor en RPM, luego de haber pasado por la subrutina swich que transforma el valor de la variable pulsos y la almacena en los registros NUMBINBAJO y NUMBINALTO por ser los valores de 16 bit (dos registros de 8 boits). Luego de la conversin a BCD los valores son guardados en los nibles de CONTBAJO Y CONTALTO, para ser tratados luego por la subrutina BCD.

3 Legato Daniel Martnez Cesar Vega Vernica.

SISTEMAS DIGITALES II

2011

Laboratorio: Medidor de RPM digital.


inicio

UNPSJB Facultad de Ingeniera

numbinbajo numbinalto

Sumo 3

SI

Comparar numero a convertir >=5

NO

NO

Desplazar

ultimo desplazamiento ?

SI FIN

CONVBCD LDA STA LDA STA CLR CLR

PSHH NUMBINBAJO BINARIOBAJO NUMBINALTO BINARIOALTO CONTBAJO CONTALTO ;(NUMBINBAJO)--->(A) ;(A)--->(BINARIOBAJO) ;(NUMBINALT)--->(A) ;(A)--->(BINARIOALT) ;(0)--->(CONTADOR MENOS SIGNIFACATIVO) ;(0)--->(CONTADOR MAS SIGNIFICATIVO) ;(16)--->(CONTEO)

MOV #$10,CONTEO

4 Legato Daniel Martnez Cesar Vega Vernica.

SISTEMAS DIGITALES II

2011

Laboratorio: Medidor de RPM digital. ;INICIO EL AJUSTE PARA CONVERTIR EL NUMERO BINARIO QUE ESTA DIVIDIDO EN NUMBINALTO Y NUMBINBAJO POR SER DE 16 BIT

UNPSJB Facultad de Ingeniera

SIGO

LDA TAX AND SUB

CONTBAJO

;(CONT)--->(A) ; (A)--->(X)

#$0F #$05

; multiplicar (A) bit a bit por $0F ; restar $05 a (A)

BMI SALTO1 ; saltar si el resultado es negativo a la etiqueta SALTO1 QUIERE DECIR QUE ES MENOR QUE 5 AIX #$03 ;(X)+$03

;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ SALTO1 AND SUB BMI AIX TXA #$F0 #$50 SALTO2 #$30 ; (X)--->(A) ; multiplicar (A) bit a bit por $F0 ; restar $50 a (A) ; saltar si el resultado es negativo a la etiqueta SALTO2 ;(X)+$30

;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ SALTO2 STX LDA TAX AND SUB #$0F #$05 CONTBAJO CONTALTO ; GUARDO LA PARTE BAJA DEL BCD unidad y decena ; (A)--->(CONT) ; (A)--->(X) ; multiplicar(A) bit a bit por $0F ; restar $05 a (A)

BMI SALTO3 ; saltar si el resultado es negativo a la etiqueta SALTO3 QUIERE DECIR QUE ES MENOR QUE 5 AIX #$03 ;(X)+$03

5 Legato Daniel Martnez Cesar Vega Vernica.

SISTEMAS DIGITALES II

2011

Laboratorio: Medidor de RPM digital. ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ SALTO3 STX ASL ROL ROL ROL CONTALTO ;(X)--->(CONT) el numero bcdatlo esta en CONTALTO ;desplazamiento aritmtico de (BINARIOBAJO) ;rotar a la izquierda a travs del carry (BINARIOALTO) ;rotar a la izquierda a travs del carry ;rotar a la izquierda a travs del carry ;(CONTEO)-1 Y saltar a etiqueta SIGO si no es 0

UNPSJB Facultad de Ingeniera

BINARIOBAJO BINARIOALTO CONTBAJO CONTALTO

DBNZ CONTEO,SIGO PULH RTS

;fin subrutina

Subrrutina BCD
Esta subrutina se encarga de almacenar los valores de los nibles de CONTALTO Y CONTBAJO en las variables UNIDAD, DECENA y CENTENA. Y adems de verificar si excede la medicin que esta almacenada en PULSOS el valor de 999 en SWx1 o 9999en SWx10, en tal caso carga el valor de $0F en las variables UNIDAD, DECENA y CENTENA mostrando el cartel Err en los displays.

6 Legato Daniel Martnez Cesar Vega Vernica.

SISTEMAS DIGITALES II
inicio

2011

Laboratorio: Medidor de RPM digital.

UNPSJB Facultad de Ingeniera

CONTALTO, CONTBAJO, BIT 3 PUERTO B

PULSOS>=167

SI

BIT 3 PUERTO B =1

NO

PULSOS>=17

si Cargo $0F en UNIDAD, DECENA y CENTENA

si Cargo $0F en UNIDAD, DECENA y CENTENA

Separo los nibles de CONTBAJO y los guardo en UNIDAD y DECENA. Guardo nible de CONTALTO en CENTENA.

FIN

BCD

PSHH BRSET 3,PORTD,POR10

POR1

LDA SUB BPL BRA

PULSOS #!17 ERRORR SALIR ;A=A-OPERNADO

POR10

CLC

;BORRA BIT CARRY 7 Legato Daniel Martnez Cesar Vega Vernica.

SISTEMAS DIGITALES II
LDA ADC BCS CARRY ESTE EN 1 BRA

2011

Laboratorio: Medidor de RPM digital. PULSOS ;CARGO EN A <=PULSOS #!89 ERRORR SALIR ;A=A+89+CARRY PULSOS+89+CARRY ;SALTAR A ETIQUETA ERRORR CUANDO EL ;SALTAR A ETIQUETA SALIR

UNPSJB Facultad de Ingeniera

ERRORR

LDA STA LDA STA LDA STA BRA

$0F UNIDAD $0F DECENA $0E CENTENA FINBCD

;(CONT)--->(A) ;(A)--->(CONTL) ;(CONTBAJO)--->(A) ;(A)--->(CONTH) ;(CONTALTO)--->(A) ;(A)--->(CONTH)

SALIR

LDA AND STA LDA NSA AND STA LDA AND STA

CONTBAJO #%00001111 UNIDAD CONTBAJO

;(CONT)--->(A) ;(A)*%00001111, elimina los 4bits MSB ;(A)--->(CONTL) ;(CONTBAJO)--->(A) ;intercambiar nibles de A

#%00001111 DECENA CONTALTO #%00001111 CENTENA

;(A)*%00001111, elimina los 4bits MSB ;(A)--->(CONTH) ;(CONTALTO)--->(A) ;(A)*%00001111, elimina los 4bits MSB ;(A)--->(CONTH)

FINBCD

PULH RTS ;fin subrutina

8 Legato Daniel Martnez Cesar Vega Vernica.

SISTEMAS DIGITALES II Conclusin:

2011

Laboratorio: Medidor de RPM digital.

UNPSJB Facultad de Ingeniera

9 Legato Daniel Martnez Cesar Vega Vernica.

Anda mungkin juga menyukai