Ir ao conteúdo
  • Cadastre-se

Tutorial : Introdução ao uso de PIC´s em BASIC com o PIC Simulator IDE - Parte 1/2


Posts recomendados

É cara o cubo deu um trabalhinho, porque foi meio corrido as soldas não ficaram exatamente como eu queria, poderiam ter sido um pouco melhor...

Mas deu pra passar as ideias que eu queria...

E pela sua explicação acho que é o que eu estava pensando mesmo cara...

Vou ter que montar o programa normal, e criar as interrupções e nessas eu vou conferir se o pino está precionado...

Só que no meu caso, eu queria uma coias do tipo, se apertar o pino 1 vez faça isso, 2 vezes aquilo, 3 aquilo outro e assim por diante...

E esses aquilos, e tal, teria outros botões, que aumentariam ou diminuiriam valores...

Eu pensei no seguinte raciocinio:

Faço as interrupções para verificar o botão 1 se ele tiver apertado, vai para a situação 1

se eu apertar ele de novo, vai pra situação 2, se apertar de novo para a 3 e assim por diante, e caso eu aperte o botão de aumentar ou diminuir a variavel, uma dessas ações é realizadas...

O Raciocinio é mais ou menos esse??

Valeu muito obrigado e Abraços!!!

Link para o comentário
Compartilhar em outros sites

Eu pensei no seguinte raciocinio:

Faço as interrupções para verificar o botão 1 se ele tiver apertado, vai para a situação 1 se eu apertar ele de novo, vai pra situação 2, se apertar de novo para a 3 e assim por diante, e caso eu aperte o botão de aumentar ou diminuir a variavel, uma dessas ações é realizadas ... O Raciocinio é mais ou menos esse??

É isso mesmo Julio. Use uma variável para "Modo" ex.: (x), um botão para incrementar x, se quiser, outro para decrementar, senão quando x for igual ao numero de funções máxima definida, se pressionar para incrementar, x retorna à função inicial.

Exemplo: 5 funções: 0, 1, 2, 3, 4.

Se x == 4 e for pressionado incrementar,

x agora vale 5, //Você não tem 6 funções (0 à 5 = 6 funções), então:

se x == 5,

x = 0 //x recebe zero e retorna à função inicial.

--

Outra unica variável (deve ser global para ser acessada por todas as funções) pode ser usada dentro de cada função ex: velocidade.

Um botão para incrementar e outro para decrementar.

.

Ex.:

Se x == 0:

Velocidade = xxx //aqui você inicializa a velocidade, caso contrario, a velocidade atual será igual a da última função executada; Também informe a velocidade desejada inicial ou dentro do laço abaixo, para poder variar em RealTime.

Enquanto x == 0:

faça isto, ou aquilo.

.

Creio que elucida um pouco como "prender" o programa em uma função.

Percebi que quando você disse fazer uma interrupção, creio que entendeu fazer a varredura dela o tempo todo. Isso não é legal, pois pode interferir no desempenho do programa. Tente diferenciar Interrupção por Hardware e Varredura "no braço"!

A interrupção que cito, é por Hardware ex.: TMR0, TMR1, TMR2, TMR3, INT_externa, Mudança de estado B4:B7 entre outras dependendo do tipo do microcontrolador.

.

Existe diversas forma de fazer sua lógica.

Vá pensando aí, enquanto que em segundo plano aprende cada vez mais lógica e raciocínio lógico.

Abraço.

Link para o comentário
Compartilhar em outros sites

Cara desculpa estar te alugando, tanto tempo assim....

E essa pergunta que vou fazer nem sei se cabe a este tópiico acho até que não, mas busquei um tópico que fosse semalhante a esse porém trantando de C e não de Basic e não achei, então a pergunta vai aqui mesmo...

Cara queria saber qual seria uma função parecida com o lookup usado no basic, em C

Estou começando a aprender C aqui, e to tentando ir aos pouquinho, só que o Reference Manual do CCS é muito complicado de entender...

