Página 1 de 1
Duvida PIC !!!!

Enviado:
16 Mar 2009 11:54
por gilliard

Boooooom Dia !!!!
Pessoal, eu desenvolvi um projeto microcontrolado, usando o pic 18F452, mas não ficou viável. Alguem conhece algum pic da familia 16F, que possua canal AD e seja barato ?!?!?
É que eu peguei o codigo fonte do que eu criei para o 18F452, mudei os PORTS, e tentei compilar para alguns pic's da familia 16F, mas não compila, preciso de um com canal AD.
Aguardo Retorno. E desde já, muito obrigado !!!!

Enviado:
16 Mar 2009 11:59
por buiz
16F877A

Enviado:
16 Mar 2009 13:04
por Andre_Cruz
Depende de quantas I/Os você precisa, ultima vez que cotei o 16F876 estava mais em conta que o 16F877A.
Na pagina da microchip é possivel você verificar, pelas familias, quais preriféricos um determinado modelo de PIC tem.
Abraço
André

Enviado:
18 Mar 2009 19:44
por Bardelli
Para quem está dentro do mercado dos PIC tem agora o:
16F887
ele é o 16F877 porém muito mais barato e com mais funcionalidades.
tem em:
http://www.circuitshop.com.br

Enviado:
31 Mar 2009 17:01
por nagkiller
Estou com duvidas na inicialização das macros dos banks...
#INCLUDE <P16F876.INC>
__CONFIG _BODEN_ON & _CP_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _XT_OSC
;#DEFINE BANK0 BCF STATUS,RP0 ;SETA BANK 0 DE MEMÓRIA
;#DEFINE BANK1 BSF STATUS,RP0 ;SETA BANK 1 DE MAMÓRIA
;#DEFINE BANK2 BSF STATUS,RP0 ;SETA BANK 2 DE MEMÓRIA
;#DEFINE BANK3 BSF STATUS,RP0 ;SETA BANK 3 DE MAMÓRIA
CBLOCK 0x20 ;ENDEREÇO INICIAL DA MEMÓRIA DE
;USUÁRIO
ENDC ;FIM DO BLOCO DE MEMÓRIA
ORG 0x00 ;ENDEREÇO INICIAL DE PROCESSAMENTO
GOTO Setup
Setup:
BCF STATUS, RP0 ;
BCF STATUS, RP1 ; Bank0
CLRF PORTA ; Initialize PORTA by clearing output data latches
BSF STATUS, RP0 ; Select Bank 1
MOVLW 0x06 ; Configure all pins
MOVWF ADCON1 ; as digital inputs
MOVLW 0xCF ; Value used to initialize data direction
MOVWF TRISA ; Set RA<3:0> as inputs RA<5:4> as outputs TRISA<7:6>are always read as ’0’.
Main:
NOP
CALL Main
Fim:
END
Quem puder me ajudar, agradeço.
Vlw!!!

Enviado:
31 Mar 2009 17:09
por fabim
nagkiller escreveu:Estou com duvidas na inicialização das macros dos banks...
#INCLUDE <P16F876.INC>
__CONFIG _BODEN_ON & _CP_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _XT_OSC
;#DEFINE BANK0 BCF STATUS,RP0 ;SETA BANK 0 DE MEMÓRIA
;#DEFINE BANK1 BSF STATUS,RP0 ;SETA BANK 1 DE MAMÓRIA
;#DEFINE BANK2 BSF STATUS,RP0 ;SETA BANK 2 DE MEMÓRIA
;#DEFINE BANK3 BSF STATUS,RP0 ;SETA BANK 3 DE MAMÓRIA
CBLOCK 0x20 ;ENDEREÇO INICIAL DA MEMÓRIA DE
;USUÁRIO
ENDC ;FIM DO BLOCO DE MEMÓRIA
ORG 0x00 ;ENDEREÇO INICIAL DE PROCESSAMENTO
GOTO Setup
Setup:
BCF STATUS, RP0 ;
BCF STATUS, RP1 ; Bank0
CLRF PORTA ; Initialize PORTA by clearing output data latches
BSF STATUS, RP0 ; Select Bank 1
MOVLW 0x06 ; Configure all pins
MOVWF ADCON1 ; as digital inputs
MOVLW 0xCF ; Value used to initialize data direction
MOVWF TRISA ; Set RA<3:0> as inputs RA<5:4> as outputs TRISA<7:6>are always read as ’0’.
Main:
NOP
CALL Main
Fim:
END
Quem puder me ajudar, agradeço.
Vlw!!!
Amigo, pega o datasheet do 876, ele tem um grafico com os SFR´s em 4 blocos, indentificando quais são em quais bancos.
Observe que alguns são espelhados, independente do banco, você consegue acessar, outros não.
fabim

Enviado:
31 Mar 2009 18:12
por nagkiller
Valeu!!!!
Mas eu já resolvi o problema!!!
BCF STATUS,RP0
BCF STATUS,RP1
BSF STATUS,RP0
BCF STATUS,RP1
etc...
Valeu por ajudar!!!

Enviado:
01 Abr 2009 15:55
por nagkiller
Estou recebendo estes avisos ao compilar o codigo no mplab 8.20A:
Message[302] D:\MCU\PIC\PIC16F876\PROGRAMA 01\PROGRAMA 01.ASM 52 : Register in operand not in bank 0. Ensure that bank bits are correct.
Message[302] D:\MCU\PIC\PIC16F876\PROGRAMA 01\PROGRAMA 01.ASM 54 : Register in operand not in bank 0. Ensure that bank bits are correct.
Message[302] D:\MCU\PIC\PIC16F876\PROGRAMA 01\PROGRAMA 01.ASM 56 : Register in operand not in bank 0. Ensure that bank bits are correct.
E o codigo é este:
BANK0 MACRO
BCF STATUS,RP0
BCF STATUS,RP1
ENDM
BANK1 MACRO
BSF STATUS,RP0
BCF STATUS,RP1
ENDM
BANK2 MACRO
BCF STATUS,RP0
BSF STATUS,RP1
ENDM
BANK3 MACRO
BSF STATUS,RP0
BSF STATUS,RP1
ENDM
;........
Setup
BANK1
MOVLW B'00000000'
MOVWF TRISA ; DEFINE ENTRADAS E SAÍDAS DO PORTA
MOVLW B'00000000'
MOVWF TRISB ; DEFINE ENTRADAS E SAÍDAS DO PORTB
MOVLW B'10000100'
MOVWF OPTION_REG ; DEFINE OPÇÕES DE OPERAÇÃO
MOVLW B'00000000'
MOVWF INTCON ; DEFINE OPÇÕES DE INTERRUPÇÕES
BANK0
Porém ao gravar o mcu, funciona normalmente...
Tem algum jeito de remover estes avisos???
Vlw!!!

Enviado:
01 Abr 2009 16:06
por fabim
disso eu me lembro.
Escreve
#errorlevel -302
Não sei se vai ou não a cerquinha.
fabim

Enviado:
02 Abr 2009 16:38
por nagkiller
Entendi!!!
Mas esses avisos então não tem problemas aparecer?!?!?
O correto é:
ERRORLEVEL -302
Aqui tem informações sobre os errorlevels:
http://ww1.microchip.com/downloads/en/d ... 51410b.pdf
Valeu!!!