8051 sobre o PIC

Software e Hardware para linha x51

Moderadores: 51, guest2003, Renie, gpenga

Mensagempor msamsoniuk » 25 Dez 2008 15:58

na verdade eu tenho uma preferencia pelo HC08 em funcao de uma caracteristica simples e util, mas que facilita enormemente a vida:

Imagem

ele possui um registro de 16 bits! isso nao apenas facilita aritmetica com inteiros de 16 bits como facilita o uso de ponteiros capazes de enderecar toda a memoria! :)

e neste aspecto, podemos ver que o 8051 nao fica atras e tb tem bastante registros:

Imagem

eh claro que como todo produto intel, existe uma assimetria no uso dos registros, deficiencias nos modos de enderecamento e outras particularidades, de modo que o HC08 acaba se saindo um pouco melhor.

bom, eu nao achei nem figura sobre a arquitetura interna do PIC (vergonha?), mas ateh onde eu sei nao dah nem para o comeco! tem muitas limitacoes e problemas que o cara tem que ficar prestando atencao... o problema, no meu ponto de vista, eh que PIC parece que nao evolui! :P

tinha ateh aquela historia neh: HC908 era xtal/4, 8051 eram xtal/12 e ambos rodavam com clockinhos lah embaixo... mas isso eh passado! hoje em dia vc encontra HCS08 de 48MHz que roda xtal/2 e 8051 no mesmo embalo! :)

e logo logo vai ter coldfire V1 a preco de PIC... sei lah. nao dah para ficar parado neh.

rgmanica escreveu:se puxou, mas ainda não sei se você gosta mais dos 8051 do que dos outros!!!!
:lol:
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor jeanfernandes » 25 Dez 2008 16:44

O moço tava quieto
ruminando o peru dele...

Foi só começar a ver as coisas....
A conversa particular era....ou é
P**** sam, eu to analisando aqui se uso os HCS08 ou já uso os ultimate fight do 8051 rodando a X2....

...bom ...nao vou nem discutir o rumos da historia... que eu nem base tenho para tal, ...mas. ...

...adicionalmente fui testando as coisas de construir o codigo.... e simular os tempos de acesso... pra meu governo eu ainda nao testei os HCS do jeito que eu to fazendo o codigo, mas ... com 8051 X2, sei nao... os processos de entrada e saida.... em relacao os pics de mesmo clock (ai sei la se da pra comparar....) sao mais decentes....

em resumo, tem o lado da arquitetura, dos modelos, e tem o lado do programador... e tem o lado do sistema ...
....nunca fui muito fã de pic naum...embora tenha usado algumas vezes para atender a fome de alguns....mas me parece que usando bem o HCS creio que seja mais eficiente (claro com um compilador de macho)....
do que os PICs no conjunto da obra.....

so vou bater o martelo quando por lado a lado os 3,....e pode dizer assim e assado eh melhor e mais eficiente...continuando a ser opiniao pessoal.... o objetivo maior é outro.... que ta sendo discutido la na abstracao do C/C++.....
Jean P. Fernandes - Eng. Eletrônico - (83) 2102-2116 - APEL - www.apel.com.br - Campina Grande - PB
jeanfernandes
Word
 
Mensagens: 539
Registrado em: 11 Out 2006 15:36
Localização: Campina Grande - PB

Mensagempor andre_luis » 25 Dez 2008 16:52

Rapaz, custou pra entender essa criptografia, mas continuando na questão...

Seguinte : O PIC ( falo da família 16F ) é um excelente ambiente pra se desenvolver em assembly, e por isso fez tanto sucesso ultimamente, pois programação em C pressupôe um certo grau de profissionalismo e pra quem tá começando, era casca-grossa partir de cara pro assembly do 88/86 ou do 51.

O fato é que parece meio difícil comparar uma arquitetura Risc com outra que não o seja, mas no final essa comparação acaba sendo inevitável quando se tem de escolher a plataforma de HW pra se desenvolver.

E no final, acaba-se encontrando tantas variantes do 51 que praticamente, tem-se de analizar caso-a-caso. Eu particularmente, gostei muito das características da família C805193x da SILABS.