Acho que ali foi na questão das interrupções foi mesmo uma confunsão minha na hora de entender, mas acho que entendi certo... vou fazer o meste aqui depois e testar pra ver se vai ficar bom, e em paralelo vou estudando C aos pouquinhos!!!

Desculpa o incomodo e muito obrigado!!

Link para o comentário
Compartilhar em outros sites

... queria saber qual seria uma função parecida com o lookup usado no basic, em C

Estou começando a aprender C aqui, e to tentando ir aos pouquinho, só que o Reference Manual do CCS é muito complicado de entender...

Julio, não uso o CCS. Prefiro o mikroC.

Estou no trabalho, não tenho como mandar algo em C agora.

À noite, faço um exemplo de código e envio.

O assunto que deverá saber, equivalente ao lookup, é matrizes.

Se quer aprender em C, pode estudar C ansi, pois a maioria dos compiladores para pic usam este padrão. Este curso vai te ajudar muito. É um arquivo de ~240Mb. Tem todo o básico.

Abraço.

Link para o comentário
Compartilhar em outros sites

amigos,

como é maravilhoso esse mundo facinante dos microcontroladores, poxa vida esses exemplos todos só me faz continuar tentando, a aprender cada ves mas, estou com

uma pequena duvida,

estou tentando fazer o seguinte:

usando um led em que o seu brilho almente gradativamente,

ou seja quando eu aperte um botão, parese simples pra muitos, mas ainda não consegui.

estou colocando o meu codico inical:

Define CONF_WORD = 0x3f71

Define CLOCK_FREQUENCY = 4

AllDigital

Symbol led = PORTB.0

Symbol botao = PORTB.1

main:

If botao = 0 Then

led = 1

Else

led = 0

Endif

Goto main

End

amigos por favor

Link para o comentário
Compartilhar em outros sites

amigos,

como é maravilhoso esse mundo facinante dos microcontroladores, poxa vida esses exemplos todos só me faz continuar tentando, a aprender cada ves mas, estou com

uma pequena duvida,

estou tentando fazer o seguinte:

usando um led em que o seu brilho almente gradativamente,

ou seja quando eu aperte um botão, parese simples pra muitos, mas ainda não consegui.

estou colocando o meu codico inical:

Define CONF_WORD = 0x3f71

Define CLOCK_FREQUENCY = 4

AllDigital

Symbol led = PORTB.0

Symbol botao = PORTB.1

main:

If botao = 0 Then

led = 1

Else

led = 0

Endif

Goto main

End

amigos por favor

Ola, ma2008

veja ai na pagina de "exemplos"do desenvolvedor do PSI, tem o "EXAMPLE 6:PWM regulation of LED light intensity" que faz isso que voce esta querendo fazer.

http://www.oshonsoft.com/picbasiccompilerexamples.html

No exemplo esta usando o ADC pra fazer o controle do PWM, mas ai so voce fazer a modificaçao, pra usar teclas, "quebrar um pouco a cabeça".

Espero que ajude.

Infelizimente na apostila do meste Paulo, nao tem nenhum exemplo de PWM, quem sabe na parte 3!!!!!

Boa sorte.

Link para o comentário
Compartilhar em outros sites

ok amigo obrigado

Ok amigo obrigado, mas como eu faço pra mim simular aquele circuito que esta la, pode ser no protus, ou no proprio pic simulator ide,

aguardeo seu retorno,

Ola ma2008,

Pra simular o circuito usando o PSI, voce pode usar a bara de leds ou o osciloscopio do propio PSI, onde voce tera uma visualizaçao melhor, basta você "ligar" uma canal do osciloscopio ou o led no PORTC2, e atuar no canal adc AN0(RA0) do pic, pra voce ver o funcionamento , nao é perfeito mas da pra ver que funciona.

Na simulçao nao esqueça de reduzir o valor do waitms 50 pra 1.

E no proteus voce teria que fazer o desenho igual o exemplo e carregar o arquivo .hex

Espero ter ajudado

Boa sorte

jfeliciano

