Autor Tema: Dudas sobre lenguaje utilizado en pic16f887  (Leído 2269 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado ERos

  • PIC10
  • *
  • Mensajes: 6
Dudas sobre lenguaje utilizado en pic16f887
« en: 19 de Marzo de 2019, 17:18:41 »
Buenas tengo una consulta, quiero hacer un pulso de 750 ms en la salida de un led, ¿cómo puedo incluir un número decimal/fraccionario/no entero en la parte RUTINA MOVLW .375 (37.5)?
Código: [Seleccionar]
;*** rutina de 20ms X 50***      
RUTINA_TMR0 MOVLW .375
    MOVWF CONTADOR
;----------------------------------        
TMR0_1S     MOVLW .178
    MOVWF TMR0
    BTFSS INTCON,T0IF
    GOTO $-1
    BCF INTCON,T0IF
;----------------------------------    
    DECFSZ CONTADOR
    GOTO TMR0_1S    

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Dudas sobre lenguaje utilizado en pic16f887
« Respuesta #1 en: 19 de Marzo de 2019, 22:03:24 »
Primero que nada y para terminar la pregunta: NO PODES.

Unicamente enteros, es imposible poner valores decimales. Pero pensemos un momento......

Para que te de 750ms en 37.5 vueltas significa que la demora de tu Timer0 es de 20ms.

Si en ves de hacer una demora de 20ms, lo hago de 10ms ( Cargo 178/2 = 89) Ahora puedo simplemente repetir eso 75 veces en ves de 37.5. Y se soluciona el problema xD

Segundo .375 es 375 decimal... Recorda que W es de 8 bits, por lo tanto el maximo es de 255.


 

anything