The figure you are seeing is exactly what the data sheet says, run current at 64MHz should be in the range of 7-12mA. Put the MCU to SLEEP and see if it goes down to <10uA range - if not then it is not in SLEEP mode.
Then re-design your application such that it stays in SLEEP mode until it needs to do something useful. ONLY then should it wake and run at full (64MHz) speed, then immediately go back to SLEEP - no waiting in a delay for something to happen. As Richard said, waiting in a delay is not doing anything useful, it is just burning CPU cycles (at full speed and wasting power). This is the proper way to use the low power modes of any MCU and you should then be able to able to get the average run current down to the sub 0.2mA range for operation with coin cells.
Bookmarks