Jump to content
skyvirus

ajuda comprogramaçao de PIC

Recommended Posts

skyvirus

antes de mais boa tarde...

tou a ter algumas dificuldades na construçao do seguinte programa, devido ao facto de nao ter muitas bases de Progamaçao em PIC o programa que tou a tentar construir e o seguinte....

lê o registo 0E0H informa se o byte tem nº par ou impar e se for par coloca RB1 =1 se impar coloca RB2=0, abaixo mostro o codigo que utilizei...

#include <p16f628A.inc>

__CONFIG _CP_OFF & _LVP_OFF & _BOREN_OFF & _MCLRE_ON & _WDT_OFF & _PWRTE_ON & _INTOSC_OSC_NOCLKOUT

i EQU 0X0E2

; CONTA O NUMERO DE REPETIÇÕES DE 0 A 7

org 0x000

goto principal

org 0x00A

principal MOVLW 0x07

MOVWF CMCON ; esta instrução liberta pinos RB0 a RB3 dos comparadores analógicos

BSF STATUS, 5; selecciona o banco 1

BCF TRISB,1 ;PROGRAMA O PINO RB1 COMO OUTPUT

CLRF 0X0E1 ;LIMPA O REGISTO ONDE VAI FICAR A SOMA DOS ZEROS

CLRF i ; INICIA O CONTADOR DE CICLO

BCF STATUS, C; LIMPAR O CARRY

; INICIO DE CICLO QUE CONTA Nº DE 1S NO BYTE DA POSIÇÃO 0B0

INICIO: RRF 0X0E0,1 ; RODA PARA A DIREITA PARA O CARRY

BTFSC STATUS,0 ;TESTA O BIT SE ZERO

INCF i,1 ; APANHOU UM '1'

MOVLW 0X08 ; COLOCA NO w O FIM DO CICLO 8= Nº DE BITA A TESTAR

ANDWF i,0

BTFSC STATUS, Z

GOTO INICIO

BTFSS 0X0E1,0 ;TESTA O BIT MENOS PESADO DO VALOR DA CONTAGEM DE 1S

;SE FOR UM É PORQUE A SOMA DE UNS É IMPAR

GOTO ESCREVE1

    BCF PORTB,1; ESCREVE O NO PINO RB1, PORQUE É PAR O Nº DE 1S

ESCREVE1:  BSF PORTB,1 ; ESCREVE 1 NO PINO RB1, PORQUE É IMPAR O Nº DE 1S EM 0E0H

END

Agradecia ajuda.... OBRIGADO

Share this post


Link to post
Share on other sites
bubulindo

Acho que consegues mais ajuda se colocares esta dúvida no fórum de electrónica e não no de C...


include <ai se te avio>

Mãe () {

}

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.