Link para o comentário
Compartilhar em outros sites

Agora após fazer o cubo de leds to afim de fazer pra mim um relógio com termometro, dia da semana e tal, mas a principio estou querendo apenas montar o relógio que a meu ver é o código mais complicado pra se fazer, pois faz um tempo já que estou tentando, mas não consigo a parte de acertar o relógio via botões não sai...

Vou postar o que eu já fiz até agora, mas sempre que vou simular no PSI dá um erro na hora que começo a tentar mexer nos botões que vão acertar, o Erro é: "Hardware Stack Overflow!

Ó código está aqui:


Define CLOCK_FREQUENCY = 4
AllDigital
TRISB = 11100000b
TRISC = 0000011000b
OPTION_REG = 0x07

'DEFINIÇÃO DO DISPLAY LCD
Define LCD_BITS = 4
Define LCD_DREG = PORTD
Define LCD_DBIT = 4
Define LCD_RSREG = PORTD
Define LCD_RSBIT = 0
Define LCD_RWREG = PORTD
Define LCD_RWBIT = 1
Define LCD_EREG = PORTD
Define LCD_EBIT = 2
Define LCD_READ_BUSY_FLAG = 1
TRISD = 0x00

'DEFINIÇÃO DA CONEXÃO I2C
Symbol sda = PORTC.4
Symbol scl = PORTC.3

'DEFNIÇÃO DOS BOTÕES
Symbol mode = PORTB.5
Symbol incr = PORTB.6
Symbol decr = PORTC.7

'DEFINIÇÃO DAS VARIÁVEIS DO PROGRAMA
Dim hora As Byte
Dim minuto As Byte
Dim segundo As Byte
Dim dia As Byte
Dim mes As Byte
Dim ano As Byte
Dim seg As Byte
Dim min As Byte
Dim hora1 As Byte
Dim dia1 As Byte
Dim mes1 As Byte
Dim ano1 As Byte
Dim modo As Byte
Dim txrtc(8) As Byte
Dim rxrtc(8) As Byte
Dim temp As Byte
Dim temp1 As Byte
Dim x As Byte
Dim dado As Byte
Dim addr As Byte
Dim addrw As Word
Dim erro As Bit
Dim ulttemp As Byte
Dim ultdec As Byte

'HABILITANDO INTERRUPÇÕES
OPTION_REG.T0CS = 0 'usar clock interno
OPTION_REG.PSA = 0 'prescaler ligado no TIMER0
OPTION_REG.PS2 = 1 'valor prescaler = 64
OPTION_REG.PS1 = 0
OPTION_REG.PS0 = 1
TMR0 = 0x3d 'contagem inicial do TIMER0
INTCON.T0IE = 1 'Habilita as interrupções do TIMER0
INTCON.GIE = 1 'Habilita todas as interrupções não mascaradas
Enable 'agora sim as interrupções já estão acontecendo

