Ir ao conteúdo
  • Cadastre-se

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


xyko-2020

Posts recomendados

  • Membro VIP

Cacio, no site não tem nenhum gravador, o que eu falo é o seguinte:

''Um gravador ISP para esta placa também é muito fácil de ser construido e tem vários exemplos na rede.''

Veja também estes posts:

http://forum.clubedohardware.com.br/showpost.php?p=2879227&postcount=10

http://forum.clubedohardware.com.br/showpost.php?p=2891306&postcount=20

Acontece que eu não posso montar vários gravadores de outros sites somente pra testar sendo que tenho o meu. O ideal, é claro, seria um gravador recomendado pela ATMEL.

Link para o comentário
Compartilhar em outros sites

Soschip,

Na época que tentei fazer a gravação eu me enrolei todo porque tinha esquecido de ligar o bendito do EA. O interessante é que uma das minhas tentativas de fazer a coisa funcionar foi criar um programa para fazer a gravação. Programei alguma coisa em VB6 mesmo usando o controle MSComm (no final das contas ficou incompleto, porque depois que eu descobri a besteira que estava fazendo, abandonei e parti para usar o que já estava pronto, o isp-programmer).

Estou fazendo uns ensaios aqui com comunicação serial para tentar escrever um texto digitado no PC em um LCD através do 8051. Mas assim que eu conseguir alguma coisa, vou retomar aquele programador de isp que eu estava desenvolvendo e se der certo, vou tentar conversar com esse AT89S2051.

Afinal, quais as características dele? Eu nunca tinha ouvido falar desse modelo.

[]s

Renato

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Ele tem algumas melhorias em relação ao C2051.

Ex: você pode usar um cristal de 6MHz que ele tem um dobrador interno que fica como se fosse 12MHz.

Tem mais 128 bytes de RAM interna, totalizando 256.

PWM

entre outras... compare, e veja em verde as principais vantagens:

AT89C2051

Compatible with MCS®-51Products

2K Bytes of Reprogrammable Flash Memory

– Endurance: 1,000 Write/Erase Cycles

2.7V to 6V Operating Range

Fully Static Operation: 0 Hz to 24 MHz

Two-level Program Memory Lock

128 x 8-bit Internal RAM

15 Programmable I/O Lines

Two 16-bit Timer/Counters

Six Interrupt Sources

Programmable Serial UART Channel

Direct LED Drive Outputs

On-chip Analog Comparator

Low-power Idle and Power-down Modes

Green (Pb/Halide-free) Packaging Option

AT89S2051:

• Compatible with MCS 51 Products

• 2K/4K Bytes of In-System Programmable (ISP) Flash Program

– Serial Interface for Program Downloading

– Endurance: 10,000 Write/Erase Cycles

• 2.7V to 5.5V Operating Range

• Fully Static Operation: 0 Hz to 24 MHz

• Two-level Program Memory Lock

• 256 x 8-bit Internal RAM

• 15 Programmable I/O Lines

• Two 16-bit Timer/Counters

• Six Interrupt Sources

• Programmable Serial UART Channel

• Direct LED Drive Outputs

• On-chip Analog Comparator with Selectable Interrupt

• 8-bit PWM (Pulse-width Modulation)

• Low Power Idle and Power-down Modes

• Brownout Reset

• Enhanced UART Serial Port with Framing Error Detection an

Address Recognition

• Internal Power-on Reset

• Interrupt Recovery from Power-down Mode

• Programmable and Fuseable x2 Clock Option

• Four-level Enhanced Interrupt Controller

• Power-off Flag

• Flexible Programming (Byte and Page Modes)

– Page Mode: 32 Bytes/Page

• User Serviceable Signature Page (32 Bytes)

E veja esta versão SMD que comprei na farnell:

s2051-2.jpg

Link para o comentário
Compartilhar em outros sites

ok, obrigado novamente. Agora entendi uma placa, ela é uma especie de mini-laboratorio. e que eu lido mais (pratiamente só) com PIC, e a placa gravadora de PIC que eu tenho é tambem uma especie de "debugador"(um punhado de led e pulsadores para estar as entradas e saida).

Por isso achei que sua placa fosse tambem para gravar. Obrigado pelo esclarecimento e desculpe-me pela aporinhação.

