Pic certo no MikroC...

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Pic certo no MikroC...

Mensagempor Blew » 13 Nov 2009 10:31

Olá amigos estou com uma duvida e um problema aqui.
Tenho um equipamento aqui que está com problemas no Pic, vou ter que programar outro, criar o programa. Mas o pic que está no equipamento é o 16C57, vi que o substituto atual para ele é o 16F57. Aí é que está o problema, utilizo o Mikroc e este bendido Pic não está entre os compatives com o programa... Aí eu pergunto: Alguem sabe se posso selecionar outro pic na lista do Mikroc para criar um .HEX que pode ser gravado no 16F57? porque meu gravador grava esse modelo.

Ou talvez alguem conheça um Pic substituto para esse modelo com a mesma pinagem, ou seja: 28 pinos, alimentação (+) pino 2, (-) pino 4, Mclr pino 28, Clk(cristal) pino 27 e 26.

Por favor se alguem puder me dar uma luz...
Blew
Bit
 
Mensagens: 46
Registrado em: 24 Out 2006 10:03

Mensagempor ze » 13 Nov 2009 13:21

vamo vê o que posso fazer com apagão e tudo...
já deve ter olhado na microchip.com, não? não?? então fica a sugestão.
tente atualizar seu compilador. tente com hitech. vai ter que fazer do zero mesmo. Se este pic for dip, tente fazer 1 adaptador e use um pic + popular. Se forem muitos, faça 1 plaquinha conversora com smd. Se já for smd na tua pci, phoodeu.
abç
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor Blew » 13 Nov 2009 13:42

No site já pesquisei,acho que olhei o datasheet de todos com 28 pinos, o adaptador até que rola mas seria minha ultima opção. Aprender a mexer com outro compilador nessa altura do campeonato é complicado...não sei o que fazer...
Blew
Bit
 
Mensagens: 46
Registrado em: 24 Out 2006 10:03

Mensagempor fabim » 13 Nov 2009 13:50

Blew, num cheguei a ir a fundo, mais pelo que vi aqui num site, esse cara aí é janelado ?hehe santa luzia. Este equipo era ligado pelo que parece no controlador de bordo do barco de noé.rsrs

Esqueça, tu não vai achar este pic, acredito eu em compilador nenhum. Eu mexia com pic a 12 anos, e nem conhecia esse cara aí!!

Abraços
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 Blew » 13 Nov 2009 13:58

Cara, o pior é que eu achei pra comprar, e de acordo com o site da microchip ele ainda é fabricado (o modelo F, 16f57)...

heheh mas é verdade, provavelmente foi o Noé quem programou o que está no equipamento...
Blew
Bit
 
Mensagens: 46
Registrado em: 24 Out 2006 10:03

Mensagempor Djalma Toledo Rodrigues » 13 Nov 2009 15:00

; HI-TECH Software PICC Assembler header file.
; Definitions based on C header file: pic16f87.h.

; NOTE: PICC assembler option -P is required to preprocess assembler sources.

; Special Function Register definitions
INDF equ 000h
TMR0 equ 001h
PCL equ 002h
STATUS equ 003h
FSR equ 004h
PORTA equ 005h
PORTB equ 006h
PCLATH equ 00Ah
INTCON equ 00Bh
PIR1 equ 00Ch
PIR2 equ 00Dh
TMR1L equ 00Eh
TMR1H equ 00Fh
T1CON equ 010h
TMR2 equ 011h
T2CON equ 012h
SSPBUF equ 013h
SSPCON equ 014h
CCPR1L equ 015h
CCPR1H equ 016h
CCP1CON equ 017h
RCSTA equ 018h
TXREG equ 019h
RCREG equ 01Ah
ADRESH equ 01Eh
ADCON0 equ 01Fh
OPTION_REG equ 081h
TRIS_REGA equ 085h
TRIS_REGB equ 086h
PIE1 equ 08Ch
PIE2 equ 08Dh
PCON equ 08Eh
OSCCON equ 08Fh
OSCTUNE equ 090h
PR2 equ 092h
SSPADD equ 093h
SSPSTAT equ 094h
TXSTA equ 098h
SPBRG equ 099h
ANSEL equ 09Bh
CMCON equ 09Ch
CVRCON equ 09Dh
ADRESL equ 09Eh
ADCON1 equ 09Fh
WDTCON equ 0105h
EEDATA equ 010Ch
EEDAT equ 010Ch
EEADR equ 010Dh
EEADRL equ 010Dh
EEDATH equ 010Eh
EEADRH equ 010Fh
EECON1 equ 018Ch
EECON2 equ 018Dh

