Página 1 de 2
compilador C para at89s52?

Enviado:
07 Dez 2009 16:34
por alex1000
Pessoal consegui algumas unidades do AT89s52 e gostaria de saqber qual é o compilador em C que devo usar para configura-lo. Obrigado.

Enviado:
07 Dez 2009 19:15
por tcpipchip
SDCC
KEIL C
FRANKLIN C
CROSSWARE C
MIKROC
IAR
E tem alguns orientados a objetos...

Enviado:
07 Dez 2009 21:59
por Francesco
Alex,
Eu trabalhei com alguns deles, e o melhor que achei foi o SDCC (sdcc.sourceforge.net). Ele é software-livre, o que significa que é gratúito. O único problema é a falta de um IDE, mas se quiser eu te ajudo a utilizar o Eclipse com SDCC.
Francesco

Enviado:
08 Dez 2009 11:11
por rebelk
o SDCC é melhor que o keil ? vc poderia me explicar melhor em que !
pois eu estou sofrendo com o keil e seus bugs loucos que me deixa louco! pela IDE não tem problema eu ultilizo o crinson ou o context

Enviado:
08 Dez 2009 12:00
por Francesco
Trabalhei com o Keil também, com IAR inclusive. Mas acabei migrando para SDCC.
Tive problemas com o Keil também, acabei resolvendo escrevendo algumas rotinas em ASM direto. Mas no SDCC nunca tive problemas maiores. O que mais gostei foi da possibilidade de você colocar o seu método de otimização de código através de um arquivo de diretivas assembly.
Só há uma coisa que falta no SDCC, que o IAR já tem. O sistema de alocação de funções em endereços específicos. Ambos fazem isso para variáveis e rotinas de interrupção, mas só o IAR faz para funções. Não sei quanto ao keil. Isso é uma promessa para as novas versões do SDCC.

Enviado:
08 Dez 2009 12:25
por andre_luis
Trabalhei um bom tempo com o Keil 7.50 e nunca tive problemas;
Pelo contrário, por ele eu resolvi problemas que encontrara com o AVOCET.
Poderiam dizer exatamente onde tiveram problema ? ( fiquei curioso )
+++

Enviado:
08 Dez 2009 16:51
por tcpipchip
É verdade, tem o AVOCET tambem


Enviado:
08 Dez 2009 23:13
por alex1000
Obrigado pelas respostas.
Ainda na luta

Enviado:
09 Dez 2009 12:21
por rebelk
qual a ultima versão do SDCC ?
onde posso baixar ?
ele tem a biblioteca do AT89C51RC.h , pois ele esta no me projeto!
quero fazer uns testes com o SDCC e comparar , chega de keil!

Enviado:
09 Dez 2009 16:24
por B-EAGLE
por falar em SDCC, dá pra usar algum hardware debugger tipo o USB DEBUG ADAPTER da Silicon Labs?

Enviado:
09 Dez 2009 22:12
por Francesco
Sobre o SDCC, a versão que eu uso é o 2.9.2, de agosto de 2009. A versão mais nova é a 2.9.4 e você encontra no
http://sdcc.sourceforge.net/.
Da família AT89 ele tem os seguintes cabeçalhos:
AT89C51ED2.h
AT89C51SND1C.h
AT89C55.h
AT89S53.h
AT89S8252.h
AT89S8253.h
AT89x051.h
AT89x51.h
AT89x52.h
No entanto, há uma biblioteca chamada SST89x5xRDx.h, que pode servir para você.
Caso tenha algum problema em usar estas, conte conosco para alterar alguma delas para o seu componente.
Francesco

Enviado:
10 Dez 2009 06:54
por ze
já usei o hitech-c. tem ide (creio ser eclipse), mas preferi pelo prompt do dos (enquanto ele existe). O hitech otimiza muito o cód viu.
Caro amigo francesco sugiro que na primeira oportunidade que tiveres faça a gentileza de elaborar um tutorial de como configurar o sdcc no eclipse bem como instalar ambos e etc. Também caso saiba o que é prompt DOS, qual a sintaxe pra compilar e gerar o hex (lógico!) [pro 89s52 p.ex.] a partir do sdcc.
Agradeço em nome de todos os eternos aprendizes.
Obs: sugestão aberta a todos os membros de boa vontade.
abç