Link para o comentário
Compartilhar em outros sites

Estou começando agora com 8051

tenho algumas duvidas

qual o metodo utilizado para confecção desta placa?

como o 8051 sabe se ta no modo de gravação ou de execução?

é fácil queimar um 8051? porque ele queima? fiz esse circuito mas quando fui gravar novamente o 8051 queimou

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Eu uso método de transferência térmica. Por acaso estou colocando uma página com os passos que uso para fazer.

Quanto ao 8051 queimar, eu jamais queimei um e pra queimar, só se for problema de gravador ou sobrecarga nas saídas.

Que gravador você usa?

Só lembrando que eu uso gravador próprio e estou desenvolvendo 1 que usa um AT89C2051 para evitar problemas de incompatibilidade com o PC.

Link para o comentário
Compartilhar em outros sites

to usando esse:

http://www.kmitl.ac.th/~kswichit/cheapcable/index.html

nesse cirucito tem um pequeno problema a figura do transistor q ele cooca esta errada

nao é coleotor base emissor

o certo é emissor base coletor

quando vai gravar pela lpt1 sai 0 ai o transistor como uma chave envia 5v para o ci, porém não usa um resistor de 10k no pino 31

A trasferencia termica é com qual papel?

como o 8051 sabe se ta na hora de ele ser gravado ou na hora de ele ta executando um circuito?

tu tem alguam material para indicar para quem esta no começo?

porque neste circuito

http://www.projekit.com/8051/asm51/part2.html

usa tanto capicitor como filtro e uma esta invertido?

Link para o comentário
Compartilhar em outros sites

to usando esse:

http://www.kmitl.ac.th/~kswichit/cheapcable/index.html

nesse cirucito tem um pequeno problema a figura do transistor q ele cooca esta errada

nao é coleotor base emissor

o certo é emissor base coletor

quando vai gravar pela lpt1 sai 0 ai o transistor como uma chave envia 5v para o ci, porém não usa um resistor de 10k no pino 31

Eu não uso esse pino 5. Meu gravador aqui só tem ligados os fios SCK, MOSI, MISO, RST e GND.

Funciona que é uma beleza (quando não dá mau contato).

A trasferencia termica é com qual papel?

Filme. É chamado também de transparência. O mesmo utilizado naqueles projetores de professor de faculdade. A impressora tem que ser laser, não adianta jato de tinta.

como o 8051 sabe se ta na hora de ele ser gravado ou na hora de ele ta executando um circuito?

Quando o pc tá gravando, o RST tá em nivel alto, quando termina a gravação o pc envia 0 para o RST e o uC começa a rodar o programa.

Liga o negativo de um led no pino 9 do uC e o positivo com um resistor no 5v. você vai ver a atividade do RST durante a gravação.

[]s

Renato

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

A trasferencia termica é com qual papel?

Veja como faço a placa pela transferência.

http://projekit.com/diversos/como_fazer_PCI.html

Quero agradecer ao amigo renato (graccula) por me ajudar nas questões sobre os gravadores ISP disponíveis na net, pois eu ainda uso um gravador paralelo e ainda estou desenvolvendo meu próprio gravador ISP que será baseado neste:

ISP89S_sch.GIF

http://www.8052.com/users/AT89S52InSystemProg/

Mas adicionarei a gravação do AT89S2051 ao firmware. Ele me parece mais confiável já que não depende da configuração do seu PC, pois usa a velha e boa comunicação serial RS232.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
no codigo dessa pagina

http://www.projekit.com/8051/asm51/part4.html

tem

iniseq: mov dp1,initab

porém o compilador aqui diz q tem erro

teria como disponibilizar os arquivos em assembler e hex para download do

MULTI-EFEITOS e parabens pela iniciativa

Onde você digita dp1, não é '1' e sim um 'L' minúsculo. É que as fontes para o número 1 e l do editor são muito parecedas, (se não iguais).

Qualquer dúvida, digite em maiúsculo mesmo: MOV DPL,initab.

DPL é a parte baixa do DPTR e significa DPTR LOW.

Se eu colocar o arquivo ASM, não resta nenhum trabalho para os interessados e não saberia desse detalhe...hehehe

E acredite, aprendemos mais com os erros do que com os acertos.

