Case Mod RJ
Olá Convidado, Seja Bem-Vindo(a) ao nosso Forum.

O Nosso Forum possui 15 Categorias.
Ela está Online há 3174 dias.
E conta com 318 Tópicos e 404 Mensagens.

Obs: Se você ainda não for cadastrado por favor, cadastre-se, é grátis assim você poderá ler todos os tópicos e ter acesso aos links.
E por favor colaborem, postem, perguntem, criem e divirtam-se.
Contribuindo vocês me ajundam a manter o forum, pois sempre estarei postando novidades e projetos sobre casemod e eletronica.




Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Parceiros
Seja Parceiro, apenas aqui e entre em contato

Seja Parceiro, apenas aqui e entre em contato

Calculadora de Led’s
Calculadora de led multo util, para você fazer seu projeto.
Calculadora LM317
Calculadora do LM 317 muito util, para você fazer seu projeto.
Calculadora Resistor
Calculadora de resistores multo util, para você fazer seu projeto.

Como usar os nossos Tutoriais PIC

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Como usar os nossos Tutoriais PIC

Mensagem  CaseModRJ em 02.05.10 17:17

A Estrutura do Tutorial
-------------------------------------------------- ------------------------------

Cada curso é composto de quatro partes básicas:

1. A Intro
Esta é a primeira parte. O prólogo e uma breve descrição do tutorial, bem como a finalidade do mesmo, são escritas entre as linhas primeiro. No canto superior direito, há uma foto do circuito. Um vídeo também está anexado que demonstra o tutorial em operação.

2. O Circuito
A próxima parte do circuito. Este é o lugar onde o esquema está conectado, e, se necessário, explicou.

3. O Código
A terceira parte é o código. Há uma janela de código com o código para ser explicado. Por favor note que nesta janela, há apenas o IMPORTANTE código para este tutorial. O resto do código pode ser encontrado nos arquivos em anexo, na quarta e última parte de cada tutorial.

A razão que eu escolhi para mostrar apenas uma parte do código é óbvio. Um programa PIC completa é composta de diversas instruções de inicialização, rotinas e outras coisas. Mas o objetivo de cada tutorial não é explicar a estrutura do programa completo de cada vez. O objetivo é explicar uma rotina específica, a função ou instrução. O resto do código deve ser ignorado no momento e não serão discutidos. Como a elevação do nível, mais e mais código será explicado. No final, cada linha de um programa PIC será explicado em detalhes.

Claro, o código completo está anexado na parte 4 do tutorial.

4. Os Anexos
Esta é a última parte do tutorial. Aqui você pode encontrar todos os arquivos do programa. Você pode extrair o arquivo zip em um diretório e compile-upload directamente o código para uma foto.

Os arquivos
-------------------------------------------------- ------------------------------

Eu tentei manter uma estrutura unificada para todos os tutoriais dentro deste livro. Todos os tutoriais vem. Pacotes zip. Dentro do recipiente zip, você encontrará os seguintes arquivos:

1. O arquivo de listagem principal Assembly (. Asm)
Todos os tutoriais terá um único arquivo. Asm. Este é o arquivo de código principal. Neste arquivo você encontrará a lista completa montagem do tutorial.

2. A Microchip File Header P16F88.INC 16F88 ()
Todos os tutoriais terá o arquivo de cabeçalho "P16F88.INC 'incluídas. Este é o arquivo de cabeçalho Microchip para o PIC 16F88. Você deve usar o fornecido de tutoriais e não a partir de um microchip, porque eu tenho add alguns macros mais para tornar nossa vida mais fácil. Se você não usar o mesmo que eu faço, é mais provável que o programa não será compilado corretamente

3. O PIC arquivo de inicialização (init_normal.INC)
Todos os tutoriais terá o arquivo de cabeçalho "init_normal.inc incluído. Este arquivo contém algumas instruções para inicializar algumas operações PIC, como a freqüência de oscilação. Este arquivo não deverão ser tidas em conta, a menos que sejam feitas. Todas as funções serão explicadas ao longo do tempo.

4. O sub-rotinas Delay (mSecDelays4MHz.INC) - Opcional
É mais provável que uma rotina de atraso deve ser utilizado a partir de um tutorial. Por isso, eu fiz um cabeçalho separado arquivo chamado 'mSecDelays4MHz.inc. Este arquivo contém um atraso paramétrico de rotina para PIC com clock de 4MHz. Durante o código principal, você pode ver as chamadas para essas rotinas. Uma chamada para uma sub-rotina demora 10msec seria''.

Código:
Call Wait10mSec

Se você é um novato, eu encorajá-lo a usar este arquivo. Você pode fazer seu próprio sub-rotinas personalizadas para o seu tempo de atraso. Haverá uma aula completa para o cálculo e gerando atrasos de costume, mas até então, essas rotinas será usado extensivamente.