Enviado:
10 Dez 2009 11:21
por rebelk
Francesco no keil é assim AT89C51RC.h
como faço para alterar para o SDCC ?
/*-------------------------------------------------------------------------
AT89C51RC.H
Header file for Atmel at89c51rc controller
Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
All rights reserved.
--------------------------------------------------------------------------*/
#ifndef __AT89C51RC_H__
#define __AT89C51RC_H__
// 8051 core
sfr ACC = 0xE0;
sfr B = 0xF0;
sfr DP0L = 0x82;
sfr DP0H = 0x83;
sfr DP1L = 0x84;
sfr DP1H = 0x85;
sfr PSW = 0xD0;
sfr SP = 0x81;
sfr SCON = 0x98;
sfr SBUF = 0x99;
sfr IE = 0xA8;
sfr IP = 0xB8;
sfr TCON = 0x88;
sfr TMOD = 0x89;
sfr TL0 = 0x8A;
sfr TL1 = 0x8B;
sfr TH0 = 0x8C;
sfr TH1 = 0x8D;
sfr PCON = 0x87;
sfr AUXR = 0x8E;
sfr AUXR1 = 0xA2;
sfr WDTRST = 0xA6;
// Ports
sfr P0 = 0x80;
sfr P1 = 0x90;
sfr P2 = 0xA0;
sfr P3 = 0xB0;
// Timer2
sfr T2CON = 0xC8;
sfr T2MOD = 0xC9;
sfr RCAP2H = 0xCB;
sfr RCAP2L = 0xCA;
sfr TH2 = 0xCD;
sfr TL2 = 0xCC;
// BIT Registers
// Port0
sbit P0_7 = P0^7;
sbit P0_6 = P0^6;
sbit P0_5 = P0^5;
sbit P0_4 = P0^4;
sbit P0_3 = P0^3;
sbit P0_2 = P0^2;
sbit P0_1 = P0^1;
sbit P0_0 = P0^0;
// Port1
sbit P1_7 = P1^7;
sbit P1_6 = P1^6;
sbit P1_5 = P1^5;
sbit P1_4 = P1^4;
sbit P1_3 = P1^3;
sbit P1_2 = P1^2;
sbit T2_EX = P1^1;
sbit T2 = P1^0;
// Port2
sbit P2_7 = P2^7;
sbit P2_6 = P2^6;
sbit P2_5 = P2^5;
sbit P2_4 = P2^4;
sbit P2_3 = P2^3;
sbit P2_2 = P2^2;
sbit P2_1 = P2^1;
sbit P2_0 = P2^0;
// Port3
sbit WR = P3^7;
sbit RD = P3^6;
sbit T1 = P3^5;
sbit T0 = P3^4;
sbit INT1 = P3^3;
sbit INT0 = P3^2;
sbit TXD = P3^1;
sbit RXD = P3^0;
// PSW
sbit CY = PSW^7;
sbit AC = PSW^6;
sbit F0 = PSW^5;
sbit RS1 = PSW^4;
sbit RS0 = PSW^3;
sbit OV = PSW^2;
sbit F1 = PSW^1;
sbit P = PSW^0;
// SCON
sbit SM0 = SCON^7;
sbit SM1 = SCON^6;
sbit SM2 = SCON^5;
sbit REN = SCON^4;
sbit TB8 = SCON^3;
sbit RB8 = SCON^2;
sbit TI = SCON^1;
sbit RI = SCON^0;
// IE
sbit EA = IE^7;
sbit ET2 = IE^5;
sbit ES = IE^4;
sbit ET1 = IE^3;
sbit EX1 = IE^2;
sbit ET0 = IE^1;
sbit EX0 = IE^0;
// IP
sbit PT2 = IP^5;
sbit PS = IP^4;
sbit PT1 = IP^3;
sbit PX1 = IP^2;
sbit PT0 = IP^1;
sbit PX0 = IP^0;
// TCON
sbit TF1 = TCON^7;
sbit TR1 = TCON^6;
sbit TF0 = TCON^5;
sbit TR0 = TCON^4;
sbit IE1 = TCON^3;
sbit IT1 = TCON^2;
sbit IE0 = TCON^1;
sbit IT0 = TCON^0;
// T2CON
sbit TF2 = T2CON^7;
sbit EXF2 = T2CON^6;
sbit RCLK = T2CON^5;
sbit TCLK = T2CON^4;
sbit EXEN2 = T2CON^3;
sbit TR2 = T2CON^2;
sbit C_T2 = T2CON^1;
sbit CP_RL2 = T2CON^0;
#endif

Enviado:
10 Dez 2009 11:27
por rebelk
no site da atmel baixei essa bibliotecas em ( Software Files ) , mas não tem o AT89C51RC.
http://www.atmel.com/dyn/Products/produ ... rt_id=1933

Enviado:
10 Dez 2009 11:45
por Djalma Toledo Rodrigues
rebelk escreveu:no site da atmel baixei essa bibliotecas em ( Software Files ) , mas não tem o AT89C51RC.
+ tem na Pasta SDCC o AT89C51RB2_RC2 será?
DJ