Bueno este es mi primer post y espero que les sea util
Se trata de un contador de pulsos, que va contando cada pulso y la manda a una variable, puede utilizarse para contar de 0 a 999 o el uso que les deseen dar, espero que les sirva de algo
el programa fue echo en mikrobasic
program contador
symbol s = portb.0
symbol r = portb.1
dim i as byte
dim j as byte
dim k as byte
dim l as byte
' Declarations section
main:
i=0
j=0 'a qui se almacena los pulsos que van almacenados
k=0
trisa=%00011
trisb=%0000000
portb=0
porta.2=0
while true
if porta.0=0 then ' el puerto a.0 es donde deve recibir los pulsos
k=1
i=0
else
if (porta.0 and k)=1 then
delay_ms(1) ' es el control para evitar los rebotes
k=0
if k=0 then
i=i+1
if i<=1 then
if k=0 then
j=j+1'aqui j incrementa su valor en 1 cadavez que cuenta un nuevo pulso
end if
end if
end if
end if
end if
portb.j=1 'solamente es el control para indicar que esta contando
wend
end.
este es el codigo en .hex ya compilado
:020000000328D3
:10000600831291018E018C0101308D00033083161D
:100016008500860183128601051105181628013010
:100026008C0091013528C0010518C00A0C08C005CE
:100036000D084005C1004108013A031D352802306C
:10004600CC004B30CD00CD0B2628CC0B26288C01BE
:10005600910A1108013C031C35280C08003A031DBF
:1000660035288E0A0E08063C03184D288D010530EA
:10007600CB009130CC00CF30CD00CD0B4028CC0B3F
:100086004028CB0B402800000000860191018E011C
:1000960001308D000E08C1000130C000410803196F
:1000A6005828C00D4010FF3E52280608C0044008DC
:0600B600860010285D2801
:02400E00F93F78
:00000001FF
puede habermas formas mas faciles de hacer el contador, pero esta fue la que pude hacer, espero que les aya servido de algo
Se trata de un contador de pulsos, que va contando cada pulso y la manda a una variable, puede utilizarse para contar de 0 a 999 o el uso que les deseen dar, espero que les sirva de algo
el programa fue echo en mikrobasic
program contador
symbol s = portb.0
symbol r = portb.1
dim i as byte
dim j as byte
dim k as byte
dim l as byte
' Declarations section
main:
i=0
j=0 'a qui se almacena los pulsos que van almacenados
k=0
trisa=%00011
trisb=%0000000
portb=0
porta.2=0
while true
if porta.0=0 then ' el puerto a.0 es donde deve recibir los pulsos
k=1
i=0
else
if (porta.0 and k)=1 then
delay_ms(1) ' es el control para evitar los rebotes
k=0
if k=0 then
i=i+1
if i<=1 then
if k=0 then
j=j+1'aqui j incrementa su valor en 1 cadavez que cuenta un nuevo pulso
end if
end if
end if
end if
end if
portb.j=1 'solamente es el control para indicar que esta contando
wend
end.
este es el codigo en .hex ya compilado
:020000000328D3
:10000600831291018E018C0101308D00033083161D
:100016008500860183128601051105181628013010
:100026008C0091013528C0010518C00A0C08C005CE
:100036000D084005C1004108013A031D352802306C
:10004600CC004B30CD00CD0B2628CC0B26288C01BE
:10005600910A1108013C031C35280C08003A031DBF
:1000660035288E0A0E08063C03184D288D010530EA
:10007600CB009130CC00CF30CD00CD0B4028CC0B3F
:100086004028CB0B402800000000860191018E011C
:1000960001308D000E08C1000130C000410803196F
:1000A6005828C00D4010FF3E52280608C0044008DC
:0600B600860010285D2801
:02400E00F93F78
:00000001FF
puede habermas formas mas faciles de hacer el contador, pero esta fue la que pude hacer, espero que les aya servido de algo