Duvida PIC !!!!

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Duvida PIC !!!!

Mensagempor gilliard » 16 Mar 2009 11:54

: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 !!!!
Avatar do usuário
gilliard
Byte
 
Mensagens: 121
Registrado em: 26 Ago 2008 13:32

Mensagempor buiz » 16 Mar 2009 11:59

16F877A
Avatar do usuário
buiz
Byte
 
Mensagens: 165
Registrado em: 20 Out 2006 14:59
Localização: Cachoeira do Sul - RS

Mensagempor Andre_Cruz » 16 Mar 2009 13:04

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é
Andre_Cruz
Word
 
Mensagens: 559
Registrado em: 03 Jan 2009 14:06

Mensagempor Bardelli » 18 Mar 2009 19:44

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
Bardelli
Byte
 
Mensagens: 126
Registrado em: 20 Out 2006 12:42

Mensagempor nagkiller » 31 Mar 2009 17:01

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!!!
Nagkiller
Avatar do usuário
nagkiller
Bit
 
Mensagens: 40
Registrado em: 21 Jul 2007 09:38

Mensagempor fabim » 31 Mar 2009 17:09

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
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor nagkiller » 31 Mar 2009 18:12

Valeu!!!!

Mas eu já resolvi o problema!!!

BCF STATUS,RP0
BCF STATUS,RP1

BSF STATUS,RP0
BCF STATUS,RP1
etc...
Valeu por ajudar!!!
Nagkiller
Avatar do usuário
nagkiller
Bit
 
Mensagens: 40
Registrado em: 21 Jul 2007 09:38

Mensagempor nagkiller » 01 Abr 2009 15:55

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!!!
Nagkiller
Avatar do usuário
nagkiller
Bit
 
Mensagens: 40
Registrado em: 21 Jul 2007 09:38

Mensagempor fabim » 01 Abr 2009 16:06

disso eu me lembro.

Escreve
#errorlevel -302

Não sei se vai ou não a cerquinha.

fabim
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor nagkiller » 02 Abr 2009 16:38

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!!!
Nagkiller
Avatar do usuário
nagkiller
Bit
 
Mensagens: 40
Registrado em: 21 Jul 2007 09:38


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x