Página 1 de 1

Duvida PIC !!!!

MensagemEnviado: 16 Mar 2009 11:54
por gilliard
:D 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 !!!!

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

MensagemEnviado: 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é

MensagemEnviado: 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

MensagemEnviado: 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!!!

MensagemEnviado: 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

MensagemEnviado: 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!!!

MensagemEnviado: 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!!!

MensagemEnviado: 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

MensagemEnviado: 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!!!