'INICIO DO PROGRAMA
Lcdinit 3
Lcdcmdout LcdDisplayOn
Lcdcmdout LcdClear
Lcdout "Relogio - DS1307"
Lcdcmdout LcdLine2Pos(5)
Lcdout "Julio C."
WaitMs 1
WaitMs 1
ultdec = 0
ulttemp = 0
Lcdcmdout LcdClear
Lcdout "Hora - : : "
Lcdcmdout LcdLine2Home
Lcdout "Data - / / "
ciclo:
Gosub lertc
Gosub convertetempo
Gosub mostratempolcd
Goto ciclo
End
On Interrupt 'Rotina de interrupção
Save System 'SEMPRE SALVAR ESTADO DO SISTEMA
If mode = 1 Then
modo = modo + 1
Gosub acerta
Endif
TMR0 = 0x3d 'contagem inicial do TIMER0 novamente
INTCON.T0IF = 0 'habilita novamente as interrupções do TIMER0
Resume
acerta:
hora1 = hora
seg = segundo
min = minuto
dia1 = dia
mes1 = mes
ano1 = ano
If modo = 1 Then Gosub acertaseg
If modo = 2 Then Gosub acertamin
If modo = 3 Then Gosub acertahora
If modo = 4 Then Gosub acertadia
If modo = 5 Then Gosub acertames
If modo = 6 Then Gosub acertaano
Return
acertaseg:
If incr = 1 Then
seg = seg + 1
If seg > 59 Then
seg = 0
Gosub preparartc
Gosub gravartc
Gosub lertc
Gosub convertetempo
Gosub mostratempolcd
Endif
Endif
If decr = 1 Then
seg = seg - 1
If seg > 59 Then
seg = 0
Gosub preparartc
Gosub gravartc
Gosub lertc
Gosub convertetempo
Gosub mostratempolcd
Endif
Endif
If mode = 1 Then
modo = modo + 1
Gosub acerta
Endif
If incr = 0 And decr = 0 And mode = 0 Then
Goto acertaseg
Endif
Gosub preparartc
Gosub gravartc
Gosub lertc
Gosub convertetempo
Gosub mostratempolcd
Goto acertaseg
Return
acertamin:
If incr = 1 Then
min = min + 1
If min > 59 Then
min = 0
Gosub preparartc
Gosub gravartc
Gosub lertc
Gosub convertetempo
Gosub mostratempolcd
Endif
Endif
If decr = 1 Then
min = min - 1
If min > 59 Then
min = 0
Gosub preparartc
Gosub gravartc
Gosub lertc
Gosub convertetempo
Gosub mostratempolcd
Endif
Endif
If mode = 1 Then
modo = modo + 1
Goto acerta
Endif
If incr = 0 And decr = 0 And mode = 0 Then
Goto acertamin
Endif
Gosub preparartc
Gosub gravartc
Gosub lertc
Gosub convertetempo
Gosub mostratempolcd
Goto acertamin
Return
acertahora:
If incr = 1 Then
hora1 = hora1 + 1
If hora1 > 23 Then
hora1 = 0
Gosub preparartc
Gosub gravartc
Gosub lertc
Gosub convertetempo
Gosub mostratempolcd
Endif
Endif
If decr = 1 Then
hora1 = hora1 - 1
If hora1 > 23 Then
hora1 = 0
Gosub preparartc
Gosub gravartc
Gosub lertc
Gosub convertetempo
Gosub mostratempolcd
Endif
Endif
If mode = 1 Then
modo = modo + 1
Gosub acerta
Endif
If incr = 0 And decr = 0 And mode = 0 Then
Goto acertahora
Endif
Gosub preparartc
Gosub gravartc
Gosub lertc
Gosub convertetempo
Gosub mostratempolcd
Goto acertahora
Return
acertadia:
If incr = 1 Then
dia1 = dia1 + 1
If dia > 31 Then
dia = 1
Gosub preparartc
Gosub gravartc
Gosub lertc
Gosub convertetempo
Gosub mostratempolcd
Endif
Endif
If decr = 1 Then
dia1 = dia1 - 1
If dia > 31 Then
dia = 1
Gosub preparartc
Gosub gravartc
Gosub lertc
Gosub convertetempo
Gosub mostratempolcd
Endif
Endif
If mode = 1 Then
modo = modo + 1
Goto acerta
Endif
If incr = 0 And decr = 0 And mode = 0 Then
Goto acertadia
Endif
Gosub preparartc
Gosub gravartc
Gosub lertc
Gosub convertetempo
Gosub mostratempolcd
Goto acertadia
Return
acertames:
If incr = 1 Then
mes1 = mes1 + 1
If mes1 > 12 Then
mes1 = 1
Gosub preparartc
Gosub gravartc
Gosub lertc
Gosub convertetempo
Gosub mostratempolcd
Endif
Endif
If decr = 1 Then
mes1 = mes1 - 1
If mes1 > 12 Then
mes1 = 1
Gosub preparartc
Gosub gravartc
Gosub lertc
Gosub convertetempo
Gosub mostratempolcd
Endif
Endif
If mode = 1 Then
modo = modo + 1
Gosub acerta
Endif
If incr = 0 And decr = 0 And mode = 0 Then
Goto acertames
Endif
Gosub preparartc
Gosub gravartc
Gosub lertc
Gosub convertetempo
Gosub mostratempolcd
Goto acertames
Return
acertaano:
If incr = 1 Then
ano1 = ano1 + 1
Gosub preparartc
Gosub gravartc
Gosub lertc
Gosub convertetempo
Gosub mostratempolcd
Endif
If decr = 1 Then
ano1 = ano1 - 1
Gosub preparartc
Gosub gravartc
Gosub lertc
Gosub convertetempo
Gosub mostratempolcd
Endif
If mode = 1 Then
modo = modo + 1
If modo > 6 Then
modo = 0
Gosub acerta
Endif
Endif
If incr = 0 And decr = 0 And mode = 0 Then
Goto acertaano
Endif
Gosub preparartc
Gosub gravartc
Gosub lertc
Gosub convertetempo
Gosub mostratempolcd
Goto acertaano
Return
lertc:
addrw = 0
For addr = 0 To 6
dado = 0
addrw.LB = addr
I2CRead sda, scl, 0xd0, addr, dado
WaitMs 6
rxrtc(addr) = dado
Next addr
Return
gravartc:
addrw = 0
For addr = 0 To 6
dado = txrtc(addr)
addrw.LB = addr
I2CWrite sda, scl, 0xd0, addr, dado
WaitMs 6
Next addr
Return
convertetempo:
temp = rxrtc(0)
temp = temp And 00001111b
segundo = temp
temp = rxrtc(0)
temp = temp And 01110000b
temp = temp / 16
temp = temp * 10
segundo = segundo + temp
temp = rxrtc(1)
temp = temp And 00001111b
minuto = temp
temp = rxrtc(1)
temp = temp And 01110000b
temp = temp / 16
temp = temp * 10
minuto = minuto + temp
temp = rxrtc(2)
temp = temp And 00001111b
hora = temp
temp = rxrtc(2)
temp = temp And 00110000b
temp = temp / 16
temp = temp * 10
hora = hora + temp
temp = rxrtc(4)
temp = temp And 00001111b
dia = temp
temp = rxrtc(4)
temp = temp And 00110000b
temp = temp / 16
temp = temp * 10
dia = dia + temp
temp = rxrtc(5)
temp = temp And 00001111b
mes = temp
temp = rxrtc(5)
temp = temp And 00010000b
temp = temp / 16
temp = temp * 10
mes = mes + temp
temp = rxrtc(6)
temp = temp And 00001111b
ano = temp
temp = rxrtc(6)
temp = temp And 11110000b
temp = temp / 16
temp = temp * 10
ano = ano + temp
tb:
Return
mostratempolcd:
Lcdcmdout LcdLine1Pos(8)
If hora < 10 Then
Lcdout "0", #hora, ":"
Else
Lcdout #hora, ":"
Endif
Lcdcmdout LcdLine1Pos(11)
If minuto < 10 Then
Lcdout "0", #minuto, ":"
Else
Lcdout #minuto, ":"
Endif
Lcdcmdout LcdLine1Pos(14)
If segundo < 10 Then
Lcdout "0", #segundo
Else
Lcdout #segundo
Endif
Return
preparartc:
temp = seg
Gosub separa
txrtc(0) = temp + temp1 * 16
temp = min
Gosub separa
txrtc(1) = temp + temp1 * 16
temp = hora1
Gosub separa
txrtc(2) = temp + temp1 * 16
txrtc(2) = txrtc(2) And 00111111b
txrtc(3) = 0
temp = dia1
Gosub separa
txrtc(4) = temp + temp1 * 16
txrtc(4) = txrtc(4) And 00111111b
temp = mes1
Gosub separa
txrtc(5) = temp + temp1 * 16
txrtc(5) = txrtc(5) And 00011111b
temp = ano1
Gosub separa
txrtc(6) = temp + temp1 * 16
Return
separa:
'NA SAIDA TEMP = UNIDADE E TEMP1 = DEZENA
temp1 = temp / 10
temp = temp - temp1 * 10
Return
Define CONF_WORD = 0x3f71