+++
Editado pela última vez por andre_luis em 25 Dez 2008 17:11, em um total de 1 vez.
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor msamsoniuk » 25 Dez 2008 17:05

mas nao deveria ser o contrario ? os outros mcus possuem assembler mais macho e potente... o PIC possui limitacoes e restricoes, por exemplo, nao tem ponteiros ou registros de 16bits, nao tem instrucao de multiplicacao ou divisao, nao tem interrupcoes vetoradas e por aih vai... ele parece mais adequado a problemas simples, como pisca led e similares, nao eh ?

e esse negocio de abstracao C/C++... tah ficando abstrato demais! tou com medo jah! :D hahaha

andre_teprom escreveu:Rapaz, custei pra entender essa criptografia aí, mas continuando na questão...

Seguinte : O PIC ( falo da família 16F ) é um excelente ambiente pra se desenvolver em assembly, e por isso fez tanto sucesso ultimamente, pois programação em C pressupôe um certo grau de profissionalismo e pra quem tá começando, era casca-grossa partir de cara pro assembly do 88/86 ou do 51.

+++
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor andre_luis » 25 Dez 2008 17:18

É isso mesmo...

Me lembro de numa ocasião ter de dar suporte a um equipamento desenvolvido no asm do 51. Quendo me deparava com as instruções que tinham 3 operandos, com @ e # nos operadores, eu pensava se tinha escolhido a profissão certa.

+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor jeanfernandes » 25 Dez 2008 18:26

A analise inicial que eu fiz foi assim...

A) Bom escolha um mcu, o processo vai da fé mermo...pra gente nao misturar as coisas...
B) Escolha um compilador decente (nao vale chamar o compilador do CCS de tal...ai eh me ofender)
C) Aplique as tecnicas de programacao... (essa parte aqui pode comprometer os processos anteriores...mas ae nao tem o que fazer)....

O que eu tava discutindo inicialmente com o Sam era o item 3, sem se importar com os demais ja que eu to partindo que to com o item 2 decente.
Mas como o assunto de escolher quem vai pegar o legado do 8051 entrou na mesa, ai entrou tudo de novo na parada...

Porem, os caras usam umas ferramentas loucas pra testar os processos de compilacao... so que esquecem das limitacoes do programador...sendo assim de nada vale voce abstrair dados se nao o faz de maneira eficiente....

Ruminando o peru...eu vi que ate como voce define a ordem do ENUM pra usar na comparacao dentro de um switch case faz diferenca....
FOR pra cima ou pra baixo, usar >> ou nao...e por ae vai....
ONTEM (dia 23/12) eu tava com um processo la no meu IPC consumindo 192 us.... entre entrada e saida do mesmo, onde 52 us era da funcao em si (internamente)....

Só mudando a técnica da programacao ...o processo total ficou em 69.9 us, com 51 us de funcao... ou seja.... o compilador fez a parte dele, o mcu a dele e eu a minha...eu vou tentar fazer a merma coisa ...em outros mcus...(vou usar o TOP de cristal possivel, dentro da faixa de preço..)

Sei sei é algo meio que inutil, mas to ruminando o peru...ate ele virar creme....so assim tiro da caixa o set de ferramentas que comprei pra testar o HCS08......

De uma coisa eu tenho certeza: ponteiros. Eis a chave da questao....
o que ele otimiza de codigo eh um absurdo... por razoes obvias. Claro que pro iniciante fica meio dificil ver coisas do tipo....

ds1302_ram_read(msg->b), onde esse msg, ja andou por muito buraco mas eh apenas um ponteiro caixeiro viajante
vai voltar tudo por ele.....

Pra nao misturar os assuntos é isso...
mas e f*, devia ter um RRC >registrador< no set de instrucoes do 8051....kkkkk ai o bixo ia pegar...

A abstracao te da mais flexibilidade, porem pode ter um preço alto. O desconto fica por conta do programador. É ae onde entra os caminhos obscuros da linguagem C. Faz diferenca sim.
Jean P. Fernandes - Eng. Eletrônico - (83) 2102-2116 - APEL - www.apel.com.br - Campina Grande - PB
jeanfernandes
Word
 
