| Author |
Message |
madhun
Joined: 13 Jan 2006 Posts: 20
|
26 Jan 2006 18:11 difference between 89c51 and 89c52 |
|
|
|
|
Hi
can anybody explain the difference in atmel 8o51 series -89c51 and 89c52 which may affect coding if the microntroller is changed and in what respect will that affect.
Thanks
|
|
| Back to top |
|
 |
silvio
Joined: 31 Dec 2001 Posts: 801 Helped: 90
|
26 Jan 2006 19:15 difference between 89s52 & 89c51 |
|
|
|
|
89C51
4K Bytes of In-System Reprogrammable Flash Memory
128 x 8-bit Internal RAM
Two 16-bit Timer/Counters
Six Interrupt Sources
89C52
8K Bytes of In-System Reprogrammable Flash Memory
256 x 8-bit Internal RAM
Three 16-bit Timer/Counters
Eight Interrupt Sources
First of all both microcontroller has been discontinued by Atmel.
If your design is based on 89C51, you don't have to worry if it's changed later with 89C52. No changes are to be performed, neither software nor hardware (some minor settings in the hardware programmer device).
But if your software relies on 89C52 then simple looking at the features provided by both microcontroller will tell you in what aspect will changes affect your design if a replacement with 89C51 has to be done.
|
|
| Back to top |
|
 |
ElecThai
Joined: 11 Jun 2004 Posts: 51
|
27 Jan 2006 2:54 features of 89c52 |
|
|
|
|
http://www.atmel.com and www.analog.com
yes.Silvio you answer true
|
|
| Back to top |
|
 |
lmtalsoul
Joined: 18 Jan 2006 Posts: 31 Helped: 3
|
27 Jan 2006 3:22 difference between 89c52 and 89c51 |
|
|
|
|
Also, check this out
| Code: |
| http://www.8052.com |
Might be useful..
|
|
| Back to top |
|
 |
bobsanjose
Joined: 13 Jan 2006 Posts: 264 Helped: 25 Location: SF-Bay
|
27 Jan 2006 8:45 difference between atmel 89s52 and atmel 89c51 |
|
|
|
|
Philips still manufactures the 89C51 and 89C52. One major difference though. Atmel used an EEPROM process, so the "Flash" is byte addressable. Philips uses a Flash process, no byte addressability. Otherwise a switch if needed should be pretty smooth.
Bob
|
|
| Back to top |
|
 |
mmohamed15
Joined: 23 Mar 2005 Posts: 117 Helped: 5
|
28 Jan 2006 13:39 compare 89c51 and 89s52 |
|
|
|
|
| silabs also makes mixed signal 8051
|
|
| Back to top |
|
 |
Code Warrior
Joined: 30 Dec 2004 Posts: 224 Helped: 7
|
28 Jan 2006 14:19 difference between 89c52 andmic 89c51 |
|
|
|
|
| The 89C51 and 89C52 are not In System Reprogrammable as stated by silvio. 89S51 and 89S52 are In System Reprogrammable.
|
|
| Back to top |
|
 |
silvio
Joined: 31 Dec 2001 Posts: 801 Helped: 90
|
28 Jan 2006 15:17 89c51 vs 89c52 |
|
|
|
|
Atmel 89C51 data sheet : 4K Bytes of In-System Reprogrammable Flash Memory
Atmel 89S51 data sheet : 4K Bytes of In-System Programmable (ISP) Flash Memory
I've emphasized in red the word Reprogramable. Atmel didn't claimed that 89C51 are Programable in the system (ISP), but Reprogramable
From their point of view, the low-voltage programming mode (+5v) provides a convenient way to program the AT89C51 inside the users system, while the high-voltage programming mode (+12v) is compatible with conventional thirdparty Flash or EPROM programmers.
At89S51 is ISP (In System Programmable) through SPI interace. There are not ISR (In System Reprogramable).
Like AT89C51 is ISR and not ISP.
As you can notice, it's only english. And it's not stated by me. It's Atmel's statement.
How about IAP (In Application Programming) ? I'm confident you know what a bootloader means.
|
|
| Back to top |
|
 |
smercho
Joined: 13 Nov 2005 Posts: 8 Location: Bombay,India
|
28 Jan 2006 15:36 different between 89c51 and 89c52 |
|
|
|
|
hi..
this is a bit offbeat , but has any1 tried to programme an atmel 89c2051 using a C code that uses interrupts for calling functions.
example: void check() interrupt 1 using 2
I am using keil to convert it into intel-hex format but the compilation gives an error saying IMPROPER FIXUP ...i figured out that it is trying towrite to memory locations beyond 2K( the on chip flash is 2K !!) . however on removing the ISR , it works fine
..help someone
|
|
| Back to top |
|
 |
Google AdSense

|
28 Jan 2006 15:36 Ads |
|
|
|
|
|
|
| Back to top |
|
 |
silvio
Joined: 31 Dec 2001 Posts: 801 Helped: 90
|
29 Jan 2006 1:00 feateres of 89s52 microcontroller |
|
|
|
|
Hi Smercho
The best ideea is to start a new thread. In this one you won't be seen by the peoples who really can help you. This thread regarding difference between 89C51 and 89C52 it's not opened by smart peoples just because can't find any news or it's useless answering to a question for which you can find the answer just reading the datasheets.
And use a suggestive title for the thread.
Please type the full complains of compiler. Not only IMPROPER FIXUP... (segment and the offset of the offending instruction)
As you already noticed it's true that this kind of errors are due to the linker which cannot resolve the address of a branch instruction (like a LCALL - prohibited in 89C2051 - inside your ISR).
1. When you say "removing the iSR" are you completelly remove the code from your program ?. Or just keep the function code and declare it as not using interrupts.
There are another few questions :
2. What kind of memory model do you use ? If you use SMALL then CALL and JMP instructions are coded as ACALL and AJMP. Thus, if inside your ISR is called a function located beyond 2K limit of ACALL then you can get Fixup errors.
3. Did you included the STARTUP.A51 file into your project ?
4. What type of Code Optimization Level do you use ?
Please try to answer to this questions and come back in a new thread.
Is not necessary to mention you have been asked here.
Just try to give as many details as possible in order to be helped quickly and straight to the point.
|
|
| Back to top |
|
 |