Ir ao conteúdo
  • Cadastre-se

TcheCara

Membro Pleno
  • Posts

    132
  • Cadastrado em

  • Última visita

Tudo que TcheCara postou

  1. Saudações mestre, Veja só em uma palavra tenho letras justapostas lado a lado, razão pela qual não posso pegar letra por letra e deslocar para a esquerda pois ai estarão se afastando uma da outra. Tenho que ter os bytes de todas juntas e ai deslocar o conjunto. Ficará mais fácil fazer em ASM. Vamos a luta. Abraço.
  2. Olá Felipe, Encontrei isso aqui, JUNTAR BYTES Tanto na função fk como na função f é necessário, no fim, "juntar" secções de 8 bits numa só sequência de 32 bits. SOLUÇÃO: - definir uma variavel de tamanho apropriado; - deslocar cada uma das secções para a sua posição correta; - combinar todas as secções numa sequnecia só. (X0 << 24) | (X1 << 16) | (X2 << 8) | X3 ; X0 = 11100101; X1 = 11010101; X2 = 11110010; X3 = 10101010 X0 << 24 11100101 00000000 00000000 00000000 X1 << 16 00000000 11010101 00000000 00000000 X2 << 8...00000000 00000000 11110010 00000000 X3..........00000000 00000000 00000000 10101010 |............11100101 11010101 11110010 10101010 ====> Talvez minha solução esteja por algo parecido se não for esta. =======> TERIA QUE SHIFAR PARA COLOCAR ZEROS A DIREITA E DEPOIS SOMAR TODOS == ==========Seria isso ????????????? Complicado não!!!!!!!!!! Mas não é dificel. =====> O codigo mostrado acima seria em ASM se é fica simples porque em basic ficaria mais complicado pelo numero de operações. Assim: 1- Eu leio um dado na eeprom digamos letra A case 65 que corresponde a letra A então, digito1(0) = 1010101 ' corresponde a linha 1 da matriz de leds digito2(0) = 0010010 digito7(0) = xxxxxxxx ' corresponde a linha 7 da matriz de leds 2 - Eu leio novo dado na eeprom digamos letra B case 66 que corresponde a letra B então, digito1(1) = 1110101 digito2(1) = 0010110 digito7(1) = xxxxxxxx Após ler todas as letra de uma palavra eu terei então: digamos ABRAÇO digito1 (0) = 1010101 1110101 xxxxxxx xxxxxxx xxxxxxx xxxxxxx A,B,R,A,Ç,O digito7 (0) = ....................................................................A,B,R,A,Ç,O Apos todas as linhas preenchidas eu dou inicio as operações de escrita. É isso ai meu amigo.
  3. Olá Felipe, Fiquei confuso se poder explica melhor por gentileza. Como assim, superior (upper) a alta (high) e a baixa(low). Usando o meu exemplo como seria os comandos, na real o numero de de bits será bem maior. Abraço.
  4. É isto ai Professor, A euforia é tão grande em atingir os objetivos após tanto quebrar cabeça que a satisfação em divulgar e ajudar aos outros é enorme. Quanto as suas ponderações eu tenho a dizer que no meu caso a comunicação entre PC e PIC será "Simplex" com o uso de um transistor apenas no sentido RX do PIC. E usarei um software no PC onde após digitada a frase pressiona-se uma tecla de envio onde os dados serão enviados de uma só vez. É possivel que nos testes eu tenha que adequar um tempo viável, vou mudar então de 2 para 5 ms. Um abraço, Enio. Bom dia meus amigos, O seguinte: a=00010101 b=10000001 c=00001000 Qual seria a maneira de juntar esses bytes em uma unica variavel conforme abaixo fila=000101011000000100001000 Agradeço desde já a atenção dispensada.
  5. Olá meus amigos, Eureka............... Finalmente consegui fazer funcionar a comunicação PC X PIC. estou disponibilizando os códigos para auxiliar os iniciantes como eu. A coisa funciona assim: Envio codigo ASCII pelo PC e gravo direto em uma memória EEPROM. 'PIC: 16F628A Define CONF_WORD = 0x3f70 Define CLOCK_FREQUENCY = 4 AllDigital TRISA.2 = 1 TRISA.3 = 0 TRISB.1 = 1 Dim rxbuff(7) As Byte Dim dado As Byte Dim addr As Word 'endereço memória Symbol sda = PORTA.2 Symbol scl = PORTA.3 Hseropen 9600 For addr = 0 To 6 loop: Hserget dado If dado = 0 Then Goto loop rxbuff(addr) = dado WaitMs 2 I2CWrite sda, scl, 0xa0, addr, dado 'escrevendo dado na memória Next addr Segue o link com video demonstrativo http://www.enterupload.com/09rzq1tr2y30/COMUNICAÇÃO___PC_x_PIC.FLV.html
  6. Valeu mestre, realmente tá tudo ali. Vamos ao trabalho. Comecei a brincar com o lookup e montei um teste para verificar seu funcionamento no caso setei para letra "A". Estou postando o código pode ser útil para o iniciante. Terei que fazer um case para cada algarismo, bota serviço braçal. seta_linhas: letra = a Select Case letra For k = 0 To 6 Case a dig = LookUp(4, 10, 17, 17, 31, 17, 17), k linha(k) = dig Case b dig = LookUp(30, 9, 9, 14, 9, 9, 30), k linha(k) = dig EndSelect Next k PORTB = linha(0) WaitMs 200 PORTB = linha(1) WaitMs 200 PORTB = linha(2) WaitMs 200 PORTB = linha(3) WaitMs 200 PORTB = linha(4) WaitMs 200 PORTB = linha(5) WaitMs 200 PORTB = linha(6) WaitMs 200 end ESTOU POSTANDO AQUI PARA OS AMIGOS UM SOFTWARE PARA EDITAR MENSAGENS através DO PC E GRAVAR NUMA eeprom. http://www.enterupload.com/dtphgv0ebe4i/LED_MSG.exe.html Até mais.
  7. Valeu Professor, Gostei do novo avatar, muito real. Vou adicionar então mais um chip no meu projeto, a coisa tá complicando mas vai ficar bem profissional. Quanto ao uso do PC teria que fazer um software para fazer as edições? Me parece que no windows já tem um terminal para isso. Vi num projeto a EEprom 24C256 eu acho que serve.
  8. Olá Ias, Pois é meu amigo que coisa, veja só a cada nova frase que eu queira rodar terei que entrar nas entranhas do programa e ordenar as letras para sua formação. Seria bem mais simpático se eu apenas armazenasse numa variavel e o sistema se encarregaria de processar a coisa automáticamente mas sem essa variável não tem jeito. E você acredita que nem o ASM teria essa possibilidade. Puxa que desencato. Valeu meu velho.
  9. :priv:Mi magoei vou pro asm. :cry:isnif, isnif, isnif,........................ Oh prof não faz assim, tadinho do monstro criou ele agora agüenta. KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK Valeu a dica de usar 7 ponteiros mas a opção de usar um 16F877A não serve uma vez que a intenção é aumentar o número de display e ai não tem como escapar do Shift Tá bom vou deixar concluir a próxima apostila:D. Prof desculpa a brincadeira é só para desestreçar. Um abraço. Vou perguntar aos "Universitários" então. Guiris é o seguinte: Como declarar no PSI uma variável de cadeia onde é armazenado somente textos. No velho basic se expressava assim a variável: frutas$ = "uva" Tentei inplementar no PSI uma variável para entrar com textos e não tive êxito. Com a palavra os amigos universitários. Gente sem brincadeira mas estou apanhando com uma coisa básica, não encontro informação em lugar algum veja só conforme os livros de basic "$" caracteriza uma variável string onde a forma escrita seria "frutas$" o PSI não aceita declaração String.
  10. Boa noite a todos, Professor Paulo gostaria de tirar uma duvida com o amigo. EXEMPLO: FRASE: “Bom dia” Como capturar letra por letra para ingressar em “seleciona” Para obter os bytes relativos a cada linha para formar a letra. Poderia usar o LookUP ? Como lançar as variáveis para isso? A parte final acho que tá legal o meu problema é o inico, a captura das letras na frase. Exemplo: Letra B =======matriz 7 linhas X 5 colunas Linha1=30 Linha2=9 Linha3=9 Linha4=14 Linha5=9 Linha6=9 Linha7=30 seleciona: Select Case letra For k = 1 To 7 Case a dig = LookUp(4, 10, 17, 17, 31, 17, 17), k Case b ---bytes da letra b dig = LookUp(30, 9, 9, 14, 9, 9, 30), k case ....... EndSelect linha(k) = dig WaitMs 2 Next k Um abraço.
  11. Saudações aos amigos do ASM e do BASIC, Olá Professor, continuo fiel a familia BASIC (equipe titular) o ASM seria um reserva que eventualmente temos que tirar do banco para suprir alguma necessidade emergente.KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK Desculpe meus amigos a vaidade é tudo brincadeira afinal somos todos uma grande familia. Continuando o meu desafio, aos poucos vamos progredindo pois de grão em grão a galinha enche o papo(essa foi cruel KKKKKKKKKK). O seguinte: Tenho uma tabela 7 X 24 (cordenadas x, y) Como armazenar na memória usando endereço com 2 coordenadas (no plano) se o comando que conheço "Write a, b" é linear ("a" endereço e "b" o dado gravado). Pensei em faze algo tipo a = x, y mas não tive êxito. Um forte abraço.
  12. O Jorge postou isto aqui no forum Define CONF_WORD = 0x3f50 Define CLOCK_FREQUENCY = 4 AllDigital TRISB = 0 Dim cont As Byte cont = 0 For cont = 0 To 8 PORTB.0 = 1 ASM: rrf portb,f WaitMs 1 Next cont End Eu acho que é por ai a solução, mesclar basic com asm. O próprio Paulo confessa que já teve que recorrer a isso. KKKKKKKKKKKKKKKKKKKKKK Valeu, estou abrindo os horizontes para tentar como solução.
  13. Oi amigo Felipe, Estou trabalhando numa matriz de leds e quero implementar o deslocamento do caracter onde digamos terei 8 frames e a cada frame terei um deslocamento de um bit. No ultimo frame o caracter some e começa a aparecer o seguinte indo da extrema direita para a esquerda. A ideia de mesclar conhecimento de basic com assemble me parece boa pois assim o professor não perderá um aluno promissor.KKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
  14. KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK Pois é gurizada o Mestre Paulo vai ficar com os cabelos em pé ao ver esses tópicos falando mal do Basic mas não é querer falar mal mas a coisa já iniciou mal pois os caras deram um nome infame para a linguagem "Basic" se fosse The Easy, qualquer nome que não rotulasse como algo que é basico. Agora já era falou tá falado.KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK Desculpe Professor foi mal. KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK Perdoai esses ignorantes eles não sabem o que falam.
  15. Pois é parceiro a muito que venho observando que o basic não vai muito longe vira e mexe você cai no asm uma porque é fácil de encontrar informações e outra pouco se fala no basic, é uma linguagem fácil mas me parece restrita e se não é, falta divulgação. como iniciação com certeza é muito boa. O Pic Basic Simulator cria um arquivo asm quem sabe a partir dele eu consiga tirar algumas lições e até implementar isso ai. Valeu amigo.
  16. Pois é meus amigos eu vi algo parecido com que eu quero implementar onde shiftleft variava de 1 até n casas de avanço e seria em asm, será que não teria nada equivalente em basic. Outra forma seria reinscrever sempre o ultimo byte pois este teria um segundo avanço e assim por diante mas o problema e como obter o valor no caso: palavra = 00000001 seria escrito no pino de dados 00000010 como capturar para escrever por exemplo palavra1 = 00000010 ai na reescrita eu teria 00000100 e assim por diante.
  17. Olá meus amigos, Estou postando aqui uma dúvida em relação ao funcionamento do ShiftLeft. Exemplo: Simplificado Palavra = 00000001 For col = 1 to 8 If palavra.7 = 0 then ----- bits de 1 a 7 = 0 então Dado = 1 Else Dado = 0 Endif Palavra = ShiftLeft (palavra, 1) --------- coloca um Zero na extrema direita ( 8º bit) Next col Fica assim na saída do 74HC595 Entrada 00000001 ---------- saída 00000010 Eu quero isto na saida: 1-00000010 2-00000100 3-00001000 4-00010000 5-00100000 6-01000000 7-10000000 8-00000000 Pergunta: Como fazer o deslocamento ir de 1 à 8 zeros de maneira que à cada frame ocorra um deslocamento contínuo. Tentei fazer Palavra = ShiftLeft(palavra, n), onde n iria variar de 1 até 8 mas não funciona, a qualquer valor de n o deslocamento é sempre de um não havendo evolução da imagem ao longo dos frames. Agradeço qualquer ajuda. Um abraço.
  18. Olá amigo ma2008, Estou disponibilizando neste link uma tradução em português, faça bom proveito. Um abraço. http://rapidshare.com/files/363791460/Comandos_basicos_de_Basic.pdf.html
  19. Oi amigo ma2008, Eu implementei este código no Pic Basic Simulator e funcionou legal e montei no Proteus e também funcionou numa boa. Sòmente quando aciona as tres chaves acende o Led. Confere a sua configuração pois o software tá legal. Não esqueça de colocar um resistor de 1k e um capacitor de 10 uf no pino de reset do PIC.
  20. Saudações amigo Ma2008, Também sou novato aqui e quero dar minha contribuição. Sugiro ao amigo dar uma olhada na apostila do Paulo pois ela tem como objetivo ajudar aos iniciantes com informações sobre o PCI acompanhada de exemplos bem interessantes. Tenho certeza que lhe será bem útil. Segue link do Tutorial : Introdução ao uso de PIC´s em BASIC com o PIC Simulator IDE - Parte 1/2 http://www.4shared.com/file/11793880...SO_DE_PIC.html Um abraço e um bom estudo, Enio.
  21. Boa noite Professor, Desculpe a falha, segue o linck do esquema elétrico. http://www.enterupload.com/i5gjyt9fhuw5/MATRIZ.jpg.htm Estou usando clock interno não consegui habilitar o externo. Um abraço e obrigado pela atenção, Enio.
  22. Saudações aos amigos:-BEER Olá Paulo Estou anexando o link do meu software matriz de led. http://www.enterupload.com/8qztma0bayor/matriz_leds.bas.html Se possivel dá uma olhada para nós pois já estou à dias quebrando cabeça:muro: e não estou conseguindo obter êxito. Um abraço, Enio.
  23. Valeu Professor, Foi ligar o clock nos pinos 11 e 12 juntos e a coisa funcionou legal. Agora eu vou para o protoboard para ver como vai ser na real. Vejam só eu fiquei fascinado com o proteus que pensei que protoboard era coisa do passado mas infelizmente ainda não. Até mais, Enio.
  24. Olá IAS, Tentei usar o 74HC595 conforme tu sugeriu mas ele não é um substituto direto do 74LS164 porque ele não está reproduzindo os mesmos resultados. O latch que você descreve seria o pino 12 STcp ? Neste pino eu teria 0 ou 1 enviado para o PIC e no momento que for zero eu dou o clock para enviar os bytes é isso? Abraço, Enio.
  25. Valeu Professor, Amanhã vou comprar os componentes e ver a coisa na real. Me adiantando um pouquinho, eu fiz uma tabela para cada letra para montar os bytes. Para deixar a coisa mais profissional como num projeto teu com LCD onde se escreve "ola" e sai no LCD ola eu teria que montar um banco de dados com essa tabela e fazer associação a medida que cada letra entra?

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!