Ir ao conteúdo
  • Cadastre-se

Tutorial : Introdução ao uso de PIC´s em BASIC com o PIC Simulator IDE - Parte 1/2


Posts recomendados

Aos iniciantes no uso de microprocessadores PIC :

Faz algum tempo, eu fiquei de fazer um pequeno tutorial sobre o uso de processadores PIC com a linguagem BASIC, usando o programa PIC SIMULATOR IDE para fazer a programação e simulação dos projetos.

Porém, o que eu achei que ia ficar pequeno, acabou tornando-se quase um pequeno livro, mas cheio de explicações sobre os PIC´s, seu uso no dia a dia, dicas práticas para programas, uso de interrupção , e muitas outras coisas.

Aqui está a primeira parte, composta por 38 páginas em arquivo PDF, e a segunda parte eu estou terminando ela e irei publicar ainda este mês.

Como é o primeiro trabalho deste tipo que eu escrevo, peço desculpas pelo meu "estilo" ( ou a falta dele.... ) , e gostaria que postassem críticas e sugestões, para irmos juntos aperfeiçoando este tutorial.

Segue o link :

http://www.4shared.com/file/117938802/8f95b920/INTRODUO_AO_USO_DE_PIC.html

Gostaria de agradecer a todos os amigos do fórum que colaboraram, me incentivando a escrever este tutorial !

Bom uso a todos !

Paulo

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Muito bom tutorial, ainda estou terminando de ler, apesar de programar em assembly e adorar isso, nao posso esquecer que comecei com o Basic, e e certamente uma linguagme muito versatil, mas a PIC IDE SIM eu uso ate hoje antes mesmo de mandar pra minha placa de desenvolvimento.

Esse tutorial vai ajudar muita gente que tem interesse em aprender o vasto mundo dos PIC.

abraço!

Link para o comentário
Compartilhar em outros sites

Valeu Felipe !!!

Essa foi a minha intenção, pois fica muito fácil verificar ANTES se o nosso projeto vai funcionar certinho né ?

Agora mesmo , em outro tópico, o Matheus está pedindo ajuda em algo que está descrito por completo nesse tutorial, que é mostrar valor decimal em dois displays de 7 segmentos !

Vou tentar terminar a segunda parte ainda esta semana, mas só estou tendo tempo de noite, então já viu né ....

Um abraço !

Paulo

Link para o comentário
Compartilhar em outros sites

Matheus,

Eu uso o compilador Basic do próprio PIC SIMULATOR IDE, o nome do programa não deixa claro que ele também é um compilador Basic, e muito bom por sinal .....

Já fiz programas com mais de 450 linhas com ele, e os códigos sempre couberam no velho PIC16F877A .

Dá uma olhada nos exemplos , pois um deles mostra o uso dos 2 displays com multiplexação , usando interrupção do Timer0 e tem o código para converter os valores de 0 a 99 para serem mostrados como decimais de 0.0 até 9.9 ok ?

Ah, em tempo, um dos exemplos foi feito para um PIC16F84 , e outro foi feito para o PIC16F877, mas ambos usam os dois displays de 7 segmentos.

Paulo

Link para o comentário
Compartilhar em outros sites

Opa valeu meu amigo !!

Olha, ele comprime bem, não posso te garantir que mais que qualquer um, mas é muito eficiente, já fiz muita coisa em apenas 1K de memória, e quando eu olho a listagem do código gerado, eu vejo pelas instruções que realmente é muito eficiente.

Experimente compilar um dos exemplos que eu dou no tutorial, e olhe a listagem gerada ok ?

Experimente usar o PSI , pois o simulador dele é muito bom, e tem bastante periférico para voce colocar nas simulações.

Tem sim o código que voce quer, vou copiar e postar ele aqui :

For contagem = 0 To 99

dezena = contagem / 10 'pegamos a dezena

unidade = contagem - (10 * dezena) 'calculamos a unidade

digito = dezena 'agora pegamos o equivalente da dezena para mostrar

Gosub getmask 'consultamos a tabela que retorna sempre em mask

dezmask = mask 'dezena já está prontinha para ser mostrada

digito = unidade 'pegamos agora o equivalente da unidade

Gosub getmask 'fazemos a mesma coisa para a unidade

unimask = mask 'unidade também já está prontinha

WaitMs 200 'agora esperamos 0,2 segundos ( 200 mseg )

Next contagem 'e continuamos o contador

O código que voce quer está nas linhas 2 e 3, só isso !

O restante é para mostrar os resultados nos displays, através da rotina de interrupção que faz o multiplex dos 2 digitos ok ?

Paulo

Link para o comentário
Compartilhar em outros sites

Obrigado de coração Soschip, sei que voce é uma das pessoas que mais lutou para este fórum chegar onde chegou, e sempre deu o seu apoio a todos que precisam de ajuda.

Eu não consigo estar presente todo o tempo para ajudar tanta gente, e fiz esse tutorial para que essa minha "ajuda" esteja online para quem precisar.

Espero que isto motive outras pessoas a fazerem tutoriais deste tipo, lembro aqui paras todos que existe o mesmo programa para os processadores AVR, que são tão bons para o uso como os PIC´s.

E claro, podem ser feitos com outras linguagens também !!!!!

Soschip, o seu agradecimento significa muito para mim , meu amigo !

Mais uma vez, sou eu que tenho de agradecer , e te dar o meu PARABÉNS pelo seu trabalho !

Paulo

Link para o comentário
Compartilhar em outros sites

Legal Matheus, obrigado, dá uma lida com um pouco mais de calma no projeto 3 do tutorial, para voce entender tanto o circuito como o programinha ok ?

Olha, compra mesmo o 16F877A, porque na segunda parte do tutorial tem um projeto com ele bem sofisticado, usando um monte de recurso dele de uma só vez !

Na verdade, eu só não uso o PWM porque nunca precisei usar, mas se algum colega puder fornecer um circuito simples com ele, por exemplo, usando alguns Leds RGB, mudando as cores, e dizer como o programa faz isso eu posso incluir esse exemplo no tutorial. Alguém se habilita ?

Quanto ao Mikroe e o PSI, ambos os Basic são bem simples de serem usados, o que complica o meu programa um pouco é o uso da multiplexação dos displays com interrupção.

Mas a ideia foi mesmo mostrar uma técnica muito importante no uso do dia a dia, para usarmos conjuntos de até 4 displays de 7 segmentos com um processador pequeno, com poucos pinos.

Espero que te ajude , ok ?

Paulo

Link para o comentário
Compartilhar em outros sites

Matheus, eu rodo sim o Proteus no Vista, sem nenhum problema ....

Mas só uso ele para fazer desenho de esquema eletrônico e para fazer simulações de circuitos analógicos.

Toda a simulação de circuitos microprocessados eu faço no PIC SIMULATOR IDE mesmo, acho bem mais simples de fazer, principalmente de debugar o programa pois acompanho ele rodar , instrução por instrução do Basic, e acompanho a evoluçãodo programa, as variáveis, tudo.

Qual é o seu problema exatamente com o Vista ?

Paulo

Link para o comentário
Compartilhar em outros sites

Apesar de ser fã de Assembly e de ter torcer o nariz quando alguém cita esta linguagem como difícil de aprender, admiro alguém como você que dedica muitas horas para fazer um trabalho como este, cuja intenção, não tenho dúvidas é unicamente ajudar os outros.

Sinceramente, meus parabéns!

Link para o comentário
Compartilhar em outros sites

Concordo com o amigo Mulder, sou fa do Assembly, e como toda boa linguagem de programaçao o segredo e ter paciencia no inicio, mas esse tutorial sem duvida é um excelente ponto de partida e uma otima referencia pra entender o funcionamento de um microcontrolador, na minha opiniao o Basic é a linguagem ideal pra quem esta começando. Pois com uma linguagem de alto nivel (muito mais intuitiva) voce consegue desenvollver a logica de programaçao, dominando esse ponto voce ´pode partir pra qualquer linguagem.

mais uma vez meus parabens.

PS.: ainda estou terminando de ler esse tutorial =P

abs.

Link para o comentário
Compartilhar em outros sites

Mulder_Fox, obrigado meu amigo, é que às vezes eu me sinto como se estivesse "me divertindo sózinho" pois muitas vezes eu não entendo o porque que os iniciantes não seguem por este caminho....

A ideia foi exatamente esta, para que muitas pessoas que acham que "PIC ou AVR é bicho de 7 cabeças" e nem tentam fazer algo, ou aquelas pessoas que acham que programar em Basic só serve para brincadeiras !

Eu sei , por minha própria experiência, que dá para fazer muita coisa, e ainda mais TESTAR o nosso projetinho antes de sair montando e descobrindo depois que esqueçemos de algo.

Mas lembro a todos que este trabalho ainda não está completo, sempre aparecem pessoas com idéias para melhorar, e até para encontrar algum erro que eu tenha feito no texto, porisso que conto com a ajuda de todos e me coloqueia disposição para juntos melhorarmos este tutorial.

A sua opinião é muito importante, pois voce tem uma experiência com Pics bem maior do que a minha, leia aos poucos esse tutorial e me diga o que que voce acha que pode ser melhorado ok ?

Felipe, mais uma vez te agradeço, a intenção não foi só ensinar a usar o Basic, mas sim dar uma ideia melhor o que que existe dentro de um PIC, e tentar mostrar algumas idéias de como usar o potencial dele.