Link para o comentário
Compartilhar em outros sites

caro amigo boa noite,

fiz na platica careguei o programa, no pic 16f877a e coloquei pla funcionar no protobord

cara que alegria funcionou tudo certinho, quando atuava no potenciometro o led almentava seu brilho e vice versa, estou satisfeito.

duvidas semple temos como por exemplo:

no codico tem adcon1=0x0e que eu acho que seja a mesma coisa que 00001110 em binario.

como o microcontrolador sabe que o pino rc2 ccp1 vai ser a saida, acho que pode ter tudo aver com o adcon1=0x0e como saber

o codico e esse:Define CONF_WORD = 0x3f72

Define CLOCK_FREQUENCY = 12

AllDigital

ADCON1 = 00001110b ''0x0e

Dim duty As Byte

PWMon 1, 9

loop:

Adcin 0, duty

PWMduty 1, duty

Goto loop

end

Link para o comentário
Compartilhar em outros sites

caro amigo boa noite,

fiz na platica careguei o programa, no pic 16f877a e coloquei pla funcionar no protobord

cara que alegria funcionou tudo certinho, quando atuava no potenciometro o led almentava seu brilho e vice versa, estou satisfeito.

duvidas semple temos como por exemplo:

no codico tem adcon1=0x0e que eu acho que seja a mesma coisa que 00001110 em binario.

