Ir ao conteúdo
  • Cadastre-se

Assembly 8051 - Programação & Hardware sobre este MCU


xyko-2020

Posts recomendados

Pretendo gravar At89S51 ou At89S52.

O esquema da pagina http://www.coolcircuit.com/project/atmel_isp/ diz que não é necessário alimentação externa e usa a alimentação da propria porta que é 4,5 a 5V. Quando conecto todos

os componentes, a tensão cai para 3,4V. Acho que o gravador nao irá conseguir gravar com essa tensão.

Será que posso modificar a alimentação do at89s51 para externa e deixar a alimentação do 74HC541 com a porta LPT1?

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

A porta paralela do micro não fornece alimentação, o que ela fornece são níveis lógicos.

Aproveitar um nível '1' para alimentar um circuito não é uma boa ideia. Somente pode ser usado se o consumo for mínimo e não precisa de estabilização.

Use alimentação externa para todo o circuito.

Link para o comentário
Compartilhar em outros sites

Obrigado pela dica. Mudei a alimentacao e funcionou, mas tive que mudar para um pc Desktop. Eu estava usando um note e acho que a porta LPT1 tava ruim. Gastei um tempão e na verdade era a porta do note.

Vou fazer um programador serial para nao ter problemas com portas que nao funcionam.

Valeu!

Link para o comentário
Compartilhar em outros sites

  • mês depois...

Olá Soschip,

Esse gravador ISP

http://www.ikalogic.com/isp.php?sid=295c4a89cc0d865338ef75bef188ee64 ele funciona perfeitamente com o 89S52 ? EU pensei em mandar fazer o circuito impresso .PCB que está indicado em "6. User contributions". Foi esse mesmo gravador que voce usou no 89S52 e funcionou ?

Link para o comentário
Compartilhar em outros sites

Obrigado,

Mais algumas perguntas a respeito deste gravador:

- Este soquete pode ser o de 10 pinos (IDC fêmea se não me engano) ?

- Para que serve a chave S0 ?

- Como é feita esta conexão USB ?

valeu.

EDIT:

Além do mais, teve um outro usuário que havia dito que usou este outro esquema de gravador para o S52 e funcionou:

http://www.coolcircuit.com/project/atmel_isp/

Tô pensando em usar ele, pois a montagem parece ser mais simples.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Só uso gravador em porta paralela e serial.

Gravador USB você encontra no mercado livre a um preço bem atraente:

http://produto.mercadolivre.com.br/MLB-89364773-gravador-microcontrolador-avr-isp-usb-atmel-atmega-_JM

Pela aparência deve ser este que você mesmo pode montar.

http://www.fischl.de/usbasp/

Mas repito... não o conheço!

Link para o comentário
Compartilhar em outros sites

  • 5 meses depois...

Bom dia SOSCHIP, sei que não devo estar no lugar certo, mas pela sua experiência quem sabe pode me ajudar.

Sabe onde devo me dirigir para obter ajuda em montar um circuito que ao acionar determinados botôes aparecerão em um display de 7 segmentos números ou códigos pre-definidos ?? exemplos M1, T!, S1 é que tenho uma sala com 06 operadores e para que não fiquem gritando, seria conveniente que ao apertarem um botão em uma central com display de 7 segmentos surgiria o número da mesa de quem estaria chamando. Pode me ajuda ?? meu email: [email protected]

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Bom dia SOSCHIP, sei que não devo estar no lugar certo, mas pela sua experiência quem sabe pode me ajudar.

Sabe onde devo me dirigir para obter ajuda em montar um circuito que ao acionar determinados botôes aparecerão em um display de 7 segmentos números ou códigos pre-definidos ?? exemplos M1, T!, S1 é que tenho uma sala com 06 operadores e para que não fiquem gritando, seria conveniente que ao apertarem um botão em uma central com display de 7 segmentos surgiria o número da mesa de quem estaria chamando. Pode me ajuda ?? meu email: [email protected]

