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.

Tutoriais de PIC - um seqüenciador LED

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

Tutoriais de PIC - um seqüenciador LED

Mensagem  CaseModRJ em 02.05.10 16:29

Este tutorial irá demonstrar um seqüenciador LED. Os LEDs irão acender um depois do outro, da direita para a esquerda. Com este tutorial você irá se familiarizar com a função de girar bit.

Projeto em Ação

[Você precisa estar registrado e conectado para ver este link.]

O Circuito

[Você precisa estar registrado e conectado para ver esta imagem.]

Uma observação precisa ser feita para o circuito acima. Há apenas um resistor limitador de todos os 8 LEDs. Normalmente, isso seria errado. Um resistor limitador deve ser adicionado a cada LED separadamente para garantir o mesmo brilho de todos os LEDs não importa quantos estão ligados. Mas porque apenas um LED está ligado de cada vez, não há necessidade de resistores separados.

O Código

Código:
; Main Program ------------------------------------------------------------
Start
            bank1               ;Go to bank 1
            movlw b'11111111'              ;
            movwf TRISA            ;Set the port pin types of the RA

            movlw b'00000000'              ;
            movwf TRISB            ;Set the port pin types of the RB
            bank0               ;Go to bank 0
MainLoop
            bcf Carry
            call Wait500mSec
            clrf PORTB
            bsf PORTB,0            ;Set RB0 output
            call Wait500mSec
            rlf PORTB,f
            call Wait500mSec
            rlf PORTB,f
            call Wait500mSec
            rlf PORTB,f
            call Wait500mSec
            rlf PORTB,f
            call Wait500mSec
            rlf PORTB,f
            call Wait500mSec
            rlf PORTB,f
            call Wait500mSec
            rlf PORTB,f
            goto MainLoop


Este é um código bastante simples. Primeiro, defina todos os pinos como saídas RB. Em seguida, o MainLoop continuamente em loop. 9 passos estão dentro desse loop:

Fase 1: A PORTB é limpo e todos os LEDs estão desligados
Passo dois: PORTB bit 0 é definido. O primeiro LED (RED) é ligado
Etapa 3-9: O registo PORTB é girado à esquerda (RLF) e os LEDs estão ligados em sequense
Quando todas as etapas são feitas, o loop será executado novamente desde o início.

Observe a "instrução de chamada Wait500mSec 'entre cada etapa. Esta instrução irá criar um atraso de 500 ms. A sub-rotina "Wait500mSec 'está localizado no arquivo de cabeçalho" mSecDelays4MHz.inc "que está incluído no projeto. Como sempre, todos os arquivos necessários para este projecto pode ser encontrado na parte inferior da página.

Arquivos do Projeto

[Você precisa estar registrado e conectado para ver este link.]

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