I wonder why Your using the AT89C52? Was it spec'd specifically? The only plus I see is that it has 8k on-board flash. The MCS 51/52 series controllers are designed with dedicated lines for program memory and data memory....extra pins added logic
The PIC18C252 can run at 40Mhz, has 32KB program memory, 1.5KB RAM, 5 channel 10 bit ADC, 23 I/Os, 2 PWM outputs, 3-16bit timers, and 1-8bit timer.So your ADAC is built in , you have data space and 32k program space in an 18 pin dip @ < $20 US.There are other derivatives that have less bells n whistles and have EEPROM as well.
The dedicated nature of the device your trying to design shouldn't require much memory or speed as its just a low periodicity data logger.
The overall design could be a finger clamp with a LED and a Photodiode as a detector, an analog amp to up the signal to reasonable levels inputted to the ADAC processed by the MPU which outputs an indication.
You really haven't stated particulars such ..do you need to download or store the data? do you need different samples / time ( I.E. 1 sample every sec over 10 seconds.) How about a visual indicator for the heart rate ( a pulsing led ). What kind of indicator will you use a few 7-segment displays? Maybe an intelligent LCD display? In other words is this thing just a dumb count the heartbeats box or does it have to do more?