Acho que serve também para os iniciantes compreenderem melhor o hardware do PIC, sem ser muito "técnico" nem ser muito "detalhista" , pois isso cansa a quem está estudando né ?

Esta primeira parte é um pouco extensa pois eu detalhei bem o uso do programa PIC SIMULATOR IDE, acho muito importante saber utilizar os principais recursos do programa; agora, na segunda parte não perderei tantas páginas com o PSI, e sim apenas com hardwares diferentes e programas para ilustrar esse uso.

Ah, um detalhe que eu esquecí de falar, os esquemas dos projetos servem para quem quiser montar o projeto DE VERDADE, só tem de tomar cuidado em trocar os valores das rotinas de espera tipo WAITMS ou WAITUS, para os valores citados nos comentários.

Estou continuando a escrever a segunda parte, quero publicar ela ainda na semana que vem. Se ficar chovendo de novo no fim de semana acho que dá né ! ( afinal, pescar com frio e chuva é prá doido !!! )

Paulo

Link para o comentário
Compartilhar em outros sites

muito legal seu tutorial.... PARABENS mesmo.

SOSCHIP você não trabalha mais com os 8051???? você disse que programa AVR??? hehehe =]

Eu gostaria de aproveitar o topico e pedir a openião dos amigos... o meu tutorial está meio lento, por que em varios momentos eu fico sem saber como dar andamento nele, se estou sendo detalhista de mais (ou de menos), se estou usando uma linguagem clara ou não...

Então eu gostaria de puclicar os volumes 1 e 2 do meus tutorial, mesmo que o volume 2 esteja incompleto, para que os amigos do forum possam me orientar quanto a liguagem usada e quanto aos detalhes espostos e omitidos do assunto...

Vocês acham essa ideia aplicavel???

grato o todos.

Link para o comentário
Compartilhar em outros sites

Cacio, valeu meu amigo !!! :)

Eu também estava com a mesma dúvida que voce heheheh porisso que resolví publicar a primeira parte e ver as opiniões......

Eu enviei ao Bcpentrozio para ele dar uma olhada antes de publicar, e ele achou um monte de errinhos de português :( !

Eu acho muito legal que voce também está se dedicando, talvez consigamos inspirar mais gente a escrever tutoriais semelhantes pois acho muito mais fácil de aprender algo quando seguimos os passos de alguém que tenta mostrar os "macetes" e orientar aonde podemos ter dificuldades mais à frente !

Minha opinião a voce é esta : revise bem os erros de português e poste uma parte para os usuários darem idéias e críticas também aonde eles encontrarem algo a ser mudado !

Boa sorte meu amigo, e parabéns para voce também !!!!

Paulo

Link para o comentário
Compartilhar em outros sites

Apesar de ser fã de Assembly e de ter torcer o nariz quando alguém cita esta linguagem como difícil de aprender, admiro alguém como você que dedica muitas horas para fazer um trabalho como este, cuja intenção, não tenho dúvidas é unicamente ajudar os outros.

Sinceramente, meus parabéns!

Concordo com o amigo Mulder, sou fa do Assembly, e como toda boa linguagem de programaçao o segredo e ter paciencia no inicio, mas esse tutorial sem duvida é um excelente ponto de partida e uma otima referencia pra entender o funcionamento de um microcontrolador, na minha opiniao o Basic é a linguagem ideal pra quem esta começando. Pois com uma linguagem de alto nivel (muito mais intuitiva) voce consegue desenvollver a logica de programaçao, dominando esse ponto voce ´pode partir pra qualquer linguagem.

mais uma vez meus parabens.

PS.: ainda estou terminando de ler esse tutorial =P

abs.

Mas ASM é difícil mesmo :-). BAsic é fácil por usar comando racionais.. simples... além de ter blibiotecas prontas. para USART, LCD, som, e um monte de coisas...

Mulder_Fox, obrigado meu amigo, é que às vezes eu me sinto como se estivesse "me divertindo sózinho" pois muitas vezes eu não entendo o porque que os iniciantes não seguem por este caminho....

A ideia foi exatamente esta, para que muitas pessoas que acham que "PIC ou AVR é bicho de 7 cabeças" e nem tentam fazer algo, ou aquelas pessoas que acham que programar em Basic só serve para brincadeiras !

Eu sei , por minha própria experiência, que dá para fazer muita coisa, e ainda mais TESTAR o nosso projetinho antes de sair montando e descobrindo depois que esqueçemos de algo.

Mas lembro a todos que este trabalho ainda não está completo, sempre aparecem pessoas com idéias para melhorar, e até para encontrar algum erro que eu tenha feito no texto, porisso que conto com a ajuda de todos e me coloqueia disposição para juntos melhorarmos este tutorial.

