AVR系列单片机是Atmel公司推出的较为新颖的单片机,其显著的特点为高性能、高速度、低功耗。它取消机器周期,以时钟周期为指令周期,实行流水作业。AVR系列单片机指令以字为单位,且大部分指令都为单周期指令。而单周期指令既可执行本指令功能,同时完成下一条指令的读取。通常时钟频率用4~8MHz,故最短指令执行时间为250~125ns。该系列的型号较多,但可用下面三种为代表:AT90S2313(简装型)、AT90S8515、AT90S8535(带A-D转换)。
通用寄存器一共有32个(R0~R31),前16个寄存器(R0~R15)都不能直接与立即数打交道,因而通用性有所下降。而在51系列单片机中,它所有的通用寄存器(地址为00~7FH)均可以直接与立即数打交道,显然要优于前者。
AVR系列单片机没有类似累加器A的结构,它主要是通过R16~R31寄存器来实现A的功能。在AVR系列单片机中,没有像51系列单片机那样的数据指针(DPTR),而是由X(由R26、R27组成)、Y(由R28、R29组成)、Z(由R30、R31组成)三个16位寄存器来完成数据指针的功能(相当于有三组DPTR),而且还能作后增量或先减量等的运行。
在51系列单片机中,所有的逻辑运算都必须在A中进行;而AVR系列单片机中却可以在任两个寄存器之间进行,省去了在A中的来回折腾,这些都比51系列单片机强。
AVR系列单片机的专用寄存器集中在00~3F地址区间,无须像PIC系列单片机那样先进行选存储体的过程,使用起来比PIC系列单片机方便。AVR系列单片机的片内RAM的地址区间为0060~00DF(AT90S2313)和0060~025F(AT90S8515、AT90S8535),它们占用的是数据空间的地址,这些片内RAM仅仅是用来存储数据的,通常不具备通用寄存器的功能。当程序复杂时,通用寄存器R0~R31就显得不够用;而51系列单片机的通用寄存器多达128个(为AVR系列单片机的4倍),编程时就不会有这种感觉。(www.xing528.com)
AVR系列单片机的I/O引脚类似PIC系列单片机,它也有用来控制输入或输出的方向寄存器,在输出状态下,高电平输出的电流在10mA左右,低电平吸入电流为20mA。虽不如PIC系列单片机,但比51系列单片机强。
以上的三种AVR系列单片机型号其引脚与对应的51系列单片机兼容,如AT90S2313与51系列的AT89C2051的引脚兼容(PDIP-20脚),AT90S8515、AT90S8535与51系列的AT89C51兼容(PDIP-40脚)等。
通过对几种单片机性能的比较,并且考虑到PIC系列芯片的稳定性能和抗干扰能力较强,最终选用了Microchip(微芯)公司生产的PIC16F877(A)芯片作为本竞赛机器人平台的控制系统,下面具体介绍一下该芯片。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。