Olá, ACCF, Bem vindo ao forum.

Sugiro que abra um tópico para obter ajuda dos demais colegas do forum, pois existem várias formas de se fazer isto e com vários microcontroladores diferentes ( PIC, AVR, 8051, ETC ). Eu estou um pouco (pra não dizer muito) ocupado e não poderei te atender da forma com que o assunto exige. Também já tem um tópico com um assunto parecido com o que tu queres.

http://forum.clubedohardware.com.br/programar-microcontrolador-ligando/591578?t=591578&highlight=display+8051

Como ainda está aberto poderia até postar sua dúvida lá

Abraço e boa sorte!

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...
Olá, ACCF, Bem vindo ao forum.

Sugiro que abra um tópico para obter ajuda dos demais colegas do forum, pois existem várias formas de se fazer isto e com vários microcontroladores diferentes ( PIC, AVR, 8051, ETC ). Eu estou um pouco (pra não dizer muito) ocupado e não poderei te atender da forma com que o assunto exige. Também já tem um tópico com um assunto parecido com o que tu queres.

http://forum.clubedohardware.com.br/programar-microcontrolador-ligando/591578?t=591578&highlight=display+8051

Como ainda está aberto poderia até postar sua dúvida lá

Abraço e boa sorte!

cara sou novo aqui, estou fazendo um projeto com 8051, e precisava de uma rotina para fazer um chaveador no 8051, por exemplo: entra um sinal negativo(terra) em uma perna do CI e ele fecha outas duas pernas, entra o sinal negativo(terra) em outra perna e ele fecha outras 2 pernas, basicamente fazer o 8051 funcionar similar ao CI4066, seria possivel? ok obrigado !!!!

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Nem o 8051 e nem qualquer outro microcontrolador que eu conheça poderá fazer 2 pinos funcionarem como chave analógica.

O que alguns micros têm são entradas analógicas, seja como comparador ou como conversor DA. Use uma saída digital para controlar um 4016 ou 4066.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Dani piresk,

Eu uso gravador profissional, mas já parei de usar a linha 8051 há uns 5 meses e até por isso o tópico ficou parado. Hoje só estou programando AVRs.

Qualquer microcontrolador só vai ser programado com códigos HEX ou BIN e... estes sim são gerados por compiladores C, Assembly ou Basic.

Pesquise no google que tem vários compiladores C para a linha 8051.

http://www.google.com.br/search?q=8051+c+compiler&sourceid=navclient-ff&ie=UTF-8&rlz=1B2GGFB_ptBR209BR210

Link para o comentário
Compartilhar em outros sites

Um dos melhores, senão o melhor, na minha opinião, pros 8051, é o Keil:

www.keil.com

Tem todas as ferramentas integradas pra você desenvolver/debugar na linha.

É caro, mas, se a aplicação for profissional, é altamente recomendado!

De greitis, tem o SDCC, que tb tem bastante gente que usa.

Pra C, claro!

[]'s

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

ola, boa noite !!!

Galera do forum, gostaria de uma ajuda em um projeto de interface que estou fazendo, eu precisava de uma rotina para o CI AT89C51, na qual, por exemplo, eu coloque um botão pull-up na perna P0_0 e quando eu apertasse esse botão a perna P1_0 fechasse com a perna P1_1, fazendo uma especie de RELÉ, eu preciso disso pois a interface que eu possuo tem 4 terras diferentes, e o chicote tem um terra comum, agradeço muto a ajuda , muito obrigado !!!!

alguem me dê uma LUZ, por favor !!!!!!

Skype = RYGGAR - [email protected]

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Primeiro: não existe microcontrolador que ''feche'' 2 terminais como você está querendo. Se precisa mesmo disto, use relê externo controlado pelos pinos do MCU ou se for baixa corrente, use cd4016 / cd4066 , cd4051 , cd4052 , cd4053 , cd4067 , cd4097 , enfim, chaves analógicas digitais a escolher, conforme a projeto exija.

