TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: eneko166 en 06 de Diciembre de 2012, 17:05:03

Título: Contador en mikrobasic
Publicado por: eneko166 en 06 de Diciembre de 2012, 17:05:03
Estoy haciendo un contador ascendente/descendente bdc en mikrobasic, ya que en ensamblador me parecia bastante mas complicado, pa0 es para decrementar, pa1 para incrementar, pb0-pb3 son las salidas bcd y pb4-pb5 son las masas de los displays. el caso es que no se porque no me realiza la cuenta, he revisado el circuito de arriba a abajo y no logro dar con ello.

Device 16F870
Xtal 20
Dim i As Byte
Dim unidad As Byte
Dim decena As Byte
Dim contador As Word
All_Digital = true
TRISB = 0
TRISA = 1
PORTB = 0

Main:
If PORTA.0 = 1 Then
DelayMS 100
contador = contador - 1  
If contador < 0 Then contador = 99
EndIf  

If PORTA.1 = 1 Then
DelayMS 100
contador = contador + 1
If contador > 99  Then contador = 0
EndIf  

DelayMS 5
unidad = i Dig 0
PORTB = unidad + 16
DelayMS 5

decena = i Dig 1
PORTB = decena + 32

GoTo Main
End
Título: Re: Contador en mikrobasic
Publicado por: eneko166 en 06 de Diciembre de 2012, 19:01:55
Estoy haciendo un contador ascendente/descendente bdc en mikrobasic, ya que en ensamblador me parecia bastante mas complicado, pa0 es para decrementar, pa1 para incrementar, pb0-pb3 son las salidas bcd y pb4-pb5 son las masas de los displays. el caso es que no se porque no me realiza la cuenta, he revisado el circuito de arriba a abajo y no logro dar con ello.

Device 16F870
Xtal 20
Dim i As Byte
Dim unidad As Byte
Dim decena As Byte
Dim contador As Word
All_Digital = true
TRISB = 0
TRISA = 1
PORTB = 0

Main:
If PORTA.0 = 1 Then
DelayMS 100
contador = contador - 1  
If contador < 0 Then contador = 99
EndIf  

If PORTA.1 = 1 Then
DelayMS 100
contador = contador + 1
If contador > 99  Then contador = 0
EndIf  

DelayMS 5
unidad = i Dig 0
PORTB = unidad + 16
DelayMS 5

decena = i Dig 1
PORTB = decena + 32

GoTo Main
End

Título: Re: Contador en mikrobasic
Publicado por: Fer_TACA en 08 de Diciembre de 2012, 15:23:24
No veo que el valor del contador, que me supongo que es lo que quieres visualizar , lo lleves a ningun sitio. Slo lo estas decrementando e incrementando segun sea el pulsador qsobre el que actues, pero el valor no lo representas por ningun lado.

F.