; Bit variables associates within SFRs
#define CARRY STATUS,0
#define DC STATUS,1
#define ZERO STATUS,2
#define PD STATUS,3
#define TO STATUS,4
#define RP0 STATUS,5
#define RP1 STATUS,6
#define IRP STATUS,7
#define RA0 PORTA,0
#define RA1 PORTA,1
#define RA2 PORTA,2
#define RA3 PORTA,3
#define RA4 PORTA,4
#define RA5 PORTA,5
#define RA6 PORTA,6
#define RA7 PORTA,7
#define RB0 PORTB,0
#define RB1 PORTB,1
#define RB2 PORTB,2
#define RB3 PORTB,3
#define RB4 PORTB,4
#define RB5 PORTB,5
#define RB6 PORTB,6
#define RB7 PORTB,7
#define RBIF INTCON,0
#define INT0IF INTCON,1
#define TMR0IF INTCON,2
#define RBIE INTCON,3
#define INT0IE INTCON,4
#define TMR0IE INTCON,5
#define PEIE INTCON,6
#define GIE INTCON,7
#define TMR1IF PIR1,0
#define TMR2IF PIR1,1
#define CCP1IF PIR1,2
#define SSPIF PIR1,3
#define TXIF PIR1,4
#define RCIF PIR1,5
#define ADIF PIR1,6
#define EEIF PIR2,4
#define CMIF PIR2,6
#define OSFIF PIR2,7
#define TMR1ON T1CON,0
#define TMR1CS T1CON,1
#define T1SYNC T1CON,2
#define T1OSCEN T1CON,3
#define T1CKPS0 T1CON,4
#define T1CKPS1 T1CON,5
#define T1RUN T1CON,6
#define T2CKPS0 T2CON,0
#define T2CKPS1 T2CON,1
#define TMR2ON T2CON,2
#define TOUTPS0 T2CON,3
#define TOUTPS1 T2CON,4
#define TOUTPS2 T2CON,5
#define TOUTPS3 T2CON,6
#define SSPM0 SSPCON,0
#define SSPM1 SSPCON,1
#define SSPM2 SSPCON,2
#define SSPM3 SSPCON,3
#define CKP SSPCON,4
#define SSPEN SSPCON,5
#define SSPOV SSPCON,6
#define WCOL SSPCON,7
#define CCP1M0 CCP1CON,0
#define CCP1M1 CCP1CON,1
#define CCP1M2 CCP1CON,2
#define CCP1M3 CCP1CON,3
#define CCP1Y CCP1CON,4
#define CCP1X CCP1CON,5
#define RX9D RCSTA,0
#define OERR RCSTA,1
#define FERR RCSTA,2
#define ADDEN RCSTA,3
#define CREN RCSTA,4
#define SREN RCSTA,5
#define RX9 RCSTA,6
#define SPEN RCSTA,7
#define ADON ADCON0,0
#define GODONE ADCON0,2
#define CHS0 ADCON0,3
#define CHS1 ADCON0,4
#define CHS2 ADCON0,5
#define ADCS0 ADCON0,6
#define ADCS1 ADCON0,7
#define ADGO ADCON0,2
#define PS0 OPTION_REG,0
#define PS1 OPTION_REG,1
#define PS2 OPTION_REG,2
#define PSA OPTION_REG,3
#define T0SE OPTION_REG,4
#define T0CS OPTION_REG,5
#define INTEDG OPTION_REG,6
#define RBPU OPTION_REG,7
#define TRIS_REGA0 TRIS_REGA,0
#define TRIS_REGA1 TRIS_REGA,1
#define TRIS_REGA2 TRIS_REGA,2
#define TRIS_REGA3 TRIS_REGA,3
#define TRIS_REGA4 TRIS_REGA,4
#define TRIS_REGA5 TRIS_REGA,5
#define TRIS_REGA6 TRIS_REGA,6
#define TRIS_REGA7 TRIS_REGA,7
#define TRIS_REGB0 TRIS_REGB,0
#define TRIS_REGB1 TRIS_REGB,1
#define TRIS_REGB2 TRIS_REGB,2
#define TRIS_REGB3 TRIS_REGB,3
#define TRIS_REGB4 TRIS_REGB,4
#define TRIS_REGB5 TRIS_REGB,5
#define TRIS_REGB6 TRIS_REGB,6
#define TRIS_REGB7 TRIS_REGB,7
#define TMR1IE PIE1,0
#define TMR2IE PIE1,1
#define CCP1IE PIE1,2
#define SSPIE PIE1,3
#define TXIE PIE1,4
#define RCIE PIE1,5
#define ADIE PIE1,6
#define EEIE PIE2,4
#define CMIE PIE2,6
#define OSFIE PIE2,7
#define BOR PCON,0
#define POR PCON,1
#define SCS0 OSCCON,0
#define SCS1 OSCCON,1
#define IOFS OSCCON,2
#define OSTS OSCCON,3
#define IRCF0 OSCCON,4
#define IRCF1 OSCCON,5
#define IRCF2 OSCCON,6
#define TUN0 OSCTUNE,0
#define TUN1 OSCTUNE,1
#define TUN2 OSCTUNE,2
#define TUN3 OSCTUNE,3
#define TUN4 OSCTUNE,4
#define TUN5 OSCTUNE,5
#define BF SSPSTAT,0
#define UA SSPSTAT,1
#define RW SSPSTAT,2
#define START SSPSTAT,3
#define STOP SSPSTAT,4
#define DA SSPSTAT,5
#define CKE SSPSTAT,6
#define SMP SSPSTAT,7
#define TX9D TXSTA,0
#define TRMT TXSTA,1
#define BRGH TXSTA,2
#define SYNC TXSTA,4
#define TXEN TXSTA,5
#define TX9 TXSTA,6
#define CSRC TXSTA,7
#define ANS0 ANSEL,0
#define ANS1 ANSEL,1
#define ANS2 ANSEL,2
#define ANS3 ANSEL,3
#define ANS4 ANSEL,4
#define ANS5 ANSEL,5
#define ANS6 ANSEL,6
#define CM0 CMCON,0
#define CM1 CMCON,1
#define CM2 CMCON,2
#define CIS CMCON,3
#define C1INV CMCON,4
#define C2INV CMCON,5
#define C1OUT CMCON,6
#define C2OUT CMCON,7
#define CVR0 CVRCON,0
#define CVR1 CVRCON,1
#define CVR2 CVRCON,2
#define CVR3 CVRCON,3
#define CVRR CVRCON,5
#define CVROE CVRCON,6
#define CVREN CVRCON,7
#define VCFG0 ADCON1,4
#define VCFG1 ADCON1,5
#define ADCS2 ADCON1,6
#define ADFM ADCON1,7
#define SWDTEN WDTCON,0
#define WDTPS0 WDTCON,1
#define WDTPS1 WDTCON,2
#define WDTPS2 WDTCON,3
#define WDTPS3 WDTCON,4
#define RD EECON1,0
#define WR EECON1,1
#define WREN EECON1,2
#define WRERR EECON1,3
#define FREE EECON1,4
#define EEPGD EECON1,7


Localisação: Pasta PICC / INCLUDE / as16f57
Editado pela última vez por Djalma Toledo Rodrigues em 14 Nov 2009 00:15, em um total de 1 vez.
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor Djalma Toledo Rodrigues » 13 Nov 2009 15:15

E para C

Tudo em texto. Bem e MAL do C

Código: Selecionar todos
#ifndef   _HTC_H_
#warning Header file pic16f5x.h included directly. Use #include <htc.h> instead.
#endif


 /* header file for the MICROCHIP PIC microcontrollers
  * PIC16F54
  * PIC16F57
  * PIC16F59
 */

#ifndef   __PIC16F57_H
#define   __PIC16F57_H

// Special function register definitions

volatile       unsigned char   INDF      @ 0x00;
volatile       unsigned char   TMR0      @ 0x01;
volatile       unsigned char   PCL      @ 0x02;
volatile       unsigned char   STATUS      @ 0x03;
               unsigned char   FSR      @ 0x04;
volatile       unsigned char   PORTA      @ 0x05;
volatile       unsigned char   PORTB      @ 0x06;
#if defined(_16F57) || defined(_16F59)
volatile       unsigned char   PORTC      @ 0x07;
#if defined(_16F59)
volatile       unsigned char   PORTD      @ 0x08;
volatile       unsigned char   PORTE      @ 0x09;
#endif
#endif
volatile control unsigned char   TRISA      @ 0x05;
volatile control unsigned char   TRISB      @ 0x06;
#if defined(_16F57) || defined(_16F59)
volatile control unsigned char   TRISC      @ 0x07;
#if defined(_16F59)
volatile control unsigned char   TRISD      @ 0x08;
volatile control unsigned char   TRISE      @ 0x09;
#endif
#endif
volatile control unsigned char   OPTION      @ 0x00;


