Ir ao conteúdo
  • Cadastre-se

IAS

Membro Pleno
  • Posts

    39
  • Cadastrado em

  • Última visita

Reputação

0
  1. ma2008, Se o seu problema é ao compilar (converter o código BASIC em .HEX), bom, ai não tem jeito: o erro provavelmente é no seu código, porém se você já converteu o seu código BASIC no arquivo .HEX e o que deseja é gravar no PIC, e já configurou a porta do seu PC de acordo com o seu gravador, estabelecendo a comunicação entre os dois e não consegue gravar, veja a resposta acima; um outro detalhe é que se você está usando o WINXP, para acessar o hardware, é necessário um driver específico para o WINXP na maioria dos programadores. Espero ter sido de alguma ajuda... IAS
  2. ma2008, Se o seu problema é ao compilar (converter o código BASIC em .HEX), bom, ai não tem jeito: o erro provavelmente é no seu código, porém se você já converteu o seu código BASIC no arquivo .HEX e o que deseja é gravar no PIC, e já configurou a porta do seu PC de acordo com o seu gravador, estabelecendo a comunicação entre os dois e não consegue gravar, veja a resposta acima; um outro detalhe é que se você está usando o WINXP, para acessar o hardware, é necessário um driver específico para o WINXP na maioria dos programadores. Espero ter sido de alguma ajuda... IAS
  3. ma2008, Se o seu problema é ao compilar (converter o código BASIC em .HEX), bom, ai não tem jeito: o erro provavelmente é no seu código, porém se você já converteu o seu código BASIC no arquivo .HEX e o que deseja é gravar no PIC, e já configurou a porta do seu PC de acordo com o seu gravador, estabelecendo a comunicação entre os dois e não consegue gravar, veja a resposta acima; um outro detalhe é que se você está usando o WINXP, para acessar o hardware, é necessário um driver específico para o WINXP na maioria dos programadores. Espero ter sido de alguma ajuda... IAS
  4. Caro Rodrigo, São inúmeras as possibilidade para o não funcionar....comece checando a alimentação nos pinos do PIC com um mutímetro, confira o circuito conexão à conexão (se montado em protoboard), substitua o PIC (se tiver outro disponível), o cristal (se estiver usando), confira se o reset está realmente conectado ao +5v.....enfim, são incontaveis possibilidades inclusive em relação ao proprio gravador, em alguns que usam a tensão "roubada" da porta serial, nem sempre conseguem programar o pic por se encontrar no limite (varia de pc para pc) - teóricamente as tensãoes presentes nas portas COM deveriam ser de +15V e -15V, porém na maioria dos casos estão abaixo. Já vi alguns cometários na NET referindo-se ao fato de alguns PIC's poderem ser programados nestas condições e outros não. Amigo Paulo e Felipe.... Se puderem, olhem a versão do MikroBasic Pro PIC 2010.....saiu com alguns recursos novos muito interessantes - um deles é a rotina de botão incluindo a função debouncing, semelhante ao Bascom - AVR. Abraços.... IAS
  5. Caro Rodrigo, Inicialmente após desenvolver e testar a sua rotina dentro do PSI, você deverá dentro do Basic Compiler usar a opção "Compile & Assemble & load" para gerar o seuarquivo.HEX e tambem para poder simular o funcionamento dentro do PSI Para gravar o PIC usando o MPLAB, você deve ir em File --> Import e importar o seuarquivo.HEX, logo a seguir vá em programer --> Select Programer ----> PICKIT2, feito isso voltar em programer ------> program, o seuarquivo.HEX será gravado no PIC. Evidentemente que para você efetuar a gravação com o seu PICKIT2, o mesmo deverá estar conectado ao pc e configurado de acordo com o mplab, tendo a comunicação entre o os dois estabelecida. Acredito não ter pulado nenhum passo, mas....qualquer coisa que possa ajudar. Abraços IAS
  6. Amigo Guilmo... Seja bem vindo ao forum e não se preocupe quanto a idade.....parece que aqui a maior parte é "coroa". Eu mesmo tenho 58 anos, também trabalhei com rádio mono e multicanal e até há um ano atrás não entendia nada de programação de PIC's apesar de algumas tentativas anteriores estudando assembler. Hoje, graças aos companheiros desse fórum, já consegui resultados práticos inimagináveis há um ano atrás. Se houver alguma coisa em que possa ajudar, pode contar. IAS
  7. Mestres Paulo e Felipe.... Atendendo as sugestões e conselhos dos amados mestre (KKKK), estou migrando pro's AVR. Ainda seguindo os pareceres de você's, vou adquirir o kit de desenvolvimento da microgenius para o ATMEGA16 e recomeçar a batalha do inicio. Tinha previsto essa migração um pouco mais adiante quando tivesse explorado mais profundamente os recursos dos PICs porém tornei a baixar o tutorial atualizado dos AVR's e seguir em frente, mesmo que pulando etapas no PIC, porém pelo nível dos integrantes do forum e principalmente pelo apoio que tenho obtido de todos resolvi enfrentar a fera (os AVR's). Logo, logo vou ter um montão de dúvidas e perguntas sobre os esses bichinhos que parecem uma centopeia mas que dão uma alegria grande quando a gente consegue fazer eles obedecerem. Um abraço a todos... IAS
  8. Bom Paulo, mais uma vez os meus sinceros agradecimentos a todos os que fazem este forum andar, e render frutos - sei que alguns "experts" até torcem o nariz ao se falar em desenvolver em BASIC mas... através dessa linguagem e com o auxilio do PSI também é possivel obter bons resultados mas, ainda resta muito a aprender sobre os PIC's e tambem sobre o PSI: até o momento ainda não tive necessidade de maior quantidade de memória ou recursos além dos fornecidos pelos PIC16F877, porém acredito que a migração para um chip de maior poder de fogo seja algo natural e decorrente do aprendizado - devo estar recebendo nos proximos dias o kit de desenvolvimento para os PIC's da famííla 18F, já que o uso de USB é cada vez maior - Os AVR's terão que esperar um pouco. Mas como citei acima ainda restam muitas dúvidas a respeito do PSI: uma coisa que parece boba mas ainda não encontrei o caminho foi acender o display LCD com a instrução lcdcmdout LCDDISPLAYON - dá erro de compilação no PSI, evidentemente que essa instrução segue os mesmos parâmetros e sequencias mencionadas no seu tutorial. Um outro projeto nosso, já montado, testado e em funcionamento é o comandar 64 relés e receber 4 alarmes pela porta serial do PC usando um simples PIC16F628. Abraço a todos.... IAS
  9. Senhores.... Apenas com o intuito de contribuir de forma positiva, somando se possivel meus parcos conhecimentos aos do grupo, abaixo segue uma rotina por mim usada e que testa o apertar de dois botões simultaneamente, usando a operação AND. espera: If sw_mnu_menos = 0 And sw_mnu_mais = 0 Then If flags.6 = 0 Then flags 0.6 = 1 menu = 0x00 GoTo menu_prog Else GoTo testa_sw_on_off End If Else flags = 0x00 End If Ela é parte do projeto de um CLP de baixo custo por mim desenvolvido, destinado a automatização de uma empacotadeira industrial, onde aciono de forma cíclica 12 relés, com tempos de operação e desoperação programaveis, leio um teclado multifunção de 5 teclas e tenho 4 sinais externos de controle. Possui um menu de 32 itens onde ajusto os parametros de funcionamento tais como quantidade/minuto, pontos de operação e desoperação de cada um dos relés de acordo com o estado de 4 sensores, já implantada e em funcionamento em uma pequena industria. Evidentemente que devo o resultado satisfatório obtido aos integrantes deste forum, em especial ao Paulo pelos sábios ensinamentos e incentivo. O meu próximo desafio é implementar um sistema automatizado, controlado por duas balanças eletrônicas. IAS
  10. Mestre Paulo.... Gostaria se possivel que o amigo me tirasse algumas dúvidas sobre o PIC16F877A, se possível. Interrupções: 1 - Como fazer para habilitar repetidas interrupções externas apenas do pino RBO "1"---> "0"? existem na rotina varias instruções WaitMS e WaitUS e a rotina implementada responde a todas. --------------------------------------------------- Quanto as interrupções: no inicio do programa: INTCON.INTF = 0 INTCON.INTE = 1 ONTCON.GIE=1 no final do programa: On Interrupt Save System If sw4 = 0 Then Low rele12 Lcdcmdout LcdClear Lcdcmdout LcdLine1Home Lcdout "Emergencia" WaitMs 5000 INTCON.INTF = 0 Goto inicio Endif Resume é acionada em porém gera uma mensagem 'HARDWARE STACK OVERFLOW' em pontos ou instruções de WAIT diferente ou LCDCMDout Antecipadamente agradeço.... IAS
  11. Oia nós aqui também.heheheh Amigo Paulo.....mais uma vez meus parabens - também estou nessa apesar de ainda não ter recebido meu canudo do PIC basic hehehe Um grande abraço e pode contar comigo tambem aqui azucrinando a sua paciência. IAS
  12. Amigo Tche.... Até onde aprendi de asm ou de basic, não dá. Se eu estiver enganado, os mestres presentes me corrijam: Em asm você teria que criar uma tabela com o end inicial, mostrar para um ponteiro e ir incrementando o end, No basic é semelhante...lembre-se que em cada posição de memória só dá para guardar 1 byte, ou seja, de H00 a HFF. Pelo que eu entendi do seu projeto, o mesmo é bastante interessante, o objetivo me parece é mostrar uma frase em movimento, deslocando-a a esquerda, semelhante ao existente em ônibus etc... no momento ando muito atarefado com a construção de um microCLP usando o PIC 16F628A e o basic, porém acho bastante simpática a ideia da construção de um painel de msg's (essa era a ideia nº 4 de uma lista de 10)ainda estou concluindo a Nº 2). Eu tb tive dificuldades para usar a instrução SHIFTLEFT no PSI para serializar um byte no reg W, porém encontrei um caminho alternativo mostrado algumas pag atrás. PS: O pino 12 do 74HC595 é LATCH ou seja, você põe um dado no pino 14, espera que o mesmo estabilize, envia um pulso de clock no pino 11, espera que o mesmo estabilize e só então envia o pulso do LATCH no pino 12. Se houver algo que eu possa ajudar, estou a disposição. IAS
  13. TcheCara; O 74HC595 tem uma grande vantagem em cima do 74LS164, ele (o 74HC595) internamente além do shift register possui um latch de 8 bits; portanto o dado não fica "guardado" dentro do shift register e sim dentro de uma memória, o que antes era necessário usar um 74LS164 e um 74LS374, hoje faço com um único CI, o 74HC595, além é claro de ser tecnologia HC. Abaixo a página de um Ebook baixado da net e que disponibilizo a quem interessar. Registo de Deslocamento de Entrada Paralela Os registos de deslocamento de entrada série e saída paralela, transformam dados série em dados paralelo. Sempre que ocorre um impulso ascendente de clock, o registo de deslocamento lê o estado lógico da linha de dados, guarda-o num registo temporário e repete oito vezes esta operação. Quando a linha ‘latch’ é activada, os dados são copiados do registo de deslocamento para o registo de saída (registo latch) onde ficam disponíveis em paralelo. As ligações entre um registo de deslocamento 74HC595 e um microcontrolador, mostram-se no diagrama em baixo. Ligação de um registo de deslocamento de saída paralelo a um microcontrolador Abraços.... IAS
  14. Amigo TcheCara.... A rotina que eu uso pode não ser a mais "elegante", porém funciona: foi testada no PSI e montado em PCI, onde foram realizados os testes práticos; reais. Crio uma variável "temp" onde ponho a palavra de comando, crio uma variavel latch na qual determino qual shift register deve converter os dados de serial para paralelo e chamo a subrotina Checa_bit; lembando que para o shift register funcionar ou seja converter os dados recebidos serialmente e disponibiliza-los em paralelo são necessários 3 sinais: Dado, Clock e latch checa_bit: If temp.0 = 1 Then ;ler o bit 0 de temp PORTB 0.6 = 1 ;coloca o bit 0 de temp na entrada de dados do shif register Else PORTB 0.6 = 0 ; End If WaitMs 1 ;aguarda que o dado estabilize GoSub clock ;chama a sub rotina clock para inserir 1 bit no shift register If temp.1 = 1 Then ;faz a mesma coisa descrita acima para o bit 1 e assim PORTB 0.6 = 1 ;sucessivamente até o bit 7 Else PORTB 0.6 = 0 End If WaitMs 1 GoSub clock ----------------------------------------------------------------------- If latch = "0" Then ;transfiro para a saida do shift register indicado pelo ;pelo conteúdo de latch PORTB 0.5 = 1 ;no caso presente, liguei 6 shift's register onde o WaitMs 1 ;sinal de dados e de clock entra em todos e em apenas 1 PORTB 0.5 = 0 ;o indicado pelo sinal de latch transfere os dados para a End If ;saída do shift register ----------------------------------------------------------------------------- clock: portB.7=1 waitMS 1 portB.7=0 waitMS 1 return Espero ter ajudado.... Abraços a todos IAS
  15. Amigo Paulo... Seja bem vindo no seu retorno. A sua presença tem feito falta por aqui. Quanto ao circuito de acoplamento isolado RS232 disponibilizado um pouco atrás, o protótipo já montado está funcionando redondinho a 2400 Bps, sem erros ou falhas. Tendo procurado na net e não encontrado nada, disponibilizei-o aqui, talvez possa interessar a alguém. TcheCara e JFeliciano - Gostaria de sugerir se me permitem o uso do Shif Register 74HC595, estou usando o mesmo em um projeto com o PIC, é um circuito atual (o 74LS164 está obsoleto) fácil de encontrar, com baixo custo e tecnologia HC....como estou trabalhando em algo similar e já tenho as placas montadas, talvez possamos nos ajudar mutuamente - o que o meu sistema já faz: envio do PC via RS232 seis palavras de comando, uma para cada shift register 74HC595 e em cada saida dos mesmos aciono um relé ou seja: desejo acionar o relé X do shift register Y - envio uma palavra de comando com o endereço do shift register Y, relé X e após o recebimento da palavra de comando válida, envio de volta para o PC uma string "Comando Processado", se é uma palavra de comando não válida, o PIC retorna uma string "Erro na Comunicação Serial", seguida da palavra de comando errada. Com esse sistema consigo fazer qualquer combinação de acionamento dos relés (&H00 a &HFF). Espero ter ajudado de alguma forma... IAS

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!