Ir ao conteúdo
  • Cadastre-se

Ajuda com codigo propeller clock


jorgeletronico

Posts recomendados

Galera estou tentando desenvolver um codigo de um propeller clok em psi(pic simulator ide) bom,o professor paulo esta me ajudando mais tenho duvida se esta certo ,se alguem puder me dar umas dicas,segue o codigo:

Define CONF_WORD = 0x3f50

Define CLOCK_FREQUENCY = 4

AllDigital

Dim cont As Byte

Dim conts As Byte

Dim contm As Byte

Dim conth As Byte

Dim ch1 As Byte

Dim ch2 As Byte

Dim chr As Byte

Dim var As Byte

Dim mask As Byte

Dim i As Byte

TRISB = 0

TRISA = 1 'PORTA como entrada

PORTA = 0

cont = 0

conts = 0

contm = 0

conth = 0

i = 1

OPTION_REG.T0CS = 0 'usar clock interno

OPTION_REG.PSA = 0 'prescaler ligado no TIMER0

OPTION_REG.PS2 = 1 'valor prescaler = 64

OPTION_REG.PS1 = 1

OPTION_REG.PS0 = 1

TMR0 = 251

INTCON.T0IE = 1 'Habilita as interrupções do TIMER0

INTCON.GIE = 1 'Habilita todas as interrupções não mascaradas

Enable

loop1:

dezena_seg:

chr = conts

ch1 = chr / 10

var = ch1 * 5

Goto mostra

WaitUs 500

unidade_seg:

chr = conts

ch2 = chr - (ch1 * 10)

var = ch2 * 5

Goto mostra

mostra:

For i = 1 To 5

mask = LookUp(0xde, 0x80, 0xfe, 0xff, 0xde, 0xbc, 0xba, 0xb6, 0xce, 0xbd, 0xbe, 0xae, 0x96, 0xb9, 0xf3, 0xeb, 0xdb, 0x80, 0xfb, 0x8d, 0xae, 0xae, 0xae, 0xb1, 0xe1, 0xd6, 0xb6, 0xb6, 0xf9, 0xbf, 0xb8, 0xb7, 0xaf, 0x9f, 0xc9, 0xb6, 0xb6, 0xb6, 0xc9, 0xcf, 0xb6, 0xb6, 0xb5, 0xc3, 0xff, 0xc9, 0xc9, 0xff, 0xff), var

PORTB = mask

WaitUs 100

var = var + 1

Next i

Goto loop1

End

On Interrupt 'Rotina de tratamento de interrupção

Save System 'salva o contexto, use sempre

'seguem As instruções a serem executadas na interrupção

cont = cont + 1

If cont = 7 Then '1 segundo

conts = conts + 1 'incrementa contador do segundo

cont = 0

Endif

If conts = 12 Then

contm = contm + 1

cont = 0

conts = 0

Endif

If contm = 6 Then

conth = conth + 1

contm = 0

cont = 0

Endif

If conth = 2 Then

conth = 0

cont = 0

Endif

TMR0 = 251 'coloca de novo a contagem inicial

INTCON.T0IF = 0 'Habilita novas interrupções do TIMER0

Resume

Return

Link para o comentário
Compartilhar em outros sites

Jorge,

Explica prá gente o que que é esse Propeller Clock, qual a sua funcionalidade, prá que que tem que fazer 5 I/O's seguidos a cada 100 microsegundos ( ! ) e qual o tempo de sua interrupção ( estou estranhando seu contador de interrupts .... 7 interrupts dá um segundo ???????? ) , assim podemos ajudar e simular também ok ?

Paulo

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para 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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!