O Programa asm
-------------------------------------------------- ------------------------------
Depois de explicar os arquivos que existem dentro do recipiente, vou explicar as partes que o arquivo de listagem principal assembly (. Asm) tem:

1. O Programa Head
No início de cada um. Asm, você vai encontrar um código semelhante ao seguinte:

Código:
list      F=inhx8m, P=16F88, R=hex, N=0
#include  P16F88.inc; PIC definitions
 __config _config1,_INTRC_IO & _WDT_OFF & _LVP_OFF & _PWRTE_OFF & _MCLR_ON & _BODEN_ON & _LVP_OFF & _CPD_OFF & _WRT_PROTECT_OFF & _CCP1_RB0 & _CP_OFF
 __config _config2,_IESO_OFF & _FCMEN_OFF
 Errorlevel -302      ; switches off Message [302]: Register in operand not in bank 0.

O código acima deve ser usada como está. Em primeiro lugar, conter informações sobre o anúncio de montagem. Em seguida, o arquivo de cabeçalho PIC16F88 está incluído no código. As linhas __config irá definir os bits de configuração do PIC (explicado nas páginas mais tarde). Finalmente, a mensagem 302 chato é desligado da compila.

2. As definições
Nesta seção, vou acrescentar algumas definições personalizadas para alguns registros que vão ser amplamente utilizado dentro do código. Se por exemplo eu tenho ligar um botão no PORTA, 0 pin, eu poderia definir um nome para esse pino como se segue:

Código:
; Definitions -------------------------------------------------------------
#Define   ButtonInput         PORTA,0


Agora eu posso referir-se a PORTA, 0 pinos usando o nome definido "ButtonInput.

3. Definida pelo usuário Registos
Para usar a memória RAM livre do PIC, definida pelo usuário registros devem ser declaradas. Eu faço isso dentro desta seção. Eu uso o Cblock / endc método para definir a minha registros. Um exemplo é o seguinte:

Código:
; RAM preserved -----------------------------------------------------------
   cblock 0x20
      WaitCounter,WaitCounter2
      IntervalCounter
   endc


Agora eu posso referir-se a PORTA, 0 pinos usando o nome definido "ButtonInput.

Os dois primeiros registos (WaitCounter e WaitCounter2) podem ser encontrados em quase todos os tutoriais. Estes dois registos são usados pelo atraso rotinas descritas acima.

4. As constantes
Muitas vezes, as constantes que eu uso para declarar valores. Eu faço isso por razões de parametrização. As constantes são valores nomeados que não pode ser alterado durante a execução do programa. Um exemplo é o seguinte:

Código:
; Conastants --------------------------------------------------------------
GLDoubleClick_Interval   =   d'15'
GLDoubleClick_MaxDelay   =   d'30'
GLLongClick_Interval   =   d'80'


Agora, eu posso carregar o valor d'15 ', referindo-se o seu nome: GLDoubleClick_Interval movlw.

5. O início do programa principal
Quando o programa for iniciado, há algumas coisas a serem feitas. Em primeiro lugar, é preciso definir a compensação do programa, que é o 0x00. Então, é preciso declarar a interrupção do serviço de rotina no endereço 0x04. Então chamamos a rotina de inicialização. Todas estas etapas são realizadas no início do programa. A iniciar o programa típico é o seguinte:

Código:
; Program Memory ----------------------------------------------------------
                org    0              ; Main program offset
                goto    Init            ; Jump to initialization routine
; Interrupt Service Routine -----------------------------------------------
                org    4              ; ISR beginning
; -------------------------------------------------------------------------
; Microcontroller initialization
Init           
            include Init_normal.inc   ;Include the PIC Initialization routine
;##########################################################################


Agora, está tudo pronto para o programm principal!

6. O Programa principal
Finalmente, aqui vem o programa principal. Aqui é colocado o código que você pode encontrar na janela de código de cada tutorial. Você pode usar os arquivos tutorial como modelos, e alterando o código principal, você pode fazer seus próprios programas! No final do programa principal, há a inclusão de todos os arquivos de cabeçalho externo (como as sub-rotinas demora do arquivo 'mSecDelays4MHz.INC'), eo rótulo de "Fins". Esta etiqueta (a partir do Finish ford) mostra a final do programa. Esta etiqueta pode ser omitido, mas eu sempre uso, e quando eu quero terminar o programa, eu executar uma instrução GOTO para esse rótulo ("GOTO Fins"). Você deve sempre ter o "fim" directiva no final do principal. Asm! Isto é como o arquivo deve ser parecido:

Código:
;##########################################################################

; Main Program ------------------------------------------------------------

Start
                .
                .
                .
                [ HERE IS THE MAIN CODE ]
                .
                .
                .


      include mSecDelays4MHz.inc

Fins           
                end            ; end of program


Fonte: Pcheaven
avatar
CaseModRJ
Admin

Número de Mensagens : 338
Idade : 36
Pontos : 100000520
Reputação : 61
Data de inscrição : 16/03/2009

http://casemodrj.forumeiro.com

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum