AVR的C与51的C有一定差别。主要是AVR的SFR名称和中断向量名称与51差别巨大(51的C一般都是Keil里面的,而AVR有多种编程环境,GCC,ICC,甚至还有VB,客观上增加了复杂性)。另外在一般使用上,AVR与51也有所不同,很多功能实体包括IO口都需要初始化。51可以直接用sbit PX^X来定义一个IO口,而这个命令在AVR里面是没有的。要看懂AVR的C,我感觉既要去翻C语言书,更要看一下AVR本身的介绍,楼主的问题我觉得主要还是因为对AVR软硬件都不熟悉。
新符号就是硬件