Cuidado também onde está del_100 e onde tem L minúsculo para não confundir com o número 1. Da próxima vez que colocar rotinas substituirei a fonte do editor.

está usando o compilador sugerido?

Link para o comentário
Compartilhar em outros sites

esse pino 5 serve pra fazer o transistor funcionar como chave

o teu tem um resistor de 10 para o pino 31?

o teu tem buffer entre o pc e o 8051?

Eu já vi outros circuitos usando esse pino 5 para alimentar o circuito, mas não entendi porque. Afinal de contas, qual o problema com a alimentação da fonte? Porque usar o pino 5 para chavear a alimentação se a alimentação da fonte fica ligada direto?

O meu não tem o resistor no pino 31. Ele vai direto no Vcc.

Não tem buffer não, é direto mesmo.

[]s

Renato

Link para o comentário
Compartilhar em outros sites

Eu já vi outros circuitos usando esse pino 5 para alimentar o circuito, mas não entendi porque. Afinal de contas, qual o problema com a alimentação da fonte? Porque usar o pino 5 para chavear a alimentação se a alimentação da fonte fica ligada direto?

O meu não tem o resistor no pino 31. Ele vai direto no Vcc.

Não tem buffer não, é direto mesmo.

[]s

Renato

to usando sem buffer tambem

esse chaveamento não é o mesmo da fonte de alimentação

ele é usado pra o ci so receber tensão quando tiver em gravação

o transistor serve como chave liga pra gravar e desliga quando acaba a gravação comandado pelo pino 5

o para do 1 e do L tinha me ligado no outro circuito mas nao nesse valewa

to usando o keil e proteus pra simular e depois jogo na placa

a proprosito o 89s52 serve pra o tico tico no fuba? é o mesmo circuito?

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

...a proprosito o 89s52 serve pra o tico tico no fuba? é o mesmo circuito?

Sim. É o mesmo programa. Basta usar os mesmos pinos P3.2 a P3.5 do 89s52.

Aquela parte que acende os LEds, pode tirar fora.

É só uma instrução que acende os LEDs: mov P1,A - que está marcado como opcional em laranja.

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

to eu aqui de novo

e então gravei com o sequencial simples o 89s52 rodou beleza mas o multisequencial na hora de gravar da

program verify eroor @ address 0043

data read = 74

prog data = 75

o 8051 continua gravado e funcionando o sequencial simples ja gravei regravei verifiquei li ele e tudo mas o multi da essa mensagem

to usando o isp pra gravar o hex q eu gerei coloquei no protues e rodou beleza, no proteus eu uso 89c52

grato pela atenção

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

program verify eroor @ address 0043

data read = 74

prog data = 75

o 8051 continua gravado e funcionando o sequencial simples ja gravei regravei verifiquei li ele e tudo mas o multi da essa mensagem

to usando o isp pra gravar o hex q eu gerei coloquei no protues e rodou beleza, no proteus eu uso 89c52

grato pela atenção

Não entendi... Esse erro é mostrado no programa do gravador?