como o microcontrolador sabe que o pino rc2 ccp1 vai ser a saida, acho que pode ter tudo aver com o adcon1=0x0e como saber

o codico e esse:Define CONF_WORD = 0x3f72

Define CLOCK_FREQUENCY = 12

AllDigital

ADCON1 = 00001110b ''0x0e

Dim duty As Byte

PWMon 1, 9

loop:

Adcin 0, duty

PWMduty 1, duty

Goto loop

end

Ola ma2008,

Quem define que o pino rc2 ccp1 vai ser a saida, é comando (PWMon 1, 9)

se voce trocar o numero 1 por 2 vai ver que a saida agora é o rc1/ccp2

(ADCON1) denfine qual entadas ADC esta sendo usado.

Abraço

jfeliciano

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...

olá pessoal,

eu vou fazer um projeto de braço mecânico 3 eixos + garra, controlado por 2 acelerômetros no braço, utilizando 2 eixos em 1 deles e o outro eixo em outro.

estou começando a aprender agora e por enquanto que estou na fase de ideias quero saber:

como eu monto um circuito para transmitir e receptar Radio Frequencia.. sei que se fosse somente fios iria usar um PIC com entrada analógica e ai ainda nem sei como iria programa isso... mas para enviar os dados pela radio frequencia eu teria que converter o sinal analógico do acelerômetro para digital através de um PIC ou o encoder faria isso?? se fosse PIC eu teria que programar 2 PICs (um no controle e outro no braço mecânico).

pergunta: isso abaixo seria um sinal analógico? (não entendo direito disso)

eu li que os eixos x, y, z do acelerômetro são dados através de +-1,5 V que caso seja maior indica que esta se movimentando positivamente e menor negativamente....

Att,

Caio Ribeiro

Link para o comentário
Compartilhar em outros sites

Olá pessoal,

Alguém está usando a nova versão do PSI?

Formatei o meu HD e instalei a nova versão 6.91, ao abrir alguns arquivos .bas, gera os seguintes erros:

Run-time error 5

Run-time error 380

Minha licença é paga, reportei os erros a Oshon Software.

Se alguém puder ajudar eu agradeço.

Abraços...

Link para o comentário
Compartilhar em outros sites

  • mês depois...

Olá pessoal,

Qualquer dia desses vou desistir do assembly que não aprendo nunca e vou partir para o basic, pelo menos informação nesse tópico não falta.

