|
|
|
Aula 5
Programando em Basic no MikroBasic
Aprendendo a programar em Basic
Programar em Basic é a maneira mais fácil de se aprender a programar, pois o Basic é uma linguagem intuitiva e como próprio nome já diz (Básico) não tem muito mistério; As funções (Comandos) são tão intuitivos e fáceis de se entender, tal qual, como montar um fluxograma.
Veja o fluxograma ao lado e abaixo um programa em Basic simples, para darmos início a essa aprendizagem. Editando os Fusíveis no MikroBasic
Obs.: Eu notei que para simular no Proteus, ao editar o projeto no miKrobasic, havia configurado, somente a escolha do Microcontrolador e o Clock do Cristal, assim a simulação no Proteus foi possível sem problemas, porém ao gravar o microcontrolador o funcionamento não foi o esperado voltei e configurei o fusíveis da forma acima e no protoboard real o funcionamento ficou da mesma forma como na simulação.
Fica a dica para quem está enfrentando problemas, ao passar o programa para o PIC e na montagem, o projeto não sai como o esperado. Note no fluxograma ao lado que o programa por sua simplicidade tem uma só direção sem desvios, o único loop é o que retorna para o início. Deixarei uma caixa de diálogo aqui, para que você possa postar perguntas a respeito do que está sendo explicado, ou use o blogue para tirar suas dúvidas clicando aqui. |
Imagine agora que você queira fazer um Led Piscar usando para isso um microcontrolador qualquer.
Vamos programar isso em Basic depois decidiremos que PIC usar. O programa mais fácil para fazer o que o diagrama mostra seria o seguinte: program Pisca_Led main: 'Label (Rótulo Principal de um programa) PORTB = 0 ' Inicializa a Porta B TRISB = 0 ' Configura a Porta B como saída while TRUE PORTB = not PORTB ' Alterna a Porta B Delay_ms(1000) ' Pausa de 1 seg. wend End. O programa abaixo, faz o mesmo que o anterior, porém com muito mais linhas de programa Program Pisca_Led main: 'Label (Rótulo Principal) TrisB=0 'Configura a porta B como saída PortB=%11111111 'Porta B acende Led Delay_ms(1000) 'Pausa 1 seg.com o led Aceso PortB=%00000000 'Porta B Apaga Led Delay_ms(1000) 'pausa 1 seg. com o led Apagado Goto main 'Volta para o label main (Loop) End. 'fim do programa Note que o led poderá ser ligado a qualquer porta B (RB0, RB1, RB2, RB3, RB4, RB5, RB6, OU RB7) |
Funções e Comandos na Linguagem Basic para Microcontroladores PIC
MikroBasic PRO for PIC permite-lhe desenvolver e implementar rapidamente aplicações complexas, mas para isso você deverá conhecer bem as funções da linguagem para saber usá-las em benefício do projeto a ser realizado então vamos aprender cada uma delas. No MikroBasic PRO for PIC você consegue fazer seus programas mesmo sem conhecer muito sobre a linguagem pois o software lhe oferece várias ferramentas de ajuda.
Um exemplo disso é o Editor de código embutido.
Escreva o seu código fonte Basic, usando o editor de código embutido (código e Parameter assistentes, dobramento de código, destaque de sintaxe, corretor ortográfico, Auto correção, Máscaras de Código, e muito mais.)
Veja outras ferramentas de ajuda:
Use as bibliotecas incluídas PRO mikroBasic, usando-as acelera drasticamente o desenvolvimento: aquisição de dados, memória, displays, conversões, comunicação, etc
Monitore sua estrutura de programa, variáveis e funções do Code Explorer.
Faça comentários para uma montagem legível e gere o arquivo HEX, padrão compatível com todos os programadores.
Use o mikroICD integrado (In-Circuit Debugger) ferramenta de depuração em tempo real para monitorar a execução do programa no nível do hardware. "Só é possível o uso desta ferramenta, com o uso de um gravador PIC compatível"
Inspecione o fluxo do programa e lógica executável de depuração com o Simulador de Software integrado.
Gerar arquivo COFF (Common Object File Format) para depuração de software e hardware, com o software MPLAB da Microchip.
Comentários Ativos permite que você faça seus comentários, mais destacados e interativos.
Obtenha relatórios detalhados e gráficos: RAM e ROM de mapas, estatísticas, listagem de código de montagem, árvore chamada e muito mais.
mikroBasic PRO for PIC fornece uma abundância de exemplos para ampliar, desenvolver e usar como em uma construção de tijolo em tijolo, em seus projetos. Você poderá, copiá-los inteiramente e modificar ou não para que o projeto final fique do seu jeito, para isso tem que entender as linhas de programação os exemplos embutidos servem para isso e é por isso que estão inclusos com o compilador.
Um exemplo disso é o Editor de código embutido.
Escreva o seu código fonte Basic, usando o editor de código embutido (código e Parameter assistentes, dobramento de código, destaque de sintaxe, corretor ortográfico, Auto correção, Máscaras de Código, e muito mais.)
Veja outras ferramentas de ajuda:
Use as bibliotecas incluídas PRO mikroBasic, usando-as acelera drasticamente o desenvolvimento: aquisição de dados, memória, displays, conversões, comunicação, etc
Monitore sua estrutura de programa, variáveis e funções do Code Explorer.
Faça comentários para uma montagem legível e gere o arquivo HEX, padrão compatível com todos os programadores.
Use o mikroICD integrado (In-Circuit Debugger) ferramenta de depuração em tempo real para monitorar a execução do programa no nível do hardware. "Só é possível o uso desta ferramenta, com o uso de um gravador PIC compatível"
Inspecione o fluxo do programa e lógica executável de depuração com o Simulador de Software integrado.
Gerar arquivo COFF (Common Object File Format) para depuração de software e hardware, com o software MPLAB da Microchip.
Comentários Ativos permite que você faça seus comentários, mais destacados e interativos.
Obtenha relatórios detalhados e gráficos: RAM e ROM de mapas, estatísticas, listagem de código de montagem, árvore chamada e muito mais.
mikroBasic PRO for PIC fornece uma abundância de exemplos para ampliar, desenvolver e usar como em uma construção de tijolo em tijolo, em seus projetos. Você poderá, copiá-los inteiramente e modificar ou não para que o projeto final fique do seu jeito, para isso tem que entender as linhas de programação os exemplos embutidos servem para isso e é por isso que estão inclusos com o compilador.
Exemplos de praticidade "Muito Fácil"
Imagine que se queira mostrar um texto em um display de LCD no seu projeto, Como ligar o LCD? O que devemos fazer?
Com o compilador aberto vamos escolher como exemplo o PIC 16f628A poderia ser qualquer outro mas esse tem a particularidade de ser encontrado com maior facilidade e também o custo benefício é bastante interessante.
Agora clique na aba help ou clique F1 no teclado, depois clique na aba pesquisar e na caixa de texto digite LCD, clique agora no botão pesquisar, selecione LCD Lybrary com um duplo clique e na janela à direita role a barra de rolagem até o final e lá encontrará um exemplo de programação, irá notar que o exemplo é para ser usado no PIC16f887 então para usarmos esse mesmo código no 16f628 teremos que fazer algumas modificações conforme o exemplo abaixo, siga o passo a passo do vídeo
Programa exemplo copiado do help no Mikrobasic
program Lcd
' Lcd module connections ' módulo de conexões entre o LCD e o PIC dim LCD_RS as sbit at RB4_bit LCD_EN as sbit at RB5_bit LCD_D4 as sbit at RB0_bit LCD_D5 as sbit at RB1_bit LCD_D6 as sbit at RB2_bit LCD_D7 as sbit at RB3_bit LCD_RS_Direction as sbit at TRISB4_bit LCD_EN_Direction as sbit at TRISB5_bit LCD_D4_Direction as sbit at TRISB0_bit LCD_D5_Direction as sbit at TRISB1_bit LCD_D6_Direction as sbit at TRISB2_bit LCD_D7_Direction as sbit at TRISB3_bit ' End Lcd module connections dim txt1 as char[16] txt2 as char[9] txt3 as char[8] txt4 as char[7] i as byte ' Loop variable sub procedure Move_Delay() ' Function used for text moving Delay_ms(500) 'You can change the moving speed here end sub main: TRISB = 0 PORTB = 0xFF TRISB = 0xFF ANSEL = 0 ' Configure AN pins as digital I/O ANSELH = 0 txt1 = "mikroElektronika" txt2 = "EasyPIC6" txt3 = "Lcd4bit" txt4 = "example" Lcd_Init() ' Initialize Lcd Lcd_Cmd(_LCD_CLEAR) ' Clear display Lcd_Cmd(_LCD_CURSOR_OFF) ' Cursor off Lcd_Out(1,6,txt3) ' Write text in first row Lcd_Out(2,6,txt4) ' Write text in second row Delay_ms(2000) Lcd_Cmd(_LCD_CLEAR) ' Clear display Lcd_Out(1,1,txt1) ' Write text in first row Lcd_Out(2,5,txt2) ' Write text in second row Delay_ms(500) ' Moving text for i=0 to 3 ' Move text to the right 4 times Lcd_Cmd(_LCD_SHIFT_RIGHT) Move_Delay() next i while TRUE ' Endless loop for i=0 to 7 ' Move text to the left 8 times Lcd_Cmd(_LCD_SHIFT_LEFT) Move_Delay() next i for i=0 to 7 ' Move text to the right 8 times Lcd_Cmd(_LCD_SHIFT_RIGHT) Move_Delay() next i wend end. |
Programa modificado para usarmos no PIC 16f628
|
Fazendo o exemplo de programa funcionar no simulador Proteus
Para fixarmos essa aprendizagem vamos construir o nosso hardware no Programa Proteus e simularmos, para isso copie o código da direita já modificado para usarmos o PIC 16f628 e com o nosso compilador MIKROBASIC aberto clique na aba project, feche qualque projeto que por acaso esteja aberto clicando em Closed Project em seguida clique em New Project, fazendo isso abrirá a janela New Project Wizard, clique em Next e na janela a seguir dê um nome a seu novo projeto, LCD628A por exemplo, escolha a pasta onde o projeto será gravado, para isso clique em Browse e escolha uma pasta no seu HD ou Pen Drive, em Device Name, use a barra de rolagem até achar o PIC 16f628, em Device Clock, use 8 ou 4 MHz, tanto faz, pois nossa aula de hoje não vamos falar sobre isso, portanto use um dos dois, falaremos sobre isso em outra ocasião e depois de escolhido o clock a ser usado clique em next, como não usaremos nenhum arquivo a ser adicionado a esse projeto, clique em next novamente, na próxima janela Include Libraries, deixe marcado como padrão Include All e clique em Next e por fim clique em Finish.
Depois de todo o trabalho acima e com o programa da direita copiado siga o passo a passo abaixo.