Mensagens: 539
Registrado em: 11 Out 2006 15:36
Localização: Campina Grande - PB

Mensagempor RobL » 28 Dez 2008 17:56

A Atmel deveria considerar minha propaganda:

Obviamente respeitando sempre a velha questão, a melhor ferramenta é a que melhor nos serve, mas posso afirmar que os AVRs em relação a PIC, 51, holtek, HCs cobre todos com vantagens, ou seja, usando um AVR os demais são subconjuto deste, sim, em quase tudo.

Não há o que pensar, AVR. Por que:
1- Tem preço menor que PIC, compatível com 51. Um ATMEGA8, basicão, se encontra a R$3,50 e bate fácil praticamente toda linha 18F e 16F da MC, sem USB e outros mais específicos. O ATmega 8 tem 4kword 1K SRAM e 512 EEPROM, ADC 10 bits, 3 timers, multiplicação por Hw, osc interno, comparador, usart, SPI, 3canais PWM, diversos modos PWM, bootloader protegido, wdt e bod programável, etc, etc. Com 16Mhz = 16MIPS!!! Muito mais estabilidade que um oscilador PIC a 48Mhz e maior F para um 51.
2- Compilador poderoso free AVRGCC (sim o GCC do linux modificado) e outros não free.
3- Stack real (como no 51P)
4- Periféricos a dar com pau, com propriedades incríveis, como os simples timers, adc com cancelamento de ruído, entradas alimentação separadas,etc. Ótima estabilidade em ambiente rudidoso.
5- Registradores de 16 bits , 3 apontadores 16bits (x,y,z)
6- Registro com 16 bits artimética com 16b.
7- E agora pasmem, 32 registros work ( no pic apenas 1 o Wreg familia 18F 16F ou 12F) ou o mesmo que 32 ACUMULADORES (ACC) alem de RAM interna e externa !!!!
8- RISC 20Mhz <=> 20MIPS
9- Portanto, melhor eficiência em C de todos os micros do mercado de 8 bits.
10- Portas com registro exclusivo para leitura (entrada).
11- ETC, etc e bota etc nisso.

Em resumo, faz tudo que um 51 faz, muito mais que um PIC, simples ou não, com a mesma facilidade de ambos.

Quer mais, em 8 bits, com eficiência de alguns ARMs? XMEGA com DMA, Cripto e outros.

Aí se fica na mesma de sempre, quem vai mudar sua plataforma, suas ferramentas, se o cara consegue fazer o que quer com o que tem?

Quem estiver disposto a migrar, em 8 bits, não perca tempo, AVR, pois creio que nenhum fabricante lançará algo novo em 8 bits mais eficiente.

Editando esse final aqui, os PICs se quer tem instrução de comparação . Não sei se engatilharam isso nos 18F.
Editado pela última vez por RobL em 02 Jan 2009 10:42, em um total de 1 vez.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor rubenprom » 29 Dez 2008 16:14

Eu concordo com ROBL...e mais, tem varios projeto open source que podem bem dar uma grande ajuda para iniciar ao mundo dos microcontroladores.
Por exemplo como mencionado, o ATmega8 é um microcontrolador com muito bom desempenho em varios quesitos, facil de programar e com um custo beneficio muito bom

Ruben
rubenprom
Byte
 
Mensagens: 222
Registrado em: 16 Out 2006 00:23
Localização: Porto Alegre - RS

Mensagempor J.Paulino » 23 Jan 2009 18:49

PENSANDO UM POUCO ACHO QUE A DIFERENÇA ENCONTRA-SE NO SOFTWARE O 8051 TEM MUITO MAIS INSTRUÇÕES O QUE TORNA A PROGRAMAÇÃO DO MESMO MAIS SIMPLES,SE VOCÊ TEM INSTRUÇÕES EPECÍFICAS PARA DETERMINADAS FUNÇÕES A COISA TODA É SIMPLIFICADA, EU USO TANTO PIC QUANTO 8051 É SÓ ESCOLHER O CHIP QUE TENHA OS PERIFÉRICOS QUE VOCÊ QUER E APERTAR A TECLA "RUN":shock:
J.Paulino
 
