宁波IT培训
美国上市IT培训机构
400-111-8989
单片机是指一个集成在一块芯片上的完整计算机系统。尽管它的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。
早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。我们说的51一般是指51系列的单片机,型号有很多,常见的有STC89C51、AT89S51,其中国内用的最多的是STC89C51/2,下面我们就以STC89C51来讲解,并以51简称。
随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。其中ST公司的32位微处理器STM32系列占据了大量的市场份额。
那么作为开发者在开发51系列单片机与stm32系列单片机时存在什么样的差异性呢,下边来讨论下。
(1)编程语言:
由于51单片机结构相对简单,所以通常多使用汇编语言和C语言编程。
而STM32系列的开发工作不会采用汇编语言因为工程量巨大,寄存器太多了,位数也多。
(2)编程方式:
51单片机的任何器件只需要配置寄存器打开就可以进行编程,而STM32系列单片机则需要先打开对应的时钟,包括开启后打开外部时钟(晶振)才开始工作。
库函数不同。由ST厂商推出的STM32系列单片机,ST厂商给了丰富的函数库,可以直接使用库函数,所以比起普通的51单片机在程序编写方面要更加的省时。
(3)资源不同:
资源不同。STM32的内部资源(寄存器和外设功能)较普通的51单片机都要多,基本上接近于计算机的CPU了,所以在程序编写上能有更多的选择。
通过上边的对比可以看到,虽然可以使用相同的编程语言进行程序编写,但是在编程方式和编程的快捷程度上均是STM32比较优秀。
无论是51系列还STM32系列,都同属于单片机,可以说STM32系列是51系列的继任者,随着现在技术发展,对硬件的拓展性和处理能力上有了更高的要求。STM32无论是内核部分还是总线宽度;无论是速度、功耗、外设都比51系列强大。