Microcontroladores - Tecnico

 
Vista:

Tecnico

Publicado por Desesperado (1 intervención) el 09/09/2008 04:20:22
Alguien me podria ayudar con unos programas con el pic 16f877?
1.- un programa que lea un dato de cuatro bits del puerto B, lo multiplique por 5 y muestre el resultado en el puerto C.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Tecnico

Publicado por Guillermo (40 intervenciones) el 12/09/2008 13:42:53
en C:

PORTC = (PORTB & 0xF) * 5

en ASM:

movf PORTB, W
andlw 0xF
movwf var1
movwf var2
bcf STATUS, C
rlf var1, F
rlf var1, W
addwf VAR2, W
movwf PORTC

este ultimo en asm, lo que hace es la siguiente formula:

PORTC = PORTB *5
PORTC = PORTB*(4+1)
PORTC = PORTB*4 + PORTB
PORTC = PORTB<<2 + PORTB

o sea, el valor de portb se lo rota dos veces a la izquierda, es como multiplicar por 4, y luego se le suma el valor de portb
y se vuelca a portc


espero te sirva
saludos
guillermo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar