avr单片机可以看马潮的那本,可以先从卓越网上搜搜,不一定往那买,网上也有电子版的,可以找找看。
我是先学的理论,由于avr适合用C写(avr的汇编语言的体系比较复杂,掌握其概框不是太难的事,但要记住可就难了),所以如果楼主的C语言基础没问题的话,就可以在掌握了理论基础的前提下直接买开发板动手了,当然,特别简单的硬件实验也可以用atmel studio去模拟,不过我还是建议自己动手操作一下。
我个人用的编译器是avr-gcc,在windows下就是winavr,马潮的那本讲的是CVAVR,avr-gcc的好处是开放,可以免费得到官方的,不必担心病毒,atmel studio6自带的也是avr-gcc,但缺少中文资料。CVAVR的好处是马潮的那本就是按这个讲的,代码可以不经修改直接运行,不过可能不太好装。
另外,单片机没有说非要从哪个开始的,其实avr只是比51的复杂一些,但还没复杂到必须先有单片机开发的基础才能学会的。当真不知道为什么有这么多的人非要往51那边去扯。
再有,无论学什么单片机,最好都要有数电的基础,否则你能做的东西很少。