Mensagens: 1
Registrado em: 22 Dez 2008 14:49

Mensagempor xultz » 23 Jan 2009 20:07

Quando entrei prá essa vida maldita de projetar circuitos, há 10 anos atrás, os PIC eram o máximo. Microcontroladores pequenos (como o F84, com 16 IOs), com memória RAM e flash integradas, serial, PWM, e coisas do tipo não eram a coisa mais comum do mundo, e principalmente, não se encontrava muito facilmente no Brasil, e pior ainda em baixas quantidades. Se você é alguém (do tipo, trabalha em uma empresa grande e de renome), tem cartão de meia dúzia de distribuidores, até consegue amostras (falo daquela época), mas prá três bobões que acabaram de abrir uma empresa, como era meu caso, os PICs eram o que tinha de mais acessível.
Então fica fácil explicar o sucesso que eles tiveram naquela época, todo mundo queria trabalhar com PIC. E então se criou uma base de desenvolvedores ao redor do PIC, muitos professores começaram a ensinar com PIC (e consequentemente, continuam ensinando até hoje), e ainda é possível encontrar um ou outro teimoso que acha PIC a coisa mais maravilhosa do mundo (trabalho com um e chega a ser irritante).
A vantagem do PIC naquela época acabou se tornando seu maior problema. O primeiro deles: pequenas empresas tinham acesso ao PIC. A massa de consumidores de PIC acabou sendo de pequenas empresas que produziam pequenos lotes. Foram poucos, se é que sobrou algum, big player que produziu produtos com PIC.
A idéia de desenvolver seu próprio core virou um tiro no pé. Hoje a coisa mais prática do mundo é vocẽ desenvolver um microcontrolador com core 51. Ele tá ultra mega maduro, seu desenvolvimento já foi amortizado umas 500 vezes, e vocẽ tem um caminhão de ferramentas de desenvolvimento no mercado. Já os PICs, a própria Microchip tem que amortizar, o volume de vendas não é grande, tem um ou outro que desenvolve ferramentas de desenvolvimento, e volta e meia temos que nos virar com aquela tralha chamada CCS (calma, Jean, não chamei de compilador).
Então, se me perguntar, eu diria que investir em PIC para um produto que você espera que um dia vá bombar no mercado, é furada. Existem outras linhas mais interessantes, como HCS08 e MSP430. Eventualmente até AVR, mas eu não vou com a cara da Atmel. Agora, prá produtos de baixa escala, aí você usa o que for mais acessível.
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Mensagempor Viktor » 26 Jan 2009 07:49

Há um aspecto que não foi abordado aqui ainda: O stack dos PIC16 é uma tremenda piada. Você não pode fazer muitas chamadas encadeadas de subrotinas porque explode o stack. Se você tiver várias interrupções ativadas e chamando subrotinas, você deve cuidar para que o programa principal não faça muitas chamadas tbm. Depois de deparar com um problemas destes há uns 12 anos, nunca mais usei um PIC.
Viktor
Byte
 
Mensagens: 281
Registrado em: 12 Out 2006 11:33

Mensagempor enigmabox » 26 Jan 2009 08:53

Lendo este tópico, parece que o PIC é um MCU de demonstração, com tantas limitações.
Começei com o 8051, depois passei para o 68HC11, pelo MSP430 e AVR. Digo que cada um tem seus recursos. Não dá pra comparar por ex. o MSP430 com os demais porque já é um 16bits completo. O MC68hc11 tb já faz calculos com 16 bits, mas não tem a eficiencia de um MSP430, no 68hc11 pode se juntar o registro A e B para calculo direto 16bits. Pena que retiraram este recurso das MCUs mais novas como a linha hcs08.
Dizem que um MC68hc11 é mais eficiente que um 8088 de 16 bits da Intel.
O 8051 já teve seu tempo de gloria, melhor que este é um MCU com nucleo Z80, tem tudo que a Intel fez e um pouquinho mais.
O PIC já nasceu limitado pois foi usado como base um processador limitado da General Instruments. Pode ser que melhorem o MCU no futuro com as novas versões. O que vejo no mercado é muito marketing do PIC, mas não tem muita eficiencia.
Bom entre o PIC e o 8051, prefiro um MCU com nucleo 8051.
enigmabox
 

