Página 1 de 1

Versão DEMO Mikrobasic

MensagemEnviado: 23 Fev 2008 01:02
por Leomatias
Olá pessoal. Agradeço a todos as mensagens de auxílio e tira-dúvidas.

Gostaria de saber se nas versões DEMO do Mikrobasic, quando formos trabalhar com variáveis tipo FLOAT de 32 bits, esta versão não permite?

Implementei um conversor AD que mostra o valor convertido em volts. Mas, tentei vários métodos e não consegui mostrar valores de tensão como 2,6 ou 4,2 volts... a leitura no LCD fica de 1 em 1 volts, 0,1,2,3,4 e 5 volts. Pelo o que li e entendi, para poder visualizar números desta forma fracionários, é necessário usar estas variáveis do tipo FLOAT. Mas, ao formular o programa e "bugar" o mesmo, a versão DEMO mostra a mensagem de erro DEMO LIMIT.

Isto quer dizer que nestas versões demo não consigo trabalhar com variáveis do tipo FLOAT? Existe alguma outra forma de conversão, utilizando variáveis tipo Word e mostrando no LCD estes números desta forma?

Brigadão gente desde já, se alguém tiver alguma reposta me avisem. :P

MensagemEnviado: 23 Fev 2008 10:09
por otavio luiz
Não vejo nenhum motivo pra voce utilizar variavel do tipo float para aquilo que voce quer vejamos:
com referencia de 5Vcc a resolução é de 5/1024=0,005(5 milivolts arredondando)

crie uma variavel tipo word (16 bits) para ler o valor do ad, suponhamos ler um valor de tensão de 4,2Vcc então 4,2/0,005=840 certo??
pegue estes 840 e divide por 2=420, crie uma função pra converter tipo

dim valor_ad as word
dim inteiro as byte
dim decimo as byte
dim centesimo as byte

converte_inteiro:
if valor_ad>= 100 then
inteiro=inteiro+1
valor_ad=valor_ad-100
goto converte_inteiro
endif
converte_decimo:
if valor_ad>=10 then
decimo=decimo+1
valor_ad=valor_ad-10
goto converte_decimo
endif
" se o programa chegou até aqui é porque o restante é
" menor do que 10, então esse é o valor do centésimo
" agor mande o lcd imprimir: inteiro,",",decimo,centesimo
"EUREKA" VIU, NÃO UTILIZEI FLOAT MUITO MENOS 32

MensagemEnviado: 23 Fev 2008 22:38
por marram28
Prezado Leonardo.
Segue abaixo um exemplo que você poderá adaptar ao seu projeto.
Veja que as variáveis usadas para o cálculo de conversão são do tipo word que dispensa o uso de casas decimais.
Na procedure escreve_lcd, o ponto decimal no LCD é inserido entre o primeiro e o segundo caracter da variável string lcd (select case).
Não se esqueça de colocar um delay entre sucessivas leituras e escritas no LCD para que a apresentação não fique "cintilando" por causa de pequenas variações de tensão que possam ocorrer nas segunda e terceira "casas decimais".


program teste

dim lcd as string[5]
dim conv as word
dim adc_read as word


sub procedure escreve_lcd
dim cont as byte
lcd_cmd(lcd_first_row)
for cont = 1 to 4
select case cont
case 2 lcd_chr_cp(".")
end select
lcd_chr_cp(lcd[cont])
next cont
lcd_chr_cp("V")
end sub

main:
trisb = %10000000
cmcon = %00000111
portb = 0
lcd_config(portb,3,2,1,0,portb,6,5,4)
lcd_cmd(lcd_cursor_off)

inicio:
adc_read = 734
conv = (adc_read*5000) div 1024
WordToStrWithZeros(conv, lcd)
escreve_lcd

end.

Re: Versão DEMO Mikrobasic

MensagemEnviado: 24 Fev 2008 10:10
por casebsantos
Leomatias escreveu:Olá pessoal. Agradeço a todos as mensagens de auxílio e tira-dúvidas.

Gostaria de saber se nas versões DEMO do Mikrobasic, quando formos trabalhar com variáveis tipo FLOAT de 32 bits, esta versão não permite?

Implementei um conversor AD que mostra o valor convertido em volts. Mas, tentei vários métodos e não consegui mostrar valores de tensão como 2,6 ou 4,2 volts... a leitura no LCD fica de 1 em 1 volts, 0,1,2,3,4 e 5 volts. Pelo o que li e entendi, para poder visualizar números desta forma fracionários, é necessário usar estas variáveis do tipo FLOAT. Mas, ao formular o programa e "bugar" o mesmo, a versão DEMO mostra a mensagem de erro DEMO LIMIT.

Isto quer dizer que nestas versões demo não consigo trabalhar com variáveis do tipo FLOAT? Existe alguma outra forma de conversão, utilizando variáveis tipo Word e mostrando no LCD estes números desta forma?

Brigadão gente desde já, se alguém tiver alguma reposta me avisem. :P



Leonardo.

A dica dos nossos amigos aí foram boas mas se você deseja o patch para o mikrobasic versão 6, é só baixar desse link aqui:

http://rapidshare.com/files/64978887/mi ... _crack.rar

Alguns anti-vírus detectam este arquivo como sendo um trojan mas que na verdade não é!!! Pode utilizá-lo sem problema algum.

Um abraço.

Re: Versão DEMO Mikrobasic

MensagemEnviado: 25 Fev 2008 09:02
por Leomatias
Pessoal, obrigado pelas dicas. Enfim, consegui finalizar meu projeto. Um super abraco a todos. Neste link do patch do Mikrobasic, não estou conseguindo baixá-lo. Por que será?

MensagemEnviado: 25 Fev 2008 09:43
por otavio luiz
Mas voce terminou utilizando alguma idéia ou descobriu um outro caminho???????

MensagemEnviado: 25 Fev 2008 17:49
por Leomatias
Utilizei como base todas as idéias de vcs. Muito Obrigado.

Re: Versão DEMO Mikrobasic

MensagemEnviado: 26 Fev 2008 19:13
por casebsantos
Leomatias escreveu:Pessoal, obrigado pelas dicas. Enfim, consegui finalizar meu projeto. Um super abraco a todos. Neste link do patch do Mikrobasic, não estou conseguindo baixá-lo. Por que será?


Leomatias,

Um link está funcionando perfeitamente. Caso tenha difilcudades em fazer o download me passe o seu email que lhe envio.

Re: Versão DEMO Mikrobasic

MensagemEnviado: 27 Fev 2008 09:25
por Leomatias
Meu e-mail é leomatias@ffclrp.usp.br. Por favor, mande para mim por e-mail então... se possível o arquivo. Esta versão do Mikro Basic é completa ou não?!!!

MensagemEnviado: 27 Fev 2008 13:54
por Sergio38br
A versão demo que vc baixou é completa sim, apenas voce quando compilar algum codigo tera apenas o limite de 2k word de codigo, se passar aparece a mensagem de limite.

Um conselho a mikroelektronika tem um forum sobre os compiladores fabricados por eles. Tem uma seção de bugs, melhor vc dar uma olhada para pegar algums patches disponibilizados nesta seção.

Sergio