A sua opinião é muito importante, pois voce tem uma experiência com Pics bem maior do que a minha, leia aos poucos esse tutorial e me diga o que que voce acha que pode ser melhorado ok ?

Felipe, mais uma vez te agradeço, a intenção não foi só ensinar a usar o Basic, mas sim dar uma ideia melhor o que que existe dentro de um PIC, e tentar mostrar algumas idéias de como usar o potencial dele.

Acho que serve também para os iniciantes compreenderem melhor o hardware do PIC, sem ser muito "técnico" nem ser muito "detalhista" , pois isso cansa a quem está estudando né ?

Esta primeira parte é um pouco extensa pois eu detalhei bem o uso do programa PIC SIMULATOR IDE, acho muito importante saber utilizar os principais recursos do programa; agora, na segunda parte não perderei tantas páginas com o PSI, e sim apenas com hardwares diferentes e programas para ilustrar esse uso.

Ah, um detalhe que eu esquecí de falar, os esquemas dos projetos servem para quem quiser montar o projeto DE VERDADE, só tem de tomar cuidado em trocar os valores das rotinas de espera tipo WAITMS ou WAITUS, para os valores citados nos comentários.

Estou continuando a escrever a segunda parte, quero publicar ela ainda na semana que vem. Se ficar chovendo de novo no fim de semana acho que dá né ! ( afinal, pescar com frio e chuva é prá doido !!! )

Paulo

BASiC é poderoso..

pIC não éum bixo de 7 cabeças... AVR não sei.. é?

muito legal seu tutorial.... PARABENS mesmo.

SOSCHIP você não trabalha mais com os 8051???? você disse que programa AVR??? hehehe =]

Eu gostaria de aproveitar o topico e pedir a openião dos amigos... o meu tutorial está meio lento, por que em varios momentos eu fico sem saber como dar andamento nele, se estou sendo detalhista de mais (ou de menos), se estou usando uma linguagem clara ou não...

Então eu gostaria de puclicar os volumes 1 e 2 do meus tutorial, mesmo que o volume 2 esteja incompleto, para que os amigos do forum possam me orientar quanto a liguagem usada e quanto aos detalhes espostos e omitidos do assunto...

Vocês acham essa ideia aplicavel???

grato o todos.

que tutorial?

Matheus Ryndack

Link para o comentário
Compartilhar em outros sites

Amigo Cacio seria muito legal voce publicar seus tutoriais, mesmo que estejam incompletos, o pessoal aqui at sempre disposto ajudar (e ja ir aprendendo tambem =D )

alias em que linguagem voce esta passando nesse seu tutorial?

forte abraço aos amigos!

BASiC é poderoso..

pIC não éum bixo de 7 cabeças... AVR não sei.. é?

Depois que voce ddomina um microcontrolador, aprender outro fica muito mais fácil, tanto AVR, quanto Freescale, Holtek etc, sao microcontroladores RISC que obedecem a arquiteturas parecidas. creio que dominando qualquer um deles apreder outro da lista citada e muito mais fácil

forte abraço aos amigos!

Link para o comentário
Compartilhar em outros sites

  • Coordenador

Colegas, este tutorial esta destacado no tópico criado pelo Gênio Soschip Intitulado "Microcontroladores - Circuitos & Linguagem & Tutorial em BASIC para PIC's" Link abaixo:

http://forum.clubedohardware.com.br/microcontroladores-circuitos-linguagens/594329

Doravante este tópico ficará para maiores esclarecimentos pelo colega Paulo (aphawk)

O intuito é organizar os tópicos em destaque.

Esta atitude esta aberta a sugestões de todos! ok?

Abraços

Link para o comentário
Compartilhar em outros sites

Mulder_Fox, obrigado meu amigo, é que às vezes eu me sinto como se estivesse "me divertindo sózinho"

Exatamente como me sinto.

A sua opinião é muito importante, pois voce tem uma experiência com Pics bem maior do que a minha, leia aos poucos esse tutorial e me diga o que que voce acha que pode ser melhorado ok ?

Ôpa! Beleza.

Pode contar comigo. Prometo dar sujestões.

Eu gostaria de aproveitar o topico e pedir a openião dos amigos... o meu tutorial está meio lento, por que em varios momentos eu fico sem saber como dar andamento nele, se estou sendo detalhista de mais (ou de menos), se estou usando uma linguagem clara ou não...

Então eu gostaria de puclicar os volumes 1 e 2 do meus tutorial, mesmo que o volume 2 esteja incompleto, para que os amigos do forum possam me orientar quanto a liguagem usada e quanto aos detalhes espostos e omitidos do assunto...

Vocês acham essa ideia aplicavel???

grato o todos.

Cacio, se me lembro bem, o seu será sobre Assembly né?

No que precisar pode contar comigo também.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber 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...