There's a great explanation of how to break up a larger project into multiple files here...
https://www.avrfreaks.net/forum/...
Sometimes though, all you want is a 'fill-in-the-blanks' example. So attached here is my standard starting point for a new projects.
I've added in some random bits of code so that it compiles with no warnings or errors but it ought to be obvious how to adapt it for your own needs. Enjoy.
[I use CVAVR as my toolchain of choice so a couple of tweaks might be needed at the top of each file to pull in the right .h files for GCC]