A. 各类单片机的性能比较
按处理速度来看的话,ARM>>AVR>51 ARM远大于AVR,AVR大于51
同时ARM也有不同分类比如我们常见的ARM7,ARM9甚至ARM11他们在同一架构和指令集下肯定数大的运算能力强,处理速度快。他们的速度是百兆甚至G为单位的。当然ARM也有不同分类或分工,有致力于运算处理的,比如A8,A10,还有致力于控制方面运算的比如M3,M0等当然这个就属于低端些的了,主要就是抢占传统51,AVR,PIC等
还有个MSP430主打就是低功耗。运行速度可能低些,但省电,全速运行也都不超过1,2MA这是其他MCU不能比拟的。
另外上面提到PIC顺道说下,这是MCU中的个怪胎。。字长不是我们常见的8位而是7位。指令集也不同于我们传统的指令,但他高抗干扰性能使他在汽车电子应用比较广泛。
AVR和51有差别但悬殊就不是那么大了,AVR的速度和内配比如ADC。PWM等要优于51。当然有些特殊的51如AT89C51SND1C这款内部自带有MP3解码器。而AVR一般不行。还需外扩VS1003这类的硬件解码器。或是80C51有的运行频率也在百兆甚至内部还带有USB,LAN等网络配置。
B. 单片机行业经常提到的M0 M1 M2 M3 M4 M7指的是什么
是指单片机的内核类型,Cortex-M0一直到Cortex-M7。
Cortex-Mx系列是ARM公司出品的一种内核,Mx系列主要面向低成本的实时性应用,进一步按照性能和特性划分为M0、M1、M2、M3、M4、M7等不同的系列产品。
C. 单片机中时间问题
C语言的执行时间,从来就没有计算公式。
C程序的执行时间,和操作系统有很大的关系,和编译软件也有关,在单片机中,更和变量的存储类型有关(如单字节变量、两字节变量)。
因为有如此多的不确定因素,所以,从来就没有办法计算C的执行时间。
只是可以在仿真调试的时候,进行实际测量,得到一些(难以通用的)经验数据。
楼主要想准确的控制时间,应该研究使用汇编语言,或者使用硬件定时器。
C语言,只能干些粗活。
D. STM32 M0和M3内核单片机做浮点除法运算和整型除法运算,分别的用时。希望能给大概数据参考。
这个只能这样建议你;
编写C语言代码,然后编译调试,可得到汇编语言代码,把代码复制出来;
统计其指令周期数,及一个指令周期的实际时间(需要获得STM32的相关资料);
1)机器指令中没有直接浮点运算指令,而是由很多相关指令的等效(高级CPU则是采用微指令)所以也叫做伪指令;
2)这些单片机代码的运行还是独占CPU的,没有时间片的概念,就是说一个函数过程的运行,除了中断的打扰,就没有其他能够干扰其运行时序。
至于说,影响其他过程的运行问题,如果你把浮点运算放到中断函数内运行,是会影响到中断外的其他过程的运行时效,否则代码是线性运行的,一个个排队执行,没有谁影响谁的问题;
E. 单片机定时器计数器如何使用
使用12MHz晶振,其机器周期为1us
欲产生5000us周期方波,只需在p1.0以2500us时间交替输出高低电平
1.T0为方式0,则M1M0=00H。使用定时功能,C/T=0,GATE=0。T1不用,其有关位设为0。因此,TMOD=00H
2.方式0为13长度计数(TL0高3位不使用),设计数初值为X,则(8192-X)*1us=2500us,得X=5692D。X=1011000111100B。因为TL0高3位不用,所以10110001-00011100B得TH0=B1H,TL0=1CH
3.由控制寄存器TCON的TR0位来控制定时的启动和停止,TR0=1启动,TR0=0停止
C语言程序如下(编译器Keil C)
#include<REG51.H>
sbit FB=p1^0;
void initial(void)
{
TMOD=0x00;
TH0=0xb1;
TL0=0x1c;
IE=0x00;
TR0=1;
}
void main(void)
{
initial();
for(;;)
{
while(!TF0);
TF0=0;
FB=!FB;
}
}
汇编程序如下
ORG 0000H
AJMP START
ORG 30H
START: MOV P1.0,#0FFH
MOV TMOD,#00H
MOV TH0,#0B1H
MOV TL0,#1CH
SETB TR0
LOOP: JBC TF0,NEXT
LJMP LOOP
NEXT: CPL P1.0
MOV TH0,#0B1H
MOV TL0,#1CH
LJMP LOOP
END
F. M0芯片靠谱吗和M3芯片功能上有什么区别,详细说说
M0是微控制器使用的,M3是给嵌入式系统使用的。
打个比方吧,M0相当于单片机,M3相当于ARM。
如果只是做微控制器的话,不建议使用M0,编程门槛太高,而且实际使用的话开发周期也太长。
目前感觉MEGA 128是这个领域用的最广的片子,性能可靠,编程门槛也不高。