Segundo: Seu link acima não está levando a nenhum esquema.

... e terceiro e último... meu desabafo!

tem muita gente que se diz programador de microcontroladores (e até pode ser) mas se esquece do principal: Estudar também eletrônica, mesmo que básica, e o funcionamento dos componentes eletrônicos. Mas estão invertendo a ordem dos estudos.

Alguns, depois que fazem piscar um led pelo MC, sem mesmo saber como polarizar este led, já se acham programadores....

Se ofendi alguém... me desculpe, mas antes estudem tudo que pode ser ligado em volta de MC e inclusive o hardware deste MC, e depois de alguns anos poderão ser exceletes programadores dos mesmos.....

Eu ???... Depois de 22 anos programando os 'bixinhos', ainda tenho muiiiiiiiiito pra aprender.

Link para o comentário
Compartilhar em outros sites

É acho que você tem muito que aprender mesmo !!!! pois sei que o AT89c51, AT89c52, AT89s51, AT89s52, faz a união das pernas sim, estou dizendo isso, não por conhecimento, mas sim, porque vi. Se alguém se sentiu aborrecido pela pergunta que fiz em um post anterior, me desculpem, não foi a minha intenção, pois queria expor uma duvida, afinal o FORUM é pra isto mesmo, com relação ao link do esquema elétrico, eu fiz o upload, no RAPIDSHARE, e o link fica lá por apenas 10 dias, e nesse período ninguém se interessou em fazer download então o link expirou, para quem quiser fazer o download e tentar dar uma força, vou fazer o upload novamente, ok obrigado !!!

link para download até dia 26/08/2009.

http://rapidshare.de/files/48174525/MJoy_Schematic_v1.4.rar.html

Link para o comentário
Compartilhar em outros sites

Compadre! Não é por nada não, mas eu acho que você tá comprando briga com o cara errado!

Mas, numa coisa eu concordo com você, 22 anos (VINTE E DOIS ANOS - você leu?) de programação, não dão experiência nenhuma pro caboclo! Ele, assim como eu, que somos do tempo da informática à lenha, realmente não temos experiências nenhuma pra tentar passar pra frente, mas, há controvérsias! Sei, lá!

E bacana o seu esquema! você fala de 51 e apresenta um circuito com AVR?!?!! Legal!

Se está começando, sugiro começar por aqui, ó:

http://www.editoraerica.com.br/buscafinal.asp?cod=721X

Pode comprar sem medo que você não vai se arrepender! Um dos melhores livros sobre 51 que eu conheço!

Bons estudos!

[]'s

PS: humildade e canja de galinha, só fazem mal pra quem é alérgico à galinha.

Link para o comentário
Compartilhar em outros sites

Amigo SOSchip, quero lhe pedir autorização para usar seu ultimo post no meu tutorial sobre assembly PIC (que ainda está em desevolvimento). O seu desabafo sobre os 'pseudo-programadores' que não sabem nada de eletronica se encaixa perfeitamente na introdução do meu tutorial.

Se quiser posso lhe mandar os arquivos para que você dê uma olhada.

E, obvio, concordo com vocẽ... existe muita gente por aí que sabe piscar um LED, mas não sabe nem medir a tensão que passa por esse LED....

Se ofendi alguém... paciência...

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

hehe...Cácio. O post é todo nosso.

Postado por pizzocaro

É acho que você tem muito que aprender mesmo !!!! pois sei que o AT89c51, AT89c52, AT89s51, AT89s52, faz a união das pernas sim, estou dizendo isso, não por conhecimento, mas sim, porque vi.

Amigo pizzocaro (Jefferson)

Não me referi a ti no post acima, mas peço desculpa novamente caso se encaixou no perfil descrito...

Quanto a sua afirmação... por favor me mostre onde viu este absurdo de unir 2 'pernas'... (ou seriam 2 terminais ou ainda 2 pinos de I/O).

