答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
C语言是一种结构化的高级语言。其优点是可读性好,移植容易,是普遍使用的一种计算机语言。缺点是占用资源较多,执行效率没有汇编高。
答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。
对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什么动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在资源较少单片机开发中,我们还是建议采用汇编语言比较好。
而C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言有功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。C语言是一种结构化程序设计语言,它支持当前程序设计中广泛采用的由顶向下结构化程序设计技术。此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。因此,使用C语言进行程序设计已成为软件开发的一个主流。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统。
综上所述,用C语言进行单片机程序设计是单片机开发与应用的必然趋势。所以作为一个技术全面并涉足较大规模的软件系统开发的单片机开发人员最好能够掌握基本的C语言编程。
答:对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求对该MCU系统的C语言和C编译器非常熟悉,特别要注意该C编译系统所能支持的数据类型和算法。虽然C语言是最普遍的一种高级语言,但不同的MCU厂家其C语言编译系统是有所差别的,特别是在一些特殊功能模块的操作上。如果对这些特性不了解,那调试起来就有的烦了,到头来可能还不如用汇编来的快。
答:对于单片机的初学者来说,应该从汇编学起。因为汇编语言是最接近机器码的一种语言,可以加深初学者对单片机各个功能模块的了解,从而打好扎实的基础。
答:大学过程是一个理论过程,实践的机会比较少,往往会造成理论与实践相脱节,这是国内大学教育系统的通病,不过对于学生来说切不可好高骛远。一般从大三会开始接触到一些专业课程,电子相关专业会开设相关的单片机应用课程并且会有简单的实验项目,那么要充分把握实验课的机会,多多地实际上机操作练习。平时可以多看看相关的电子技术杂志网站,看看别人的开发经验,硬件设计方案以及他人的软件设计经验。有可能的话,还可以参加一些电子设计大赛,借此机会2--3个人合作做一个完整系统,会更有帮助。到了大四毕业设计阶段,也可以选择相关的课题作些实际案例增长经验。做什么事情都有个经验的积累过程,循序渐进。
学习好单片机,最主要的是实践,在实践中增长经验。在校学生的话,实践机会的确会比较少,但是有机会的话,可以毕业实习选择相关的课题,这样就可以接触到实际的项目。而且如果单片机微机原理是一门主课的话,相信学校会安排比较多的实践上机机会。有能力的话,可以找一些相关兼职工作做做,会更有帮助。而且单片机开发应用需要软硬件结合,所以不能只满足于编程技巧如何完美,平时也要注意硬件知识的积累,多上上电子论坛网站,买一些相关杂志。可能的话,可以到电子市场去买一些小零件,自己搭一个小系统让它工作起来。
答:要根据自己的兴趣,配合自己对软件编程的耐性,男女皆适合这个行业。
答:一般在8位单片机与ARM方面的嵌入式系统是有层次上的差别,ARM适用于系统复杂度较大的高级产品,如PDA、手机等应用。而8位单片机因架构简单,硬件资源相对较少,适用于一般的工业控制、消费性家电等等。对于一个单片机方面的软件编程初学者,应以HOLTEK系列或8051等8位单片机来做入门练习。而初学者应当具备软件编程相关知识,单片机一般软件编程是以汇编语言为主,各家有各家的语法,但大都以RISC的MCU架构为主,其中 RISC (Reduced Instruction Set Computer) 代表MCU的所有指令。都是利用一些简单的指令组成的,简单的指令代表 MCU 的线路可以尽量做到最佳化,而提高执行速率。另外初学者要具备单片机I/O接口的应用知识,这在于周边应用电路及各种元器件的使用,须配合自己所学的电子学及电路学等。
答:就以嵌入式系统观念为例,一般嵌入式处理器可以分为三类:嵌入式微处理器、嵌入式微控制器、嵌入式DSP(Digital Signal Processor)。
嵌入式微处理器就是和通用计算机的微处理器对应的CPU。在应用中,一般是将微处理器装配在专门设计的电路板上,在母板上只保留和嵌入式相关的功能即可,这样可以满足嵌入式系统体积小和功耗低的要求。目前的嵌入式处理器主要包括:PowerPC、Motorola 68000、ARM系列等等。
嵌入式微控制器又称为单片机,它将CPU、存储器(少量的RAM、ROM或两者都有)和其它接口I/O封装在同一片集成电路里。常见的有HOLTEK MCU系列、Microchip MCU系列及8051等。
? 芯片成本
因ARM的工作频率较高,电路较庞大,所需的芯片制造工艺要求在0。25U以上,成本较高。8位单片机工作频率相对较低,电路较小,所需的芯片制造工艺在0。5U 即可,成本较低。
? 功能定位
ARM的功能较单片机强,但两者定位不同。就如现阶段不会有人用ARM去作一个简单的工业定时开关。当然,如果两者单价相同也无不可,但现实是有很大的单价差距。
答:严格的说,ARM不是单片机,是一个嵌入式的实时操作系统。ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。ARM将其技术授权给世界上许多著名的半导体、软件和OEM厂商,每个厂商得到的都是一套独一无二的ARM相关技术及服务。所以市场上像Intel、IBM、LG半导体、NEC、SONY、菲利浦和国半这样的大公司都有ARM系列,现在不存在什幺ARM单片机和哪种内核的单片机比较接近的问题。而且由于厂家购买内核后会根据自己芯片应用方向的不同,自行添加不同的外挂功能模块,所以,同样内核的芯片其提供的功能是不同的。
答:51系统转为ARM系统是比较困难的。ARM提供一系列内核、体系扩展、微处理器和系统芯片方案,并且现在已经发展了好几种内核了,现在主要有以下几种:
l ARM7:小型、快速、低能耗、集成式RISC内核
l ARM7TDMI(Thumb):它将ARM7指令集同Thumb扩展结合在一起,减少了内存容量和系统成本;而且还利用嵌入式ICE调试技术,简化了系统设计;并且有DSP增强扩展改进了性能。
l ARM9TDMI:采用5阶段管道化ARM9内核,同时配备Thumb扩展、调试和Harvard总线。
MTP = Multi-Time Programming (via parallel programmer)
ISP = In-System Programming (via serial interface)
IAP = In-Application Programming ?
答:MTP即指单片机的程序可重复烧写,其程序记忆体(Program ROM)可分以下几种:
l Window with EPROM:提供使用者更改程式的空间,具视窗式陶瓷包装,利用紫外线灯清除资料,可重复烧写,但包装成本非常高,仅适合小量生产或实验使用。
l EEPROM:属于可重复写入/清除之元件,此类记忆体使得程式之内容可加以清除或修改,而无需使用开窗之包装,可节省包装之成本,亦方便重复使用,但生产制程较复杂。
l Flash EPROM:当须要清除/写入较大量的非挥发性程式记忆体时,Flash EPROM比传统式EEPROM可提供较好的解决之道,因为Flash EPROM较EEPROM于清除/写入周期次数及速度上表现更好。利用Flash ROM来当作程式记忆体,由于封装上不需要EPROM特殊的视窗式陶瓷包装,使用上价格与OTP(One Time Programming)相差不大,相当合理,又具有多次重复烧写的功能。
ISP(In-System Programming)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码,而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。ISP的实现相对要简单一些,一般需要很少的外部电路辅助实现,通用做法是内部的记忆体可以由上位机的软体通过串口来进行改写。对于单片机来讲可以通过SPI或其他的串列介面接收上位机传来的资料并写入记忆体中。所以即使我们将晶片焊接在电路板上,只要留出和上位机介面的这个串口,就可以实现晶片内部记忆体的改写,而无须再取下晶片。
ISP的优点 ISP技术的优势是不需要编程器就可以进行单片机的实验和开发,单片机晶片可以直接焊接到电路板上,调试结束即成成品,免去了调试时由于频繁地插入取出晶片对晶片和电路板带来的不便。
IAP(In-Application Programming)指MCU可以在系统中获取新代码并对自己重新编程,即可用程式来改变程式。IAP的实现相对要复杂一些,在实现IAP功能时,单片机内部一定要有两块存储区,一般一块被称为BOOT区,另外一块被称为存储区。单片机上电运行在BOOT区,如果有外部改写程式的条件满足,则对存储区的程式进行改写操作。如果外部改写程式的条件不满足,程式指标跳到存储区,开始执行放在存储区的程式,这样便实现了IAP功能。IAP技术是从结构上将Flash记忆体映射为两个存储体,当运行一个存储体上的用户程式时,可对另一个存储体重新编程,之后将程式从一个存储体转向另一个。
15.单片机民用级(商业级)、工业级和军用级三种,他们的区别?
答:一般单片机根据工作温度可分为民用级(商业级)、工业级和军用级三种:民用级的温度范围是0℃~70℃,工业级是-40℃~85℃,其HOLTEK的MCU就属于此项等级,军用级是-55℃~125℃。如果是一般普通商业级单片机,在超规格范围使用IC时,就有可能部份IC无法工作,或工作运作不正常等发生。
至于抗干扰性能,是属于整个产品的EMS(电磁杂讯耐受性)检测,它是EMC(电磁相容)中的一项检测, 另一项是EMI(电磁辐射干扰)。各国都有其EMC认证标准,例如目前在欧洲EMC指令下常用的测试规范下,针对其中法规EN61000-4-2是做静电试验(ESD),本项试验目的为测试试件承受直接来自操作者及相对物件所产生之静电放电效应的程度,其法规范如下:
l Air Discharge
l Leve1 2KV
l Leve2 4KV
l Leve3 8KV
l Leve4 15KV
答:在MCU开发方面,以架构而言,可分为两大主流;RISC(Reduced Instruction Set Computer)与CISC(Complex Instruction Set Computer), RISC代表MCU的所有指令都是利用一些简单的指令组成的,简单的指令代表 MCU 的线路可以尽量做到最佳化,而提高执行速率,相对的使得一个指令所需的时间减到最短。HOLTEK的一系列MCU便是采用 RISC 结构来设计。
再说RISC因为指令集的精简,所以许多工作都必须组合简单的指令,而针对较复杂组合的工作便需要由『编译程式』(compiler) 来执行,而 CISC MCU因为硬体所提供的指令集较多,所以许多工作都能够以一个或是数个指令来代替,compiler 的工作因而减少许多。以一个数值运算程式来说,使用 CISC 指令集的MCU运算对于一个积分运算式可能只需要十个机器指令,而 RISC MCU在执行相同的程式时,却因为CPU 本身不提供浮点数乘法的指令,所以可能需要执行上百个机器指令 (但每一个指令可能只需要 CISC 指令十分之一的时间),而由程式语言转换成机器指令的动作是由程式语言的 Compiler 来执行,所以在 RISC MCU的Compiler 便会较复杂 。因为同样一个高阶语言 A="B"*C 的运算,在 RISC MCU转换为机器指令可能有许多种组合,而每一种组合的『时间/空间』组合都不尽相同。所以 RISC 与 CISC 的取舍之间,似乎也是MCU硬体架构与软体(Compiler) 的平衡之争,应该没有绝对优势的一方,只能说因应不同的需求而有不同的产品,例如工作单纯的印表机核心 MCU,便适合使用效能稳定,但单位指令效率较佳的 RISC MCU。
对单片机处理方式而言,目前单片机的系统结构有两种类型:一种是将程式和资料记忆体分开使用,即哈佛(Harvard)结构,当前的单片机大都是这种结构。另一种是采用和PC机的冯。诺依曼(Von Neumann)类似的原理,对程式和资料记忆体不作逻辑上的区分,即普林斯顿(Princeton)结构。
用户111375 2007-11-23 23:49
虽然不是很懂,顶一下