单片机是典型的嵌入式微控制器microcontroller unit,由运算器,控制器,存储器,基于altera的fpga单片机开发,输入输出设备等构成,基于altera的fpga单片机报价,相当于一个微型的计算机。与应用在个人电脑中的通用型微处理器相比,它---调自供应不用外接硬件和节约成本。它很大优点是体积小,可放在仪表内部,但存储量小,输入输出接口简单,功能较低。由于其发展非常迅速,旧的单片机的定义已不能满足,所以在很多应用场合被称为范围更广的微控制器;已经从上世纪80年代的4位、8位单片机,发展到现在的32位甚至64位的高速单片机。
将c向mcu俗称单片机8051上的移植始于80年代的中后期。客观上讲,c向8051 mcu移植的难点不少。如:
8051的非冯·诺依慢结构程序与数据存储器空间分立,再加上片上又多了位寻址存储空间;片上的数据和程序存储器空间过小和同时存在着向片外扩展它们的可能;
片上集成---设备的被寄存器化即sfr,而并不采用惯用的i/o地址空间;
8051芯片的派生门类---多达到了上百种之多,而c语言对于它们的每一个硬件资源又无一例外地要能进行操作。
这些都是过去以mpu为基础的c语言所没有的。经过keil/franklin、archmeades、iar、bso/tasking等公司艰若不懈的努力,终于于90年代才开始而趋成熟。过去长期困扰人们的所谓“语言产生代码太长,运行速度太慢,因此不适合单片机使用”的致使缺点已被大幅度地克服。目前,8051上的c语言的代码长度,已经做到了汇编水平的1.2~1.5倍。4k字节以上的程度,c语言的优势更能得到发挥。至于执行速度的问题,找出关键代码,进一步用人工优化,就可很简单地达到十分美满的程度。如果谈到开发速度、软件、结构严谨、程序坚固等方面的话,则c语言的绝非汇编语言编程所可比拟的。今天,确实已经到mcu开发人员拿起c语言---的时候了。
单片机诞生于1971年,经历了scm、mcu、soc三大阶段,早期的scm单片机都是8位或4位的。其中成功的是intel的8031,此后在8031上发展出了mcs51系列mcu系统。基于这一系统的单片机系统直到后来还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了---提高。随着intel i960系列---是后来的arm系列的广泛应用,32位单片机迅速取代16位单片机的---,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。32位soc单片机主频已经超过300mhz,北京基于altera的fpga单片机,性能直追90年代中期的处理器,而普通的型号出厂价格跌落至1美元,型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机处理的单片机甚至可以直接使用的windows和linux操作系统。
|