Mensagempor Viktor » 26 Jan 2009 09:39

enigmabox escreveu:Lendo este tópico, parece que o PIC é um MCU de demonstração, com tantas limitações.
Começei com o 8051, depois passei para o 68HC11, pelo MSP430 e AVR. Digo que cada um tem seus recursos. Não dá pra comparar por ex. o MSP430 com os demais porque já é um 16bits completo. O MC68hc11 tb já faz calculos com 16 bits, mas não tem a eficiencia de um MSP430, no 68hc11 pode se juntar o registro A e B para calculo direto 16bits. Pena que retiraram este recurso das MCUs mais novas como a linha hcs08.
Dizem que um MC68hc11 é mais eficiente que um 8088 de 16 bits da Intel.
O 8051 já teve seu tempo de gloria, melhor que este é um MCU com nucleo Z80, tem tudo que a Intel fez e um pouquinho mais.
O PIC já nasceu limitado pois foi usado como base um processador limitado da General Instruments. Pode ser que melhorem o MCU no futuro com as novas versões. O que vejo no mercado é muito marketing do PIC, mas não tem muita eficiencia.
Bom entre o PIC e o 8051, prefiro um MCU com nucleo 8051.



É isso ai ! Lá fora todas as publicações respeitáveis dizem que o ARM é o 8051 do futuro, particularmente o Cortex.
Viktor
Byte
 
Mensagens: 281
Registrado em: 12 Out 2006 11:33

Mensagempor msamsoniuk » 26 Jan 2009 17:04

enigmabox escreveu:O MC68hc11 tb já faz calculos com 16 bits, mas não tem a eficiencia de um MSP430, no 68hc11 pode se juntar o registro A e B para calculo direto 16bits. Pena que retiraram este recurso das MCUs mais novas como a linha hcs08.


bom, o HCS08 ainda tem o registro HX de 16 bits :)
#innovation #poweredby #riscv https://github.com/darklife/darkriscv
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor msamsoniuk » 26 Jan 2009 17:06

Viktor escreveu:
enigmabox escreveu:Lendo este tópico, parece que o PIC é um MCU de demonstração, com tantas limitações.
Começei com o 8051, depois passei para o 68HC11, pelo MSP430 e AVR. Digo que cada um tem seus recursos. Não dá pra comparar por ex. o MSP430 com os demais porque já é um 16bits completo. O MC68hc11 tb já faz calculos com 16 bits, mas não tem a eficiencia de um MSP430, no 68hc11 pode se juntar o registro A e B para calculo direto 16bits. Pena que retiraram este recurso das MCUs mais novas como a linha hcs08.
Dizem que um MC68hc11 é mais eficiente que um 8088 de 16 bits da Intel.
O 8051 já teve seu tempo de gloria, melhor que este é um MCU com nucleo Z80, tem tudo que a Intel fez e um pouquinho mais.
O PIC já nasceu limitado pois foi usado como base um processador limitado da General Instruments. Pode ser que melhorem o MCU no futuro com as novas versões. O que vejo no mercado é muito marketing do PIC, mas não tem muita eficiencia.
Bom entre o PIC e o 8051, prefiro um MCU com nucleo 8051.



É isso ai ! Lá fora todas as publicações respeitáveis dizem que o ARM é o 8051 do futuro, particularmente o Cortex.


e o HC08 do futuro eh o coldfire V1! afinal sempre vai ter aquela briguinha "intel eh mais popular, mas motorola eh melhorl" hahaha :)
#innovation #poweredby #riscv https://github.com/darklife/darkriscv
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

AnteriorPróximo

Voltar para 8051

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x