O máximo que ele pode fazer é... quando você faz as instrução em assembly:

clr px.0 ; e

clr px.1

é saturar os transistores internos, ligando px.0 e px.1 ao GND. Mas eles não estão unidos de verdede, eles estão é no mesmo nível lógico '0', cada um ligado ao GND pelo seu respectivo transistor.

Veja a página 74 do manual do hardware do 8051 e tire suas conclusões e se acha que é possível essa ''união'' de 2 pinos, me explique como acontece, pois, caso eu esteja errado, então... como você disse, eu devo ter mesmo muito que aprender.

No final do seu post acima você diz: estou dizendo isso, não por conhecimento, mas sim, porque vi.

Por favor, nos mostre onde viu isto.

Esquema interno das entradas/saidas do 8051.

io8051.gif

Link para o comentário
Compartilhar em outros sites

ok muito obrigado... =]

Vou incluir como uma colaboração sua ao material do tutorial. =]

só a caráter de explicação: eu ainda não postei os arquivos de avaliação, por que estou na expetativa de uma mudança de endereço e vou acabar ficando uns 10 ou 15 dias sem internet... não quero postar as arquivos e ficar 15 dias sem dar noticias... =].

Pizzocaro fiquei com algumas duvida: você pode nos dizer qual a finalidade da interface? isso pode ajudar e entender o que você está tentado fazer.

e tambem, qual a sua formação técnica? ou está fazendo isso só como hobbista?

Grato pela atenção

Link para o comentário
Compartilhar em outros sites

Então para o colega Mauricio2006, o esquema elétrico que postei para download, é obvio que não é o AT89c51, sou leigo mas nem tanto, aquele esquema é com o atmega8, e nele tem o esquema de matriz que eu quero interligar os pinos usando o 89c51, entende ? e quero agradecer pelo link sobre o livro, eu comprei um livro sobre o 8051 (que é da mesma familia) em linguagem C, pois o meu conhecimento é em C , mas acho que comprei errado pois os forum´s fazem referencia sobre linguagem apenas em assembly, vou comprar esse que você esta indicando, espero poder ajudar também outros que precisam como eu, ok muito obrigado !!!

SOSCHIP, infelizmente, não tenho esse esquema elétrico e nem o código, deste esquema que eu queria fazer com o 89c51, pois eu vi a placa em funcionamento, era +ou - assim, havia um atmega8 que gerava uma matriz de 7X4, igual ao do esquema que eu postei, a diferença é que a placa usava apenas uma uma matriz 4X4 (pinos: PD0,PD1,PB2,PD3 X PB3,PB4,PB5,PD7 - vide esquema que postei), e a placa usava um AT89c51 para fazer as ligações dos pinos, o setor P0 do CI, recebia um sinal GND, e em cada pino do P0 que recebia o GND e CI interligava outros 2 pinos do P1, P2, P3.

PS: eu falei em fechar ou interligar 2 pinos do CI, mas posso estar me expressando errado, não sei se é possível, mas o CI poderia estar liberando uma passagem de sinal entre 2 pinos, sinal este que vem da matriz do atmega8, como eu disse, não sei se isso é possível, mas estou tentando entender como aquela placa funcionava, caso nada disso que escrevi não seja possível, então desisto por aqui, agradeço a todos desde já, muito obrigado !!!!!

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Então o que a placa do C51 fazia era simplesmente analisar a varredura da linha gerada (geralmente em nível 0) pelo atmega, e dependendo da tecla pressionada em P0, colocava a coluna correspondente a esta tecla também em nível 0... assim o programa do atmega 'pensaria' que a tecla correspondente ao cruzamento da linha x coluna está fechada.

Mas se o objetivo é simplesmente reconhecer uma tecla que quando fechada, é ligada ao GND, então é mais fácil e econômico entrar diretamente no atmega8, sem a necessidade de usar o 89C51.

Em ambos os casos, você não precisa só de uma rotina, mas sim do programa inteiro.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para 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!