The most important thing for sleep is your eating habits - if you want to wake up early eat very early dinners. If you want to wake up at 8 am, your last meal of the day should be at 6 pm (14 hours before that).
This works so well, that it overrides the effects of alcohol and caffeine and often even how tired you are. Even if you usually stay up until 3 am you'll get very sleepy at midnight and you'll wake up at 8. If fact even if you are prevented from sleeping until 3, you'll still wake up at 8 after just 5 hours of sleep. Have a full breakfast to avoid sleeping during the day - the next day you'll probably get sleepy at midnight again, even if you have dinner a bit later than 6.
Why does this work? Your 'food clock' will override all the other timers that govern your sleep habits. I cannot find the sources for this, but there are pretty good biological reasons this works. I know that I have used this rule many times for my benefit when working shift work or travelling or even getting back in rhythm after a vacation.
Edit: http://news.bbc.co.uk/2/hi/health/7414437.stm - I've added this report from the BBC as a source. I've used 14 hours instead of 16 but I find it works about the same for me.