AVR单片机是精简指令结构,一级流水线,与通用8051相比,速度要快不少,但STC12系列单片机与之相比价格相近,但速度也差不多了,所以没有什么优势可言。下面我从这几方面比较一下STC12C5A60S2与ATmega16两款相近单片机,供参考。
1、定时器,STC有4个16位定时器,AVR有两个8位一个16位定时器
2、中断,STC提供10个中断源,AVR提供21个
3、指令数:STC共111条,AVR共131条
4、PWM:STC提供2路,AVR提供4路
5、AD:均为8路10位
6、工作电压:STC为3.5~5.5V,AVR为4.5~5.5V
7、工作频率:STC为0~35M,AVR为0~16M
8、存储功能:STC为60K的FLASH,1280的SRAM,1024的EEPROM,AVR为16K的FLASH,1024的SRAM,512的EEPROM
9、通讯:均为两个串口一个SPI
10、软件下载:均可以在线编程和在应用编程
11、扩展:STC可以扩展RAM和ROM,AVR不可以扩展
就比较这么多吧
同样求解。
最近在学习AVR单片机,感觉除了有32个工作寄存器和1T外,好像没有什么优点了。它所谓的精简指令竟然比51的复杂指令还多。
指令比不上PIC,性价比不如STC,处理速度比不上ARM,真不知道它为什么会有市场。请用过的朋友指点一下。
AVR当年,在同样价格下,性价比要比其他类单片机高很多,比如flash更大,内存更大,带eeprom,定时器支持定时,PWM,比较匹配,支持SPI,usart,IIC等通信,内置模拟比较器,AD转换等。功能多,价格又低。
所以风靡一时。这两年由于AVR供货不足和炒货,同时又有很多更高性价比的芯片出现,AVR用的人越来越少,现在用AVR的基本上都是以前的老产品了。