??? 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 |
Topic | Author | Date |
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 |