Bueno el ds1302 es un reloj de tiempo real, si necesitas saber la hora exacta con la fecha incluida este es tu chip. el ds1302 puede mantener la fecha y la hora pero con el inconveniente de q requiere q tenga energia en todo momento, aunq posee su propio cargador, pero igual necesitaras una bateria para q no se borren los datos (si usas la memoria del chip), puedes usar el 16F84 q tiene su memoria eeprom interna si solo vas a trabajar con envio/recepcion RS232 y el ds1302 (y si deseas crear las rutinas tu mismo), pero debes poner un circuito especial que t detecte cuando la tension caiga por debajo de niveles operativos, en ese momento lo q haras sera leer la fecha y datos actuales en el chip (ds1302) y enviarlos a escribir en la eeprom del 16f84, si el chip no tiene bateria y recargas los ultimos datos q guardaste en la eeprom deberas entonces buscar la forma de resincronizar el reloj del ds1302, conclusion: usa el ds1302 con bateria, asi t ahorras lo de la memoria y la puedes utilizar en otras cosas.
El 16f877 (una version mayor del 16f874) tiene el protocolo RS232 precargado asi q puedes hacer que el chip haga todo el trabajo y t ahorras codigo creando rutinas para el RS232, no recuerdo q protocolo usa el ds1302 si el I2C, SPI o ninguno de ellos (tendre q revisar la hoja de datos), si usa alguna de los protocolos anteriores esos tb estan precargados en el 877 menos codigo por hacer.
Si kieres ahorrar dinero usa el 16f84 pero deberas crear todas las rutinas de comunicacion, si kieres ahorrar codigo usa el 16f877 (o mejor el 16f874 la unica diferencia es el tamaño de la RAM (192), memoria flash (4K), eeprom (128) y 5 canales analogicos).