Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
07/26/07 01:02
Read: times


 
#142319 - Trouble migrating AT89C55WD to AT89C51RC2
I am having trouble migrating from AT89C55WD to AT89C51RC2 mcu. Our board is built with the AT89C55WD and has worked fine for many years. In a recent effort we tried using our board with the AT89C51RC2. My first attemp was to reassemble our existing code using Keil 8051 assembler with the AT89C51RC2 specified as the device in the Keil device dialog box. I programmed the chip, plugged it in(we use the 40 pin dip version) and no signs of life appeared. So, I distilled the code to just a few instructions(listed below), reassembled, programmed the chip, plugged it in and no signs of life using the AT89C51RC2. When I burn this code onto the AT89C55WD and plug it into this very same board, the processor runs and toggles the P3.4 line as expected. I read the Atmel document "Migration AT89C55WD to AT89C51RC2" but didn't get any hints on why the chip doesn't operate. The document makes it sound like this should be a no brainer.

Any ideas?

I double checked the connections to the mcu with a scope. The chip gets a nice clean 12MHz sinusoidal clock from a crystal.
The chip gets a reset signal. First we had an RC circuit producing a reset, 1ms rise time and approximately a 100ms drop off time. I thought this might be a problem for the AT89C51RC2, so we built a nice square wave reset pulse about 25us wide. The AT89C55WD runs great using either reset, the AT89C51RC2 doesn't.
It has power(+5V), it has ground, /EA line is held high(for intenal program execution). The circuit appears to have everything it needs to run the mcu. AT89C55WD runs in the circuit, AT89C51RC2 doesn't.
We burned several AT89C51RC2 chips to make sure it's not a defective part but no life from any of them. The chip programmer verifies the chips are programmed correctly and the checksums are good.

What else can I check? I must be missing something simple.

PROG SEGMENT CODE

CSEG AT 00H
ljmp INITAL

RSEG PROG

INITAL:
mov IE, #0 ;Turn off interrupts
mov SP,#007h ;Initialize stack pointer

clr P3.4 ;Debugging toggle
nop
setb P3.4 ;Debugging toggle
sjmp INITAL

END




List of 7 messages in thread
TopicAuthorDate
Trouble migrating AT89C55WD to AT89C51RC2            01/01/70 00:00      
   89C51 or 89V51?            01/01/70 00:00      
   P89V51RC2            01/01/70 00:00      
   bootvector/status byte            01/01/70 00:00      
      my question too            01/01/70 00:00      
      It was the boot loader bit            01/01/70 00:00      
         second step?            01/01/70 00:00      

Back to Subject List