If you look at the datasheet for the DS you will se that you have to do some formating of the DS result before you can display it. The DS does not store each SEC MIN HOUR and so on as a byte, it is stored in a mixed byte (I bet Melanie knows the correct word for it)

Example:
The register for seconds is 8 bits wide but is split into a 10 SEC part and a SEC part. So you have to look at the DS data as (n*10SEC)+SEC.
You have to move this into a byte before you can display it. I have never used DS1302 but I have used the DS1307 and the idea is similar.

Please look at http://pdfserv.maxim-ic.com/en/ds/DS1302.pdf Table 3 page 9