Realmente tem que ser gravado o código 75 (mov direct, #data)

ao invés de 74 (mov a,#data).

Parece que o gravador está lendo o bit0 como 0 ao invés de 1 que deveria gravar.

75h=01110101b

74h=01110100b

Parece mesmo problema de gravação.

Dados HEX do ponyprog para este programa:

multiseqBIN1.gif

multiseqBIN2.gif

É nessas horas que o conhecimento em programação assembly faz a diferença...hehe.

Se fosse programado em C ou BASIC, não saberiamos qual seria o código certo, pois não teríamos criado o ASM.

Link para o comentário
Compartilhar em outros sites

valeu pela força,

eu resolvi tirando o transistor do gravador coloquei os pinos 31 e 40 direto no 5 volts

ai gravou o trnasistor tava mandando os 5 volts mas acho q sem a corrente necessaria

graças a deus pensei q tivesse queimado alguma coisa

ai rodou tudo beleza

agora vou fazer o do toque tico-tico

e depois vou desenvolver um display de 7 segimentos, peguei de um pc velho aqui em casa acho q vai ser fácil ele tem 18 pinos ele é tipo 188

se eu juntar dois desses da pra fazer um relogio

vou usar multiplexação pra displays

Link para o comentário
Compartilhar em outros sites

É isso aí!

Depois posta os seu experimentos aqui também.. OK.

Dá pra você colocar o desenho exatamente como funcionou o seu pro pessoal que quer montar?

tranquilo

to usando esse circuito

http://www.kmitl.ac.th/~kswichit/cheapcable/index.html

com a mudança seguinte

http://i41.photobucket.com/albums/e298/mci00/imagem.jpg

fiz um curto circuito no transistor

acho q da ate pra tira-lo

o computador é um k6-II 500 com win98

pra gravar ligo ele na paralela e uso o programa do proprio site

ai pra rodar eu desligo ele da paralela coloco o ci 74hc245

coloco +5 volts no reset e tiro deixo o cristal de 4mhz

ai é so botar gnd no pino 17 pra ir mudando de efeito

depois eu boto os outros experimentos :)

Link para o comentário
Compartilhar em outros sites

valeu pela força,

eu resolvi tirando o transistor do gravador coloquei os pinos 31 e 40 direto no 5 volts

Pois então MCI, só voltando no assunto do transistor para chavear a fonte eu realmente não entendi e também não consegui fazer funcionar.

Pesquisei muito sobre o assunto na época, mas o que consegui descobrir é que a gravação na memória Flash poderia ser feita de forma paralela, e nesse caso o mC precisaria de 12 volts na alimentação, mas também poderia ser feita a gravação no modo SPI, via serial no MOSI e no MISO, com 5 volts.

Agora chavear 5v para 5v não faz sentido. A não ser que esse circuito de alimentação faça o chaveamento de 5v para 12v, para gravação de forma paralela. Caso contrário ele não tem utilidade nenhuma.

Outra dúvida sobre o assunto: porque no caso da gravação SPI eu saio direto da porta serial do computador para o uC, mas para conversar de forma serial (Tx/Rx) com o uC eu preciso de um MAX232 na interface de conversão do padrão RS232 para TTL?

Tem coisas que não fazem sentido pra mim. Eu sei que existem limitações de hardware, essas coisas, mas ainda tenho dúvidas sobre a arquitetura dessas geringonças.

[]s

Renato

Link para o comentário
Compartilhar em outros sites

Pois então MCI, só voltando no assunto do transistor para chavear a fonte eu realmente não entendi e também não consegui fazer funcionar.

Pesquisei muito sobre o assunto na época, mas o que consegui descobrir é que a gravação na memória Flash poderia ser feita de forma paralela, e nesse caso o mC precisaria de 12 volts na alimentação, mas também poderia ser feita a gravação no modo SPI, via serial no MOSI e no MISO, com 5 volts.

Agora chavear 5v para 5v não faz sentido. A não ser que esse circuito de alimentação faça o chaveamento de 5v para 12v, para gravação de forma paralela. Caso contrário ele não tem utilidade nenhuma.

Outra dúvida sobre o assunto: porque no caso da gravação SPI eu saio direto da porta serial do computador para o uC, mas para conversar de forma serial (Tx/Rx) com o uC eu preciso de um MAX232 na interface de conversão do padrão RS232 para TTL?

Tem coisas que não fazem sentido pra mim. Eu sei que existem limitações de hardware, essas coisas, mas ainda tenho dúvidas sobre a arquitetura dessas geringonças.

[]s

Renato

vamos la o transistor funciona como uma chave, um rele

ele é usado para não ficar o tempo todo alimentado o uC

funciona assim quando a base do transisto recebe 0 volts ele deixa passar corrente para o uC com isso ele começa a funcionar, o transistor pode ser tirado segundo SOSCHIP com isso é so alimentar o uC com 5 volts direto nos pinos 40 e 31.

eu gravo o 89s52 com 5volts

Quanto a nao funcionar ai vai algumas dicas:

-placa-mãe configurada no setup para impressora modo EPP

-verificar se nao tem algum mal contato no circuito

-colocar um cristal de 4mhz

-tem uma parada de liberar as portas do windows tem um programa no site do rogercom, de todo modo tenta no windows 98

-tenta em outro pc mais antigo de preferência como win 98

-usar um fio menor na porta paralela

quanto ao 232

o spi sai da porta "paralela" para o uC

e esta parte de comunicação serial eu ainda nao vi direito

mas se quiser saber é so pegar livro de sistemas digitais e tem coisas na net

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!