Ir ao conteúdo
  • Cadastre-se

josias001

Membro Pleno
  • Posts

    31
  • Cadastrado em

  • Última visita

Tudo que josias001 postou

  1. Amigo: Eu carreguei no comentário justamente para chamar a atenção da nossa amiga e também para justificar o post, mostrar que a minha observação não é inútil. (Não consegui achar um emoji que representasse melhor a ironia, quando escrevi grave erro técnico.) Imagino que muitos de nós veem ela como uma professora. Por motivos óbvios, o erro de um professor é pior que o erro de um aluno. Sem as devidas explicações (que ela forneceu depois que eu a "cutuquei") alguém ( um novato que busca no fórum material de apoio) poderia achar que pode reproduzir no protoboard o que ela fez no simulador e acabar tendo problemas. Se frase for analisada dentro do contexto em que ela foi escrita, "No meu post anterior denunciei um erro grave (técnico) na tua simulação, que teoricamente representa um projeto." a interpretação (no meu ponto de vista) ficaria assim: Se a simulação (sem resistor limitador de corrente para led) representa o projeto, logo o projeto está errado. Tudo bem não colocar esse resistor limitador de corrente para led numa simulação, mas se for divulgá-la, seria interessante explicar que, caso a pessoa pretenda colocar o circuito num protoboard, não se esquecer desse bendito resistor. Mas não vamos transformar isso num caso federal, se está bom para a maioria, por mim tudo bem! Não tenho por que ter rusgas com a mesma já que ela só fez me ajudar nesses dias em que tenho participado do fórum. O fato dela fazer terapia não me incomoda, quem é perfeito?(essa parte aqui é uma brincadeira). Esclarecidos os fatos, voltemos à vaca fria! Segue o baile!!!!! Josias001
  2. @Isadora Ferraz Amiga: No meu post anterior denunciei um erro grave (técnico) na tua simulação, que teoricamente representa um projeto. Tenho certeza que foi por esquecimento e não por falta de conhecimento. Acho que isso soma algo tecnicamente mínimo ao post, pois quem ler vai saber que em série com um led, sempre vai um resistor limitador de corrente. Quase perdi certa vez uma centena de PCBs por ter esquecido de colocar resistores limitadores de corrente no layout da placa, por isso acho que tal observação é relevante. Mas agradeço o conselho, não sou de ficar de papo furado, minhas intervenções (sempre bem-humoradas) sempre tem a ver com algum assunto relacionado ao propósito do Clube do Hardware. Josias001
  3. Amiga: Aparentemente você usou como base para sua simulação o meu programa. Agradeço a cooperação, ficou muito bom e agregou conteúdo à minha inspiração. Mas infelizmente não poderei dividir os créditos com você pois já o fiz com nosso amigo. Mas, num futuro próximo espero contar com sua parceria, para ilustrar meus sensacionais programas (se você me prometer que da próxima vez, vai colocar um resistor em série com o led, para evitar problemas), mesmo que seja para ajudar na sua terapia. Melhoras. Josias001
  4. Perfeito, meu amigo! Confesso que fiz o programa meio "nas coxas", por preguiça não procurei uma precisão. Como pode ver no meu post anterior, cheguei à mesma conclusão que você (*.jpg com a forma de onda, mas no começo eu me confundi um pouco ---> 1 segundo aceso, 1 segundo apagado (isso não é 1 Hz)). Concordo que meus 16F628 são antigos (acho que comprei em 2005), mas para quem aproveita TTLs de placas de IBM PCs, para experimentos, estão de bom tamanho. Ainda assim, para a confecção de alguns produtos, eu não os trocaria por outros, dada a familiaridade que eu tenho com os mesmos. Com prazer, divido com você então os créditos por ter encontrado uma solução (parcial, não tão precisa) para a questão do pisca_led_1 Hz. Então a configuração do Option_Reg para prescaler 1:128 fica assim: movlw B'10000110' movwf Option_Reg Josias001
  5. @aphawk @Sérgio Lembo Senhores: Aqui cabe uma errata, que não altera o tamanho do código: Onde se lia, tempo = 31, lê-se tempo = 15 Se Hz = vezes por segundo: Frequência de interrupção = clock/prescaler/(256-TMR0) Frequência de interrupção = 1MHz/256/256 = 15,25 Hz Período = 1/F = 1/15,25 = 0,065536 segundo x 15 = 0,98304 segundo Clock = Frequência de oscilação/4 Clock = 4MHz/ 4 = 1MHz Não dá 1 segundo exato mas é aproximado! OBS1: Aparentemente não dá para fazer upload de arquivos *.hex OBS2: Para fazer uma forma de onda como essa do anexo (uma piscada por segundo) recomendo substituir Tempo= 15 por Tempo=7. josias001
  6. Amigo: A análise que eu faço do disassembly é a seguinte (não sei se está correta): - PIC 16F628 = 2048 X 14 bits de memória de programa flash (2kword). -14bits é a largura da memória de programa (desses 14 bits, 8 bits são para decodificação de instruções e 5 bits para endereçamento direto). A memória de programa desse uC possui 2048 linhas de programação, cada linha representa 1 word (14 bits) e o programa Pisca-Led (1Hz) ocupou 21 linhas de programação (21 words). Josias001
  7. Os amigos perdoem a minha insensibilidade, não fiz por mal... Presumi erroneamente que todos nós falávamos uma mesma língua, foi mal. ( Isso acontece comigo com uma certa frequência, preciso ficar me policiando...) Segue anexo versão do programa com comentários. Qualquer dúvida, estou à disposição. Josias001
  8. Cola tá valendo????????????????? Então vejam o programinha que eu fiz (anexos). Acho que dá uns 21 words ( me corrijam se eu estiver errado !) OBS: Só não faço uma animação como aquelas que nossa amiga faz, porque eu não sei fazer. josias001
  9. Nem todos são idosos, tem gente "jovem" aqui (veja os comentários anteriores!) Não peguei a época das válvulas, mas nas aulas de televisão no laboratório do colégio técnico, às sexta-feiras (22:00 Hs) nós (já de saco cheio) assistíamos novela nos osciloscópios ( verdade!). Não dava para ver com nitidez mas víamos os vultos dos atores nos idos de 1977... E tem o lado bom de ser idoso: Com a idade vem a experiência e a sabedoria, não cometemos mais os erros da juventude... Concordo. Para cada situação, uma resposta à altura. Também acho que é muito mais fácil aprender com um uC mais simples do que com um uC mais complicado. E é também mais fácil aprender com um 8051 (que possui muita literatura a respeito e também muitos tutoriais) que com um STM32 que é mais moderno, porém sem tanto material de apoio. Bem vindo ao debate. Josias001
  10. @Isadora Ferraz Jovem Amiga: Agradeço a ajuda, agora deixa comigo que daqui prá frente eu desenrolo. Espalhe isso, por favor: muita gente precisa ouvir esse testemunho... Seria perfeito se esse uC viesse em encapsulamento DIL, facilitaria bastante. É claro que, quando disse isso, não me referi à aprender programar o STM32F103. Se fosse assim eu nem pediria prá você perder seu tempo me passando informações. Eu me referi à aprender coisas que você nunca vai usar na vida, tipo : o jogo de xadrez dos esquimós ou trigonometria em algarismos romanos. Agora vamos falar sério, eu quero jogar limpo com você, não quero iludir ninguém... Vamos colocar as cartas na mesa... Eu quero deixar muito claro prá você que por enquanto não existe compromisso nenhum entre eu e o STM32F103, nós só estamos nos conhecendo (estamos ficando), portanto não alimente esperanças (de que o STM32F103 passe a ser meu uC padrão). Ainda sou leal aos PICs (casamento de mais de 10 anos com vários filhos (produtos & programas) e muitos (muitos mesmo) livros (de papel)). (Fui apresentado ao PIC 16F628 pela microchip num momento difícil da minha vida, numa encruzilhada profissional onde um "velho" técnico em eletrônica de linha de produção, que gostava de TTLs e eletrônica digital (década contadora, shift- register,portas OR, END, etc) perguntava a si mesmo o que fazer a partir de então... Foi amor à primeira vista (ou ao primeiro programa). Desde então me "casei" com os PICs e isso dura mais de 10 anos, um casamento feliz.) Minha relação com o STM32F103 é, por enquanto um "namoro de verão", uma escapadinha, um rolo inconsequente. Josias001 OBS: Perdoe as brincadeiras, não leve a sério, estou de bom humor! Não esqueci o motivo lógico, coerente, inteligente alegado por você para mudanças = custo final do produto, etc.
  11. Amigo: Eu também acho que nunca irei precisar de 128K de memória de programa. Também no meu caso, 8k está de bom tamanho, talvez 16K em alguns casos ( em ASM) Com disse nossa colega, precisamos baixar os custos do produto... Somos contemporâneos... Ainda tem espaço no meu cérebro para novos aprendizados, mas eu procuro otimizar ao máximo os recursos da minha massa encefálica. Não devemos perder tempo com coisas supérfluas. Josias001
  12. @Isadora Ferraz Amiga: Diante da tua defesa (apaixonada) de novos horizontes em termos de microprocessamento e diante também de sua persuasiva argumentação, eu me vejo numa condição de perturbadora curiosidade a respeito desses uCs. Sendo assim gostaria de contar com sua colaboração para começar a explorar esses componentes: - Recomenda começar por qual componente? - Existe algum compilador gratuito? (de graça, até injeção na testa:- sou fã do SDCC) Dependendo unicamente desses dois fatores, acho que consigo fazer alguma coisa com esses microcontroladores... OBS1: Me passe um programinha simples (porém completo, com configuração de registradores, palavra de configuração, etc. pode ser um led piscando) feito para esse tal uC para eu ver como é que é ( se não for pedir muito). OBS2: Se puder me recomendar alguma literatura a respeito, eu também agradeço. Josias001
  13. @Sérgio Lembo Amigo Sergio Lembo: Em primeiro lugar eu quero dizer que respeito a opinião de todos ( No conselho de anciões, há sabedoria) Não estou ao nível vocês em termos de conhecimento a respeito de microcontroladores. É como se fôssemos todos agentes da CIA, só que vocês são nível 7 e eu, nível 4, ou seja, o acesso de vocês é maior que o meu. (Não tenho a pretensão de me tornar um agente nível 7, se não houver necessidade. Poderia ganhar mais, ter mais status mas me sobraria pouco tempo para fazer as coisas que eu faço como agente nível 4 e que me apraz. Se eu tiver que aprender a usar esses uCs poderosos, não quero fazê-lo somente para fazer leds piscarem, quero fazer projetos que estejam à altura do hardware do microcontrolador, senão não faz sentido.) Apesar disso, como diria o Didi Mocó, eu dou as minhas "cacetadas", trabalho profissionalmente com PICs e tenho por hobby fuçar com 8051s e arduínos. Também gosto de desmontar IBM pcs e usar os TTLs para fazer equipamentos muito úteis usando circuitos lógicos (Ultimamente tenho usado PICs para fazer isso). Paguei R$ 8,00 num 8051, baixei o SDCC gratuitamente e também baixei muitas apostilas e PDFs da internet que me ensinaram a programar em C o 8051. Gastei um pouco mais no gravador e num Kit de desenvolvimento para 8051 por que fiquei com preguiça de usar protoboard. Foi mamão com açucar! Logicamente (como diria o Sr. Spock) eu reconheço a necessidade de evolução, mas eu ainda não senti a necessidade de evoluir. Ainda não está na hora. Ainda consigo me virar (muito bem) profissionalmente com os PICs. (Me dou bem com os macacos na caverna! ) Um dia talvez eu me veja na necessidade de aprender a lidar com uCs mais poderosos, quando esse dia chegar, quando essa necessidade chegar eu com certeza serei um agente nível 7, como vocês. Para tentar expressar o que eu sinto no momento em relação a esse assunto, vou citar algo que aconteceu na fórmula 1: - A Renault estava "voando" na pista com seus motores V10 e a Ferrari estava desesperada, pois não conseguia acompanhar. Aí tiveram a ideia (a Ferrari) de migrar para motores V12. Foram perguntar para os representantes da Renault o que eles achavam disso. Com muita segurança eles responderam: - Ainda tem muita coisa que dá para fazer (melhorar) nos motores V10 antes de optarmos por um motor V12! Vocês, programadores mais experientes necessitam de uCs mais poderosos para seus projetos. Eu me contento no momento com PICs, 8051s e arduínos. No momento eles são suficientes. Tudo o que vocês disseram faz sentido mas, por enquanto, não é para mim. Meus projetos não excedem a capacidade dos uCs que eu utilizo, sou um sapateiro e o meu negócio é sandálias " Não vá o sapateiro além das sandálias " Agradeço a interação e como já disse, respeito todas as opiniões. OBS1: Me perdoe as brincadeiras, estou muito falante e de bom humor hoje! OBS2: Comparo os uCs que eu estou acostumado a usar com minha extinta CBzinha (400) e esses que vocês citaram com a Kawasaki H2R (top do top): - Se eu tivesse dinheiro para comprar uma H2R, provavelmente eu me mataria com ela (cada macaco no seu galho) Josias001
  14. @Phenom_X4 Boa dica! Inspirado por essa informação, fiz uma nova versão do programa, que utiliza o auto-reload do TMR2, no uC at89s52 (é da família do 8051). De primeira não funcionou (coloquei interrupt 1 no lugar de interrupt 5) mas depois que eu corrigi, funcionou normal. Tudo muito fácil. Josias 001
  15. Achei o erro. A palavra de associação do TMR2 é interrupt 5. Eu estava usando a palavra de associação interrupt 1 que é do TMR0. Corrigi e está tudo funcionando. Josias001
  16. Bom Dia: Estou tendo problemas para fazer o TMR2 do at89s52 (família do 8051) funcionar com o auto-reload. Se alguém estiver vendo no meu programa algum erro que eu não estou conseguindo enxergar, por gentileza, se manifeste... valor após reset do registrador T2CON configura o timer 2 para 16bits auto-reload,o valor após reset do registrador T2MOD configura o timer 2 para contagem progressiva void main(){ EA=1; // habilita chave geral das interrupções ET2=1;// habilita a interrupção do TMR2 RCAP2H=0X3C; // CONFIGURA O VALOR DE AUTO-RELOAD RCAP2L=0XAF; // CONFIGURA O VALOR DE AUTO-RELOAD TR2=1; // inicia a contagem do TMR2 LCD_init(); ........... void timer() interrupt 1{ TF2=0; //apaga o flag da interrupção do TMR2 voltas++; if(voltas==20){ voltas=0; contagemS++;} if(contagemS >= 60){ contagemS=0; contagemM++; } if(contagemM >= 60){ contagemM=0; contagemH++; } } at89s52_ds.pdf
  17. @Isadora Ferraz OK! Concordo que essa também é antiga...
  18. @Phenom_X4 @Isadora Ferraz @aphawk Realmente a pausa, aparentemente não é necessária, mas a recarga acrescenta tempo extra ao contador. Mas como já disse, todas as alterações necessárias para o perfeito funcionamento do relógio foram feitas e ele está funcionando perfeitamente. Agradeço as explicações, eu queria entender o que estava acontecendo e entendi perfeitamente. Boas Festas à todos Agora tenho que cuidar do velho* que está passando muito mal, está para morrer. *2019 Josias001
  19. @Isadora Ferraz Bom Dia: Não vamos perder tempo (entendeu? perder tempo, relógio....) void timer() interrupt 1{ TR0=0; // aqui pausa a contagem TH0=0x3C; // ACHO QUE É AQUI QUE EU TL0=0xC6; // ESTAVA ME ATRASANDO --> exatos 23uS TR0=1; // aqui reinicia a contagem* voltas++; // if(voltas==20){ // Tenho na pior das // hipóteses, 49.977uS // para rodar esse // voltas=0; // resto de programa e // sair da interrupção sem contagemS++;} // comprometer a // nova contagem*, acho // que é tempo de // sobra! if(contagemS >= 60){ // contagemS=0; // contagemM++; } // if(contagemM >= 60){ // contagemM=0; // contagemH++; } // } OBS: Lembrando que o problema já foi resolvido, o relógio não está mais atrasando e nem adiantando, eu só não estava conseguindo entender o que estava acontecendo.
  20. @Phenom_X4 Entendi. Não havia levado em consideração esses detalhes. Isso explica tudo. Agradeço a ajuda. Agora tudo faz sentido. Josias001
  21. Boa Noite: Usei o timer0 do 8051 para conseguir contar o tempo em espaços de 1 segundo. A cada 65.535 incrementos de 1uS (12MHz /12) é gerada uma interrupção. Fiz com que a contagem de incrementos sempre começasse em 15.535 para que o resultado fosse 1 segundo (65.535 - 15.535 = 50.000 x 20) No tratamento da interrupção : 50.000uS x 20 = 1 segundo. Só que em comparação com meu relógio Casio e com o relógio do computador, estava atrasando. Aí mudei o começo das contagens para 15.558 (65.535-15.558 = 49.977 x 20 = 0,99954 segundos) e consegui fazer o relógio 8051 funcionar sem atrasar e nem adiantar. Alguém teria uma explicação para isso? Teoricamente não haveria necessidade desses ajustes para o relógio funcionar corretamente. OBS: (Por favor, sem aquela piada do tempo das válvulas:-" Relógio que atrasa, não adianta" ) Josias001
  22. @Isadora Ferraz Amiga: Por favor, não despreze o velho 8051! É um excelente uC... e pelo que eu pude apurar, ele ainda é a base dos estudos sobre microcontroladores em muitas escolas (muitos entram no mundo maravilhoso dos microcontroladores através dele), e ele ainda é produzido por muitas empresas, está longe de ser aposentado. Confesso que por ser um projeto antigo, falta alguns recursos ( quando coloquei a carroça na frente do cavalo* e fiz meu relógio mestre-sinaleiro só pude colocar 18 alarmes no mesmo (que já está funcionando) porque faltou memória RAM para a criação de variáveis) mas para o básico ele ainda serve muito bem. Quanto aos stm32fxxx, eu lembro um provérbio: " O tigre caça presas grandes como búfalos, já o gato caça ratinhos" ou então um antigo ditado sumério: " Não vá o sapateiro além das sandálias " Reconsidere, por gentileza * Perdoe a provocação, não consegui resistir... Josias001
  23. Boa Tarde: Para encerrar esse tópico, comunico que, uma maneira muito fácil (na minha opinião) de lidar com as chaves da linguagem C, para quem programa 8051 com o compilador SDCC é usar a IDE do Arduíno, que exibe a chave correspondente quando você destaca uma delas. Graças à esse macete e à divisão do programa em várias partes (funções), consegui fazer o relógio sinaleiro sem maiores dificuldades, que mostra as horas e o dia da semana no display LCD, assim como 7 alarmes (alm1, alm2, alm3...etc) que podem ser configurados para tocar todos no mesmo dia ou nos outros dias da semana. OBS: Acostumado com os PICs, quando conheci o 8051 não dei muito valor, pela ausência de recursos e pelo baixo fornecimento de corrente de saída. Agora reconheço que é um grande uC, muito bom.
  24. @GusGraf Boa Tarde: Agradeço a dica. Farei alguns testes, se funcionar, eu volto e digo como foi. Mesmo que não funcione, eu agradeço a tua boa vontade. Josias001
  25. Boa Tarde: Eu não sei ao certo se é essa parte do fórum que responde dúvidas sobre esse assunto, se não for, me orientem, por gentileza. Eu tenho um notebook IBM R51e Intel Pentium M processor 1.73GHz, 1,9GB RAM, Standart VGA Graphics Adapter windows 7 Home Basic 32-bit SP1 Originalmente ele veio com o Windows XP e ele lia cartões MicroSD normalmente. Quando instalei o Windows 7, ele passou a não reconhecer cartões de memória, ele nem percebe a presença dos mesmos mas, as minhas duas portas USB funcionam normalmente, inclusive com pendrives. O que será que está acontecendo? Alguém teria uma solução? Agradeço antecipadamente qualquer ajuda. Josias0001

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...