/* Definitions for STATUS register */
volatile       bit   CARRY      @ ((unsigned)&STATUS*8)+0;
volatile       bit   DC      @ ((unsigned)&STATUS*8)+1;
volatile       bit   ZERO      @ ((unsigned)&STATUS*8)+2;
volatile       bit   PD      @ ((unsigned)&STATUS*8)+3;
volatile       bit   TO      @ ((unsigned)&STATUS*8)+4;
volatile       bit   PA0      @ ((unsigned)&STATUS*8)+5;
volatile       bit   PA1      @ ((unsigned)&STATUS*8)+6;
#if defined(_16F59)
volatile       bit   PA2      @ ((unsigned)&STATUS*8)+7;
#endif

/* Definitions for PORTA register */
volatile       bit   RA0      @ ((unsigned)&PORTA*8)+0;
volatile       bit   RA1      @ ((unsigned)&PORTA*8)+1;
volatile       bit   RA2      @ ((unsigned)&PORTA*8)+2;
volatile       bit   RA3      @ ((unsigned)&PORTA*8)+3;

/* Definitions for PORTB register */
volatile       bit   RB0      @ ((unsigned)&PORTB*8)+0;
volatile       bit   RB1      @ ((unsigned)&PORTB*8)+1;
volatile       bit   RB2      @ ((unsigned)&PORTB*8)+2;
volatile       bit   RB3      @ ((unsigned)&PORTB*8)+3;
volatile       bit   RB4      @ ((unsigned)&PORTB*8)+4;
volatile       bit   RB5      @ ((unsigned)&PORTB*8)+5;
volatile       bit   RB6      @ ((unsigned)&PORTB*8)+6;
volatile       bit   RB7      @ ((unsigned)&PORTB*8)+7;

#if defined(_16F57) || defined(_16F59)
/* Definitions for PORTC register */
volatile       bit   RC0      @ ((unsigned)&PORTC*8)+0;
volatile       bit   RC1      @ ((unsigned)&PORTC*8)+1;
volatile       bit   RC2      @ ((unsigned)&PORTC*8)+2;
volatile       bit   RC3      @ ((unsigned)&PORTC*8)+3;
volatile       bit   RC4      @ ((unsigned)&PORTC*8)+4;
volatile       bit   RC5      @ ((unsigned)&PORTC*8)+5;
volatile       bit   RC6      @ ((unsigned)&PORTC*8)+6;
volatile       bit   RC7      @ ((unsigned)&PORTC*8)+7;
#if defined(_16F59)
/* Definitions for PORTD register */
volatile       bit   RD0      @ ((unsigned)&PORTD*8)+0;
volatile       bit   RD1      @ ((unsigned)&PORTD*8)+1;
volatile       bit   RD2      @ ((unsigned)&PORTD*8)+2;
volatile       bit   RD3      @ ((unsigned)&PORTD*8)+3;
volatile       bit   RD4      @ ((unsigned)&PORTD*8)+4;
volatile       bit   RD5      @ ((unsigned)&PORTD*8)+5;
volatile       bit   RD6      @ ((unsigned)&PORTD*8)+6;
volatile       bit   RD7      @ ((unsigned)&PORTD*8)+7;

/* Definitions for PORTE register */
volatile       bit   RE4      @ ((unsigned)&PORTE*8)+4;
volatile       bit   RE5      @ ((unsigned)&PORTE*8)+5;
volatile       bit   RE6      @ ((unsigned)&PORTE*8)+6;
volatile       bit   RE7      @ ((unsigned)&PORTE*8)+7;
#endif
#endif

/*   OPTION bits   */
#define   T0CS   (1<<5)
#define   T0SE   (1<<4)
#define   PSA   (1<<3)
#define   PS2   (1<<2)
#define   PS1   (1<<1)
#define   PS0   (1<<0)

// Configuration Mask Definitions
#define CONFIG_ADDR   0xFFF
// Oscillator
#define RC      0xFFF
#define LP      0xFFC
#define XT      0xFFD
#define HS      0xFFE
// Watchdog Timer
#define WDTEN      0xFFF
#define WDTDIS      0xFFB
// Code Protect
#define UNPROTECT   0xFFF
#define CP      0xFF7
#define PROTECT      CP   //alternate

#endif


Localisação: Pasta PICC / INCLUDE / pic16f5
.
Editado pela última vez por Djalma Toledo Rodrigues em 14 Nov 2009 00:17, em um total de 5 vezes.
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor ze » 13 Nov 2009 15:18

se tiver um trocadin sobrando me passa teu fonte & esquemático mesmo com outro uc 28p mesmo em mikroc que lhe converto e compilo no hitech. obs: não é promessa.

Aí vou clonar seu eqpto vender , ficar rico e feliz pra sempre!!!!rs
dj meu amigo catiçento. acho que o está em pauta é o 57, não? ou este tem algo a ver? ops! corrigiu neah!!! coloque na formatação CODE.
abç & bfds...
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor Blew » 13 Nov 2009 15:25

Ainda não criei o programa ainda, tenho que escolher o modelo do pic ainda...

Djalma
não entendi a ideia amigo...
Blew
Bit
 
Mensagens: 46
Registrado em: 24 Out 2006 10:03

Mensagempor Djalma Toledo Rodrigues » 13 Nov 2009 15:31

Se seu Programa não possui:

Edita, modifica , cria

Com o Windows Explorer ( O Melhor Programa do WINDOWS) você vasculha qualquer Pasta, Programa, Arquivo, Documento

O PC inteiro
.
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor Djalma Toledo Rodrigues » 14 Nov 2009 00:12

Como funciona:

Vocè digita na IDE:

Port C .......

Quando da Compilação o Compilador vai: INCLUDE /pic16f5 e procura:

volatile unsigned char PORTC @ 0x07;

Retorna com o Endereço 0x07

que é o que importa.

Confira no Datasheet se não é este o Endereço de PORTC ?
.
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22


Voltar para PIC

Quem está online

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

x