Encontrei na net um projeto de uma placa de desenvolvimento e gostaria de passar para vocês.

http://sergiols.blogspot.com/2009/10/multiboard-pic-trainer-20.html

A placa é para pics com 18, 28 e 40 pinos, parece ser um bom projeto todo com módulos.

Abs,

Renato

Link para o comentário
Compartilhar em outros sites

Cadê o Paulo?????

Esse post não pode ser esquecido, pois parece que ele é o único que manja de BASIC. Só se vê linguagem C por aqui.

Agricio

É Agricio,parece que o prof. Paulo tirou umas férias prolongada e nao deixou "substituto"!! hahahahaha.

Também tenho sentido a ausencia dele aqui no forum , estou torcendo pra que ele volte logo e com novidades pra turma do BASIC.

Espero que esteja tudo bem com ele.

Vamos torcer juntos pra ele votar logo

jfeliciano

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

aphawk

tenho uma pequena duvida referente ao PSI, eu li o tutorial quase todo, e digo ja que esta excelente mesmo, mas nao percebi como consigo compilar e guardar o ficheiro ".HEX", se eu fizer o codigo e compilar ele guarda e cria o ficheiro ".HEX" mas se eu alterar alguma coisa no Compilator (como por exemplo os tempos dos leds a piscar) do PSI, a segunda vez que for a compilar ele ja nao faz nada, apenas me mostra os status da memoria do PIC

Obrigada

Link para o comentário
Compartilhar em outros sites

O Paulo está perdido em algum pesqueiro por ai.

voce tem que repetir a sequência cada vez que alterar o compilador

1ª) FILE >>>>SAVE AS, clica no arquivo que já estava salvo; vai perguntar SE DESEJA SUBSTITUIR O ARQUIVO; clica em YES.

2ª) TOOLS>>>>COMPILE & ASSEMBLE & LOAD ou click em F9

Agricio

Link para o comentário
Compartilhar em outros sites

Pessoal,

Nosso amigo Paulo ( aphawk ) está resolvendo assuntos particulares e avisou que até o final de junho estará de volta.

Vamos aguardar, o mestre não esqueceu da gente.

Abraço.

Leonardo,

Que bom ter noticias do professor Paulo.

Vamos aguardar o seu retorno, e boa sorte pra ele.

Abraço,

jfeliciano

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...

Jfeliciano, o Paulo faz falta mesmo, gosto de ler até os posts dele em outros tópicos, sempre ajudando.

Pessoal, se alguém estiver tendo problema com o PSI 6.91

Run-time error '5'

O PSI não compila, dá o erro e fecha o programa, para eu descobrir isso levou um bom tempo, apaguei o valor lógico sem querer. A causa está na ausência do valor lógico como no exemplo abaixo:

led=0

waitms 500

led=

Fica aí a dica.

Abraços...

Link para o comentário
Compartilhar em outros sites

Jfeliciano, o Paulo faz falta mesmo, gosto de ler até os posts dele em outros tópicos, sempre ajudando.

Pessoal, se alguém estiver tendo problema com o PSI 6.91

Run-time error '5'

O PSI não compila, dá o erro e fecha o programa, para eu descobrir isso levou um bom tempo, apaguei o valor lógico sem querer. A causa está na ausência do valor lógico como no exemplo abaixo:

led=0

waitms 500

led=

Fica aí a dica.

Abraços...

Leonardo-SP,

Com certeza o prof. Paulo faz mesmo falta.

Quanto ao problema que voce teve ai com o PSI eu ainda nao tive por aqui, mas é bom já ficar sabendo desta possibilidade.

O que tem acontecido comigo é que quando compilo um pragrama que faz uso de LCD com 4 bits (nibble) nao funciona pra simular no Proteus, mas na pratica funciona normal.

Ai nao sei se o problema e com o PSI ou com o proteus.

Até já pedi ajuda aqui no forum, mas até agora nao consegui resolver.

voce ja teve este problema ai?

Um abraço

Jfeliciano

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!