版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Evaluation Warning: The document was created with Spire.Doc for .NET.单片机应用编程技巧-FAQ单片机应用编程技巧 1.C语言和汇编语言在开发单片机时各有哪些优缺点? 答:汇编语语言是一一种用文文字助记记符来表表示机器器指令的的符号语语言,是是最接近近机器码码的一种种语言。其其主要优优点是占占用资源源少、程程序执行行效率高高。但是是不同的的CPU,其汇汇编语言言可能有有所差异异,所以以不易移移植。 C语言是一一种结构构化的高高级语言言。其优优点是可可读性好好,移植植容易,是是普遍使使用的一一种计算算机语言言。缺点点是占用用资源
2、较较多,执执行效率率没有汇汇编高。 对于目前普普遍使用用的RISSC架构的8biit MMCU来说,其其内部ROM、RAM、STAACK等资源源都有限限,如果果使用C语言编编写,一一条C语言指指令编译译后,会会变成很很多条机机器码,很很容易出出现ROM空间不不够、堆堆栈溢出出等问题题。而且且一些单单片机厂厂家也不不一定能能提供C编译器器。而汇汇编语言言,一条条指令就就对应一一个机器器码,每每一步执执行什幺幺动作都都很清楚楚,并且且程序大大小和堆堆栈调用用情况都都容易控控制,调调试起来来也比较较方便。所所以在单单片机开开发中,我我们还是是建议采采用汇编编语言比比较好。 2.C或或汇编语语言可以以
3、用于单单片机,C+能吗? 答:在单片片机开发发中,主主要是汇汇编和C,没有有用C+的。 3.搞单单片机开开发,一一定要会会C吗? 答:汇编语语言是一一种用文文字助记记符来表表示机器器指令的的符号语语言,是是最接近近机器码码的一种种语言。其其主要优优点是占占用资源源少、程程序执行行效率高高。但是是不同的的CPU,其汇汇编语言言可能有有所差异异,所以以不易移移植。 对于目前普普遍使用用的RISSC架构的8biit MMCU来说,其其内部ROM、RAM、STAACK等资源源都有限限,如果果使用C语言编编写,一一条C语言指指令编译译后,会会变成很很多条机机器码,很很容易出出现ROM空间不不够、堆堆栈溢
4、出出等问题题。而且且一些单单片机厂厂家也不不一定能能提供C编译器器。而汇汇编语言言,一条条指令就就对应一一个机器器码,每每一步执执行什么么动作都都很清楚楚,并且且程序大大小和堆堆栈调用用情况都都容易控控制,调调试起来来也比较较方便。所所以在资资源较少少单片机机开发中中,我们们还是建建议采用用汇编语语言比较较好。 而C语言是是一种编编译型程程序设计计语言,它它兼顾了了多种高高级语言言的特点点,并具具备汇编编语言的的功能。C语言有有功能丰丰富的库库函数、运运算速度度快、编编译效率率高、有有良好的的可移植植性,而而且可以以直接实实现对系系统硬件件的控制制。C语言是是一种结结构化程程序设计计语言,它它
5、支持当当前程序序设计中中广泛采采用的由由顶向下下结构化化程序设设计技术术。此外外,C语言程程序具有有完善的的模块程程序结构构,从而而为软件件开发中中采用模模块化程程序设计计方法提提供了有有力的保保障。因因此,使使用C语言进进行程序序设计已已成为软软件开发发的一个个主流。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统。 综上所述,用C语言进行单片机程序设计是单片机开发与应用的必然趋势。所以作为一个技术全面并涉足较大规模的软件系统开发的单片机开发人员最好能够掌握基本的C语言编程。 4.当开开发一个个较复杂杂而又开开发时
6、间间短的项项目时,用C还是用汇编开发好? 答:对于复复杂而开开发时间间紧的项项目时,可可以采用用C语言,但但前提是是要求对对该MCU系统的C语言和C编译器器非常熟熟悉,特特别要注注意该C编译系系统所能能支持的的数据类类型和算算法。虽虽然C语言是最最普遍的的一种高高级语言言,但不不同的MCU厂家其C语言编编译系统统是有所所差别的的,特别别是在一一些特殊殊功能模模块的操操作上。如如果对这这些特性性不了解解,那调调试起来来就有的的烦了,到到头来可可能还不不如用汇汇编来的的快。 5.在教教学中要要用到80888和196芯片单单片机教教材,请请问那里里可以找找到关于于这方面面的书或或资料? 答:有关这这
7、方面的的教材,大大学里常常用的一一本是IBMM-PCC汇编语语言程序序设计清清华大学学出版社社出版的的,在网网上以及及书店都都是可以以找到的的,另外外网上还还可以搜搜索到很很多其他他的教材材如:微微机原理理及汇编编语言教教程(杨杨延双 张晓冬 等编著 )和16/32 位微机原理理、汇编编语言及及接口技技术(作作者: 钟晓捷 陈涛 ,机械械工业出出版社 出版)等等,可以以在较大大型的科科技书店店里查找找或者直直接从网网上订购购。 6.初学学者到底底是应该该先学C还是汇汇编? 答:对于单单片机的的初学者者来说,应应该从汇汇编学起起。因为为汇编语语言是最最接近机机器码的的一种语语言,可可以加深深初学
8、者者对单片片机各个个功能模模块的了了解,从从而打好好扎实的的基础。 7.我是是一名武武汉大学学电子科科技大3的学生生,学了了电子线线路、数数字逻辑辑、汇编编和接口口、C语言,但但是总是是感觉很很迷茫,觉觉好象什什么都不不会。怎怎么办? 答:大学过过程是一一个理论论过程,实实践的机机会比较较少,往往往会造造成理论论与实践践相脱节节,这是是国内大大学教育育系统的的通病,不不过对于于学生来来说切不不可好高高骛远。一一般从大大三会开开始接触触到一些些专业课课程,电电子相关关专业会会开设相相关的单单片机应应用课程程并且会会有简单单的实验验项目,那那么要充充分把握握实验课课的机会会,多多多地实际际上机操操
9、作练习习。平时时可以多多看看相相关的电电子技术术杂志网网站,看看看别人人的开发发经验,硬硬件设计计方案以以及他人人的软件件设计经经验。有有可能的的话,还还可以参参加一些些电子设设计大赛赛,借此此机会2-3个人合合作做一一个完整整系统,会会更有帮帮助。到到了大四四毕业设设计阶段段,也可可以选择择相关的的课题作作些实际际案例增增长经验验。做什什么事情情都有个个经验的的积累过过程,循循序渐进进。 8.请问问作为学学生,如如何学好好单片机机? 答:学习好好单片机机,最主主要的是是实践,在在实践中中增长经经验。在在校学生生的话,实实践机会会的确会会比较少少,但是是有机会会的话,可可以毕业业实习选选择相关
10、关的课题题,这样样就可以以接触到到实际的的项目。而而且如果果单片机机微机原原理是一一门主课课的话,相相信学校校会安排排比较多多的实践践上机机机会。有有能力的的话,可可以找一一些相关关兼职工工作做做做,会更更有帮助助。而且且单片机机开发应应用需要要软硬件件结合,所所以不能能只满足足于编程程技巧如如何完美美,平时时也要注注意硬件件知识的的积累,多多上上电电子论坛坛网站,买买一些相相关杂志志。可能能的话,可可以到电电子市场场去买一一些小零零件,自自己搭一一个小系系统让它它工作起起来。 HOTLEEK的单片片机是RISSC结构的8位单片片机,它它可以广广泛应用用在家用用电器、安安全系统统、掌上上游戏等
11、等方面。大大概来说说可以分分成I/O型单片片机、LCD型单片片机、A/D型单片片机、A/DD wiith LCDD型单片片机等等等。9.如何何才能才才为单片片机的高高手啊? 答:要成为为单片机机高手,应应该多实实践,时时常关注注单片机机的发展展趋势;经常上上一些相相关网站站,从那那里可以以找到许许多有用用的资料料。 10.女女性是否否适合单单片机软软件编程程这个行行业? 答:要根据据自己的的兴趣,配配合自己己对软件件编程的的耐性,男男女皆适适合这个个行业。 11.HHolttek的数据据手册在在哪里下下载? 12.88位机还还能延续续多久! 答:以现在在MCU产品主主力还是是在8位领域域,主要
12、要应用于于汽车应应用、消消费性电电子、电电脑及PC周边、电电信与通通讯、办办公室自自动化、工工业控制制等六大大市场,其其中车用用市场多多在欧、美美地区,而而亚太地地区则以以消费性性电子为为主, 并以量量大低单单价为产产品主流流,目前前16位MCU与8位产品品,还有有相当幅幅度的价价差,新新的应用用领域也也仍在开开发,业业界预计计,至少少在20005年前8位的MCU仍是MCU产品的的主流。 13.学学习ARM及嵌入入式系统统是否比比学习其其它一般般单片机机更有使使用前景景?对于于一个初初学者应应当具备备哪些相相关知识识? 答:一般在在8位单片片机与ARM方面的的嵌入式式系统是是有层次次上的差差别
13、,ARM适用于于系统复复杂度较较大的高高级产品品,如PDA、手机机等应用用。而8位单片片机因架架构简单单,硬件件资源相相对较少少,适用用于一般般的工业业控制、消消费性家家电等等等。对于于一个单单片机方方面的软软件编程程初学者者,应以以HOLLTEKK系列或80551等8位单片片机来做做入门练练习。而而初学者者应当具具备软件件编程相相关知识识,单片片机一般般软件编编程是以以汇编语语言为主主,各家家有各家家的语法法,但大大都以RISSC的MCU架构为为主,其其中 RIISC (Reeducced Insstruuctiion Sett Coompuuterr) 代表MCU的所有有指令。都都是利用用
14、一些简简单的指指令组成成的,简简单的指指令代表表 MCCU 的线路路可以尽尽量做到到最佳化化,而提提高执行行速率。另另外初学学者要具具备单片片机I/O接口的的应用知知识,这这在于周周边应用用电路及及各种元元器件的的使用,须须配合自自己所学学的电子子学及电电路学等等。 14.符符合44PPIN的80系列8位单片片机的MCU有哪些些? 答:符合444PIIN的80系列8位单片片机有Z866743312FFSC、Z866E21112FFSC、Z866E21116FFSC。 15.请请介绍一一下MCU的测试试方法。 答: MCCU从生产产出来到到封装出出货的每每个不同同的阶段段会有不不同的测测试方法法
15、,其中中主要会会有两种种:中测测和成测测。 所谓中测即即是WAFFER的测试试,它会会包含产产品的功功能验证证及AC、DC的测试试。项目目相当繁繁多,以以HOLLTEKK产品为为例最主主要的几几项如下下: 接续性测测试:检检测每一一根I/OOPINN内接的的保护用用二极管管是否功功能无误误。 功能测试试:以产产品设计计者所提提供测试试资料(TEEST PATTTERRN)灌入IC,检查查其结果果是否与与当时SIMMULAATIOON时状态态一样。 STANNDBYY电流测测试:测测量IC处于HALLT模式时时即每一一个接点点(PAAD)在1态0态或Z态保持持不变时时的漏电电流是否否符合最最低之
16、规规格。 耗电测试试:整颗颗IC的静态态耗电与与动态耗耗电。 输入电压压测试:测量每每个输入入接脚的的输入电电压反应应特性。 输出电压压测试:测量每每个输出出接脚的的输出电电压位准准。 相关频率率特性(AC)测试试,也是是通过外外灌一定定频率,从I/O口来看输出是否与之匹配。 为了保证证IC生产的的长期且且稳定品品质,还还会做产产品的可可靠性测测试,这这些测试试包括ESD测试,LATTCH UP测试,温温度循环环测试,高高温贮存存测试,湿湿度贮存存测试等等。 成测则是产产品封装装好后的的测试,即PACKAGE测试。即是所有通过中测的产品封装后的测试,方法主要是机台自动测试,但测试项目仍与WAF
17、ER TEST相同。PACKAGE TEST的目的是在确定IC在封装过程中是否有任何损坏。 16.能能否利用用单片来来检测手手机电池池的充放放电时间间及充放放电时的的电压电电流变化化,并利利用一个个I/O端口使使检测结结果在电电脑上显显示出来来? 答:目前市市场上的的各类智智能充电电器,大大部分都都采用MCU进行充充电电流流和电压压的控制制。至于于要在电电脑上显显示,好好象并不不实用,可可能只有有在一些些专门的的电池检检测仪器器中才会会用到;对于一一般的手手机用户户来说,谁谁会在充充电时还还需要用用一台电电脑来做做显示呢呢?要实实现单片片机与电电脑的连连接,最最简单的的方式就就是采用用串口通通
18、讯,但但需要加加一颗RS-2322芯片。 17.在在ARM编程中中又应当当如何? 答:就以嵌嵌入式系系统观念念为例,一一般嵌入入式处理理器可以以分为三三类:嵌嵌入式微微处理器器、嵌入入式微控控制器、嵌嵌入式DSPP(Diigittal Siggnall Prroceessoor)。 嵌入式微处处理器就就是和通通用计算算机的微微处理器器对应的的CPU。在应应用中,一一般是将将微处理理器装配配在专门门设计的的电路板板上,在在母板上上只保留留和嵌入入式相关关的功能能即可,这这样可以以满足嵌嵌入式系系统体积积小和功功耗低的的要求。目目前的嵌嵌入式处处理器主主要包括括:PowwerPPC、Mottoro
19、ola 680000、ARM系列等等等。 嵌入式微控控制器又又称为单单片机,它它将CPU、存储储器(少量的RAM、ROM或两者者都有)和其它它接口I/O封装在在同一片片集成电电路里。常常见的有有HOLLTEKK MCCU系列、Miccrocchipp MCCU系列及80551等。 嵌入式DSSP专门用用来处理理对离散散时间信信号进行行极快的的处理计计算,提提高编译译效率和和执行速速度。在在数字滤滤波、FFTT(Faast Fouurieer TTrannsfoorm)、频谱谱分析、图图像处理理的分析析等领域域,DSP正在大大量进入入嵌入式式市场。 18.MMCU在射频频控制时时,MCU的时钟钟
20、(晶振振)、数数据线会会辐射基基频或基基频的倍倍频,被被低噪放放LNA放大后后进入混混频,出出现带内内的Spuur,无法法滤除。除除了用layyoutt、选择择低辐射射MCU的方法法可以减减少一些些以外,还还有什么么别的方方法? 答:在设计计高频电电路用电电路板有有许多注注意事项项,尤其其是GHz等级的的高频电电路,更更需要注注意各电电子组件件pad与印刷pattterrn的长度度对电路路特性所所造成的的影响。最最近几年年高频电电路与数数位电路路共享相相同电路路板,构构成所谓谓的混载载电路系系统似乎乎有增加加的趋势势,类似似如此的的设计经经常会造造成数位位电路动动作时,高高频电路路却发生生动作
21、不不稳定等等现象,其其中原因因之一是是数位电电路产生生的噪讯讯,影响响高频电电路正常常动作所所致。为为了避免免上述问问题除了了设法分分割两电电路bloock之外,设设计电路路板之前前充分检检讨设计计构想,才才是根本本应有的的手法,基基本上设设计高频频电路用用电路板板必需掌掌握下列列三大原原则: 高质感。 不可取巧巧。 不可仓促促抢时间间。 以下是设计计高频电电路板的的一些建建议: (1)印刷刷pattterrn的长度度会影响响电路特特性。尤尤其是传传输速度度为GHz高速数数位电路路的传输输线路,通通常会使使用strrip linne,同时时藉由调调整配线线长度补补正传输输延迟时时间,其其实这也
22、也意味着着电子组组件的设设置位置置对电路路特性具具有绝对对性的影影响。 (2)Grrounnd作大bettter。铜箔箔面整体体设置grooundd层,而而连接via的bettterr grrounnd则是高高频电路路板与高高速数位位电路板板共同的的特征,此此外高频频电路板板最忌讳讳使用幅幅宽细窄窄的印刷刷pattterrn描绘grooundd。 (2)电子子组件的的grooundd端子,以以最短的的长度与与电路板板的grooundd连接。具具体方法法是在电电子组件件的grooundd端子pad附近设设置via,使电电子组件件能以最最短的长长度与电电路板的的grooundd连接。 (3)信号号
23、线作短短配线设设计。不不可任意意加大配配线长度度,尽量量缩短配配线长度度。 (4)减少少电路之之间的结结合。尤尤其是fillterr与amppliffier输出入入之间作作电路分分割非常常重要,它它相当于于auddio电路的crooss tallk对策。 (5)MCCU回路Layyoutt考量:震荡电电路仅可可能接近近IC震荡脚脚位;震震荡电路路与VDDD & VSSS保持足足够的距距离;震震荡频率率大于1MHHz时不需需加 ossc1 & oosc22 电容;电源与与地间要要最短位位置并尽尽量拉等等宽与等等距的线线,于节节点位置置加上1044/1003/1102等陶瓷瓷电容。 19.IInt
24、eel系列的96单片机80cc1966KB开发系系统时,都都有那些些注意事事项? 答:一个即即时系统统的软体体由即时时操作系系统加上上应用程程序构成成。应用用程序与与作业系系统的接接口通过过系统调调用来实实现。用用80CC1966KB作业系系统的MCU,只能能用内部部RAM作为TCB和所有有系统记记忆体(含含各种控控制表)以以及各个个任务的的工作和和资料单单元。因因此一定定要注意意以下几几点: (1)对各各个任务务分配各各自的堆堆迭区,该该堆迭区区既作为为任务的的工作单单元,也也作为任任务控制制块的保保护单元元。 (2)系统统的任务务控制块块只存放放各任务务的堆迭迭指标,而而任务的的状态均均存
25、放于于任务椎椎栈中。在在一个任任务退出出运行时时,通过过中断把把它的状状态进栈栈,然后后把它的的堆迭指指标保存存于系统统的TCB中;再再根据优优先取出出优先顺顺序最高高的已就就绪任务务的堆迭迭指标SP映象值值送入SP中;最最后执行行中断返返回指令令转去执执行新任任务。 (3)各任任务的资资料和工工作单元元尽量用用堆迭实实现,这这样可以以允许各各任务使使用同一一个子程程序。使使用堆迭迭实现参参数传递递并作为为工作单单元,而而不使用用绝对地地址的RAM,可实实现可重重入子程程序。该该子程序序既可为为各个任任务所调调用,也也可实现现递回调调用。 20.在在demmo板上采采样电压压时,不不稳定,采采
26、样结果果有波动动,如何何消除? 答:一般来来说,仿仿真器都都是工作作在一个个稳压的的环境(通常为5V)。如果果用仿真真器的A/D时,要要注意其其A/D参考电电压是由由仿真器器内部给给出,还还是需要要外部提提供。A/D转换需需要一个个连续的的时钟周周期,所所以在仿仿真时不不能用单单步调试试的方法法,否则则会造成成A/D采样值值不准。至至于A/D采样不不稳定,可可以在A/D输入口口加一电电容,起起到滤波波作用;在软件件处理时时采用中中值滤波波的方法法。 21.在在车载DVD系统中中,如何何设计电电子防震震系统? 答:在车载载DVD系统,最最好选择择高档DVD机,因因为高档档DVD机都采采用电子子防
27、震系系统(ADDVANNCEDDESPP),当记记忆缓冲冲区内的的读数降降低,先先进的电电子防震震设计会会以双速速读数系系统,做做出比正正常速度度快两倍倍的读数数速率,以以减低噪噪声,即即使连续续震荡仍仍可避免免跳线情情况出现现,现在在就说说说什幺叫叫电子防防震。简简单地说说:电子子防震就就是一个个信号的的储存-释放过过程,首首先CD要先把把信号进进行提前前读取,也也就是我我们见到到机子的的加速,再再把信号号储存在在RAM中,而而我们在在开防震震的时候候所听到到的就是是经过RAM的声音音,这样样就是它它的过程程。当没没有防震震时是由由于信号号是1比1读取的,所所以当受受到冲击击后,就就会出现现
28、跳音。而而当开了了防震时时,机子子受到冲冲击后,由RAM释放出来的声音使音乐不停地播放,而与此同时,光头迅速进行复位检索,当检索到信号后立即补充,所以不会出现跳音。大概的情况就是这样。但是这样还没有满足用家的要求,由于这种的方法带来的时间短,通常只有3秒,所以跳音的机会还是蛮高,如果增大RAM又带来造价的增高因为RAM这东西价格较贵,尤其是质量好的。 22.在在电子防防震技术术中,有有那些IC或器件件可供选选择? 答:在电子子防震技技术中,最最重要的的技术之之一要数数是RAM技术,而而一直以以来都是是因为它它的成本本问题,所所以防震震时间都都一直不不能增加加,也就就是说RAM本身就就有限制制,
29、RAM的容量量越大,造造价就越越高。而而许多厂厂家就如如何在RAM的限制制里得到到最大限限度的记记忆时间间展开了了开发研研究。 23.如如何进行行编程可可以减少少程序的的bug? 答:在此提提供一些些建议,因因系统中中实际运运行的参参数都是是有范围围的。系系统运行行中要考考虑的超超范围管管理参数数有: 物理参数数。这些些参数主主要是系系统的输输入参数数,它包包括激励励参数、采采集处理理中的运运行参数数和处理理结束的的结果参参数。合合理设定定这些边边界,将将超出边边界的参参数都视视为非正正常激励励或非正正常回应应进行出出错处理理。 资源参数数。这些些参数主主要是系系统中的的电路、器器件、功功能单
30、元元的资源源,如记记忆体容容量、存存储单元元长度、堆堆迭深度度。在程程序设计计中,对对资源参参数不允允许超范范围使用用。 应用参数数。这些些应用参参数常表表现为一一些单片片机、功功能单元元的应用用条件。如E2PROM的擦写次数与资料存储时间等应用参数界限。 过程参数数。指系系统运行行中的有有序变化化的参数数。 在上述参数数群对一一程序编编写者而而言,须须养成良良好习惯惯,在程程序的开开头,有有顺序的的用自己己喜欢文文字参数数对应列列表来替替代,然然后用自自己定义义的文字字参数来来编写程程序,这这样在做做程序的的修改及及维护时时只在程程序的开开头做变变动即可可,不用用修改到到程序段段,才比比较容
31、易易且不会会出错。 24.有有人认为为单片机机将被ARM等系列列结构的的嵌入式式系统所所取代。单单片机的的生命期期还有多多长? 答:因为88位单片片机与嵌嵌入式系系统的ARM在功能能结构和和单价的的差异,故故应用层层次上就就有很大大的不同同。 ARRM适用于于系统复复杂度较较大的高高级产品品,如PDA、手机机等应用用。 而8位单片片机因架架构简单单,硬件件资源相相对较少少,适用用于一般般的工业业控制,消消费性家家电等等。评评估单片片机近期期是否会会给ARM取代,要要观察两两个因素素: 芯片成本本 因ARM的的工作频频率较高高,电路路较庞大大,所需需的芯片片制造工工艺要求求在0。25U以上,成成
32、本较高高。8位单片片机工作作频率相相对较低低,电路路较小,所所需的芯芯片制造造工艺在在0。5U 即可,成成本较低低。 功能定位位 ARM的功功能较单单片机强强,但两两者定位位不同。就就如现阶阶段不会会有人用用ARM去作一一个简单单的工业业定时开开关。当当然,如如果两者者单价相相同也无无不可,但但现实是是有很大大的单价价差距。 至于将来,因因芯片制制造成本本会不断断下降,上上述的成成本差异异影响愈愈来愈少少!但我估估计在往往后5年单片片机仍有有价格优优势,仍仍能存活活!但ARM是否会会精简架架构,降降低成本本,抢夺夺低阶市市场?我我想可能能性不大大,ARM应该会会向上发发展。同同样,单单片机也也
33、只能向向上发展展,如16位,高高功能等。 原因就就是因为为芯片制制造工艺艺进步太太快。压压迫芯片片设计往往高集成成发展。 25.在在单片机机C编成时时,如何何才能使使生成的的代码具具有和汇汇编一样样的效率率? 答:如果是是使用C语言编编程时,不不太可能能生成的的代码具具有1:1和汇编编一样的的效率。 C语言命令令要被硬硬件识别别并执行行,必须须通过编编译器编编译。编编译器分分为前端端、中端端、后端端。前端端与各种种计算机机语言写写的程序序打交道道,后端端与处理理器的基基本指令令集接轨轨。所以以如果使使用C编程时时,要达达到最高高的效率率,最好好能够很很了解所所使用的的C编译器器。先试试验一下下
34、每条C语言编编译以后后对应的的汇编语语言的语语句行数数,这样样就可以以很明确确的知道道效率。在在今后编编程的时时候,使使用编译译效率最最高的语语句,这这样就能能确保单单片机C编程的的时候同同样的功功能不同同的C程序,编编译效率率最高。但但是各家家的C编译器器都会有有一定的的差异,优优秀的嵌嵌入式系系统C编译器器代码长长度和执执行时间间仅比以以汇编语语言编写写的同样样功能程程度长5-220%,所以以不同厂厂家的C编译器器的编译译效率也也会有所所不同。 26.AARM单片机机和哪种种内核的的单片机机比较接接近? 答:严格的的说,ARM不是单单片机,是是一个嵌嵌入式的的实时操操作系统统。ARM(Ad
35、vvancced RISSC MMachhinees)是微微处理器器行业的的一家知知名企业业,设计计了大量量高性能能、廉价价、耗能能低的RISSC处理器器、相关关技术及及软件。ARM将其技技术授权权给世界界上许多多著名的的半导体体、软件件和OEM厂商,每每个厂商商得到的的都是一一套独一一无二的的ARM相关技技术及服服务。所所以市场场上像Inttel、IBM、LG半导体体、NEC、SONNY、菲利利浦和国国半这样样的大公公司都有有ARM系列,现现在不存存在什幺幺ARM单片机机和哪种种内核的的单片机机比较接接近的问问题。而而且由于于厂家购购买内核核后会根根据自己己芯片应应用方向向的不同同,自行行添
36、加不不同的外外挂功能能模块,所所以,同同样内核核的芯片片其提供供的功能能是不同同的。 27.从从51转到ARM会有困困难吗? 答:从511转到ARM,其实实编程之之类的原原理都是是一样的的,但是是要注意意的是ARM是一个RISSC的架构构,在ARM的应用用开放源源代码的的程序很很多,要要想提高高自己,就就要多看看别人的的程序,linnux,uc/os-II等等这这些都是是很好的的源码。 28.我我学过MCSS51单片机机教材,很很有兴趣趣,但缺缺乏实践践经验,手手头没有有任何道道具可供供演练,资资金又有有限,请请问该怎怎么办? 答:在没有有任何条条件进行行实践时时,如果果真的有有兴趣,可可以下
37、载载一些具具有软件件仿真功功能仿真真软件进进行一些些编程,像像一些做做得比较较好的51仿真软软件应该该具有这这种功能能。HOLLTEKK的仿真真软件HT-IDEE30000也具有有相应的的功能,同时它还具有LCD软件仿真,周边电路的软件仿真。有兴趣的话,也可以去免费下载使用:ool/ide.htm。同时可以到一些电子市场去购买一些简单器件自己练习搭一下电路以加强硬件方面的知识。 29.如如果已经经有了针针对某MCU的C实现的的某个算算法,保保持框架架不变,对对核心的的部分用用汇编优优化,有有没有一一些比较较通用的的原则? 答:每个人人的编程程都有自自己的风风格与习习惯,如如果要利利用别人人的程
38、序序,在其其中修修修改改,如如果他的的程序并并没有很很好的模模块化的的话,建建议最好好不要这这幺做,否否则本来来预期达达到事倍倍功半,说说不定反反而事半半功倍了了。要参参考他人人的程序序当然可可以,但但是首要要是要看看懂并理理解他人人程序的的算法精精髓,而而不是在在他的基基础上打打补丁。而而关于算算法方面面的优化化,可以以购买一一些数据据结构的的书籍,上上面有比比较详细细的说明明。 30.如如果准备备估计一一个算法法的MIPPS,有什什么好的的途径? 答:算法的的运行时时间是指指一个算算法在计计算机上上运算所所花费的的时间。它它大致等等于计算算机执行行简单操操作(如如赋值操操作,比比较操作作等
39、)所所需要的的时间与与算法中中进行简简单操作作次数的的乘积。通通常把算算法中包包含简单单操作次次数的多多少叫做做算法的的时间复复杂性。它它是一个个算法运运行时间间的相对对量度,一一般用数数量级的的形式给给出。度度量一个个程序的的执行时时间通常常有两种种方法: 一种是事事后统计计的方法法。因为为很多计计算机内内部都有有计时功功能,不不同算法法的程序序可通过过一组或或若干组组相同的的统计数数据以分分辨优劣劣。但这这种方法法有两个个缺陷:一是必必须先运运行依据据算法编编制的程程序;二二是所得得时间的的统计量量依赖于于计算机机的硬件件、软件件等环境境因素,有有时容易易掩盖算算法本身身的优劣劣。因此此人
40、们常常常采用用另一种种事前分分析估算算的方法法。 一种是事事前分析析估算的的方法。一一个程序序在计算算机上运运行时所所消耗的的时间取取决于下下列因素素: (1)依据据的算法法选用何何种策略略; (2)问题题的规模模。例如如求100以内还还是10000以内的的素数; (3)书写写程序的的语言。对对于同一一个算法法,实现现语言的的级别越越高,执执行效率率就越低低; (4)编译译程序所所产生的的机器代代码的质质量。这这个跟编编译器有有关; (5)机器器执行指指令的速速度。 显然,同一一个算法法用不同同的语言言实现,或或者用不不同的编编译程序序进行编编译,或或者在不不同的计计算机上上运行时时,效率率均
41、不相相同。这这表明使使用绝对对的时间间单位衡衡量算法法的效率率是不合合适的。撇撇开这些些与计算算机硬件件、软件件有关的的因素,可可以认为为一个特特定算法法运行工工作量的大小小,只依依赖于问问题的规规模(通通常用整整数量n表示),或或者说,它它是问题题规模的的函数。 一个算法是是由控制制结构(顺顺序、分分支和循循环三种种)和原原操作(指指固有数数据类型型的操作作)构成成的,则则算法时时间取决决于两者者的综合合效果。为为了便于于比较同同一问题题的不同同算法,通通常的做做法是,从从算法中中选取一一种对于于所研究究的问题题(或算算法类型型)来说说是基本本运算的的原操作作,以该该基本操操作重复复执行的的
42、次数作作为算法法的时间间度量。 算法的MIIPS有专门门的一门门学问,可可以去好好好参考考相关的的数据结结构书籍籍。 31.遥遥控的编编解码思思路和设设计流程程是怎样样的? 答:一般来来说完整整的遥控控码分为为头码、地地址码、数数据码和和校验码码四个组组成部分分。头码码根据不不同的厂厂家各不不相同,地地址码和和数据码码都由逻逻辑“1”和逻辑“0”组成。编编码的设设计目的的,就是是按照编编码规则则发送不不同的码码值。我我们最常常见的码码型有SONNY、松下下、NEC等厂家家型号。遥遥控编码码芯片最最常用的的是在空空调、DVD、车库库门等遥遥控器上上。 设计编码程程序可以以分为三三个部分分。 第一
43、部分是是了解码码型的特特性。遥遥控码的的头码和和地址码码(也称称为客户户码)是是固定不不变的,数数据码和和校验码码根据不不同的键键值而改改变。 第二部分是是计算发发码时间间。遥控控码大部部分都是是由逻辑辑“1”和逻辑“0”组成,也也就是由由一串固固定占空空比、固固定周期期的方波波所组成成。通常常这些方方波的周周期是毫毫秒甚至至微秒等等级,需需要在时时间上计计算的比比较精确确。所以以选择发发码单片片机型号号的时候候,就要要考虑到到单片机机的运行行速度是是不是够够快,以以及程序序运行时时间够不不够。 第三部分就就是程序序的编写写。选定定单片机机型号之之后,开开始设计计程序流流程。一一般来说说我们使
44、使用I/O口就可可以做发发码的输输出端口口。发码码程序一一般由几几个子程程序组成成,头码码子程序序、逻辑辑1子程序序,逻辑辑0子程序序以及校校验码的的算法子子程序。一一旦我们们得到要要发送码码的命令令后,首首先调用用头码子子程序,然然后根据据客户码码和键值值调用逻逻辑1子程序序或者逻逻辑0子程序序,最后后调用校校验码算算法子程程序输出出校验码码。 HOLTEEK公司的HT448CAA0/HHT488RA00、HT488CA33/HTT48RRA3和HT448CAA6是专为为遥控器器设计的的单片机机,它们们具有专专门红外外输出口口,可以以实现绝绝大部分分发码的的要求。 设计解码程程序也可可以分为
45、为三部分分。 第一部分了了解编码码波形特特性。从从分析编编码的高高、低脉脉冲宽度度入手,了了解逻辑辑“1”和逻辑“0”的波形形占空比比、周期期。了解解头码的的特性。 第二部分确确定接收收方式。一一般我们们可以用用I/O口查询询方法或或者INT口中断断响应方方法来接接收编码码。这两两者的区区别是I/O口查询询方式比比较耗费费单片机机的运行行时间资资源,需需要不断断的去侦侦测I/O的电平平变化,以以免漏掉掉有效的的码值;而INT口中断断接收方方式则比比较节省省资源,当当外部有有电平变变化时,单单片机才才需要去去处理,不不需要时时刻进行行侦测。但但是INT口中断断接收方方式不能能辨别相相同周期期不同
46、占占空比的的波形特特性,当当编码所所携带的的逻辑“1”和逻辑“0”具有这这种特性性时,就就无法通通过INT口中断断接收方方式来辨辨别了,因因为INT中断只只是在上上升沿或或者下降降沿的时时候才触触发。 第三部分将将接收的的码值存存储并分分析执行行。根据据判断高高低电平平的宽度度(定时时器或者者延时),可以得到码值,也就是我们所说的解码。一般我们连续收到3个相同的完整码值,就确认此码的确被发出,并接收成功。当解码结束,根据码值我们可以判断出是哪个按键被按下,由此去执行相对的按键功能。 HOLTEEK公司的HT448以及HT449(带LCDD)系列单单片机,都都可以符符合大多多数解码码的任务务。
47、32.在在学习单单片机的的过程中中,如何何理解预预分频,12时钟模模式(6时钟模模型)等等概念? 答:预分频频器的英英文是preescaalerr。它就就是将输输入的频频率信号号分频,然然后再输输出。HOLLTEKK公司有有一款最最基本的的8位I/O型单片片机HT448R005A-1,我们们就以这这款单片片机为例例说明。HT448R005A-1有一个8位向上上计数的的定时器器Couunteer。系统统时钟Fsyys(4MHHz)进入入八阶预预分频器器(8-sstagge PPresscaller)进行行分频,再再进入定定时计数数器Couunteer计数。根根据软件件设置,预预分频器器可以将将F
48、syys进行2的n次方分分频(n=118)。举举例来说说,如果果软件设设置为预预分频器器2分频,那那幺预分分频器输输出的频频率就是是Fsyys/22=2MMHz,这个2MHHz信号再再进入定定时计数数器Couunteer。 如果需要HHT488R055A-11或者其其它各类类HOLLTEKK单片机机的详细细资料,可可以在如如下地址址下载:m。 12时钟模模式(6时钟模模型)应该就就是在MCSS51系列中中,12个系统统时钟为为一个机机器周期期,2个系统统时钟为为一个状状态,即即一个机机器周期期有6个状态态。 33.AA/D、D/A的采样样速率与与其它单单片机相相比有什什么优势势? 答:HOLL
49、TEKK A/D TTyepp MCCU内嵌逐逐位逼近近的A/D转换电电路,精精度有8biit/99bitt/100bitt,A/D转换时时间最快快为76uus。 至于D/AA,一般般是指PWM输出,HOLLTEKK A/D TTypee MCCU都带有8biit的PWM输出,但但HOLLTEKK PWWM的特点点是其输输出频率率由系统统频率决决定(既系统统频率选选定后,PWM频率也也就定了了),其占占空比通通过对PWMM寄存器器赋值进进行控制制,不需需要占用用定时/计数器器资源。 34.采采用AT889S551时,出出现了按按了复位位按钮,RAM中的数数据被修修改了。这这是怎么么回事?注:数
50、数据放在在特殊寄寄存器之之外。 答:如果是是RESSET脚的复复位按钮钮:一般般MCU的RESSET复位,其其特殊寄寄存器会会被重新新初始化化,而通通用寄存存器的值值保持不不变。 如果复位按按钮是电电源复位位:那就就是MCU的上电电复位,其其特殊寄寄存器会会被初始始化,而而通用寄寄存器的的值是随随机数。 35.将将P2.7用来驱驱动一个个NPN三极管管,中间间串接了了一个1K的电阻阻。问题题是:当当我尝试试向P2.7写1时,发发现管脚脚只能输输出大约约0.55V的一个个电平。这这个电路路的使用用得妥当当么?如如何正确确的使用用IO功能? 答:是在仿仿真时遇遇到的问问题,还还是烧录录芯片后后遇到
51、的的问题? 可以先将PP2.77的外部部电路断断开,测测量输出出电压是是否正常常。如果果断开后后输出电电压正常常,那就就说明P2.7的驱动动能力不不够,不不能驱动动NPN三极管管,应该该改用PNP三极管(一般在MCU应用中中,都采采用PNP方式驱驱动)。如果果断开后后输出电电压还不不正常,那那有可能能是仿真真器(或芯片)已经损损坏。 36.在在做充电电管理的的时候,提提高pwm的频率率往往以以牺牲精精度为代代价,如如果用的的AT990S444333(avvr)、78PP4588(ellan)频率分分别做到到16kkHz(8biit)和32kkHz(8biit),而希希望做到到的是1000kHz
52、z(8bbit以上),诸如atiiny115那样。怎怎么办? 答:你所说说的PWM是通过过定时/计数器器来控制制其频率率和占空空比的,所所以要提提高频率率,必然然会降低低精度。如如果要提提高PWM的频率率,只能能通过提提高系统统振荡频频率来解解决。 37.汽汽车电子子用的单单片机是是8位多,还还是32位?如如何看待待单片机机在汽车车电子市市场中的的前景? 答:现今汽汽车制造造也是一一个进步步很快的的工业,特特别是电电子应用用于汽车车上,令令多种新新功能得得以实现现。 总的来说,汽汽车电子子应用分分三部份份。 汽车发动动机控制制:限速速控制,涡涡轮增压压,燃料料喷注控控制等。 汽车舒适适装置:遥
53、控防防盗系统统,自动动空调系系统,影影音播放放系统,卫卫星导航航系统等等。 汽车操控控和制动动:刹车车防抱死死系统(ABBS),循迹迹系统(TCCS),防滑滑系统(ASSR),电子子稳定系系统(ESSP)等。 汽车上的各各系统繁繁多,且且日新月月异,故故利用何何种单片片机是依依各系统统规格,要要求不一一,但有有一样可可肯定是是该单片片机要符符工业规规格,才才能忍受受汽车应应用的恶恶劣环境境,高温温,电源源干扰,可可靠度要要求。不不同档次次的汽车车其功能能配置相相对亦有有差别,故8位单片机在较低阶的系统如机械控制,遥控防盗等应该还有空间,但高阶的系统如影音、导航及将来的无人驾驶,就非一般单片机能
54、实现。 因汽车工业业现阶段段由欧美美日数个个大集团团所把持持,相关关的汽车车电子配配件各集集团会挑挑选单片片机大厂厂合作, 故汽车车内置的的电子系系统亦由由单片机机大厂把把持,市市场只剩剩外置系系统如遥遥控防盗盗,影音音导航供供小厂开开发。 38.在在使用三三星的s3cc72nn4时,觉觉得它的的timme/ccounnterr不够用用。现在在要同时时用到3个couunteer,该怎怎么办? 答:您是需需要三个个外部couunteer还是需需要三个个定时器器?如果果是三个个定时器器标志的的话,可可以取这这三个定定时最基基本的时时基作为为timmer的基础础计数,然然后以这这个时基基来计算算这三
55、个个需要的的计数标标志的flaag,在程程序中只只需要查查询flaag是否到到,再采采取动作作。 如果要3个个外部脉脉冲计数数的话,这这个有一一定的难难度,如如果外部部脉冲不不是很频频繁,可可以考虑虑通过外外部中断断进行,但但是这个个方法必必须是外外部脉冲冲的频率率与MCU执行速速度有一一定的数数量级差差,否则则mcu可能无无法处理理其它程程序,一一直在处处理外部部中断。 39.在在芯片集集成技术术日益进进步的今今天,单单片机的的集成技技术发展展也很迅迅速,在在传统的的40引脚的的基础上上,飞利利浦公司司推出20引脚的的单片机机系列,使使很多的的引脚可可以复用用,这种种复用技技术的使使用在实实
56、际应用用中会不不会影响响其功能能的执行行? 答:现在有有很多品品牌的单单片机都都有引脚脚复用功功能,不不止飞利利浦一家家,应该该说这个个方式前前几年就就已经有有了。在在实际应应用中不不会影响响其功能能的执行行,但是是要注意意的是,有有的MCU如果采采用复用用引脚的的话,该该引脚会会有一些些应用上上的限制制,这在在相应的的dattashheett里面都都会有描描述,所所以在系系统规划划的时候候都要予予以注意意。 40.DDeltta-SSigmma软件测测量方式式,是什什么概念念? 答:Dellta-Siggma原理一一般应用用在ADC应用中中。具体体来说,Dellta-Siggma ADCC的
57、工作作原理是是由差动动器、积积分器和和比较器器构成调调制器,它它们一起起构成一一个反馈馈环路。调调制器以以大大高高于模拟拟输入信信号带宽宽的速率率运行,以以便提供供过采样样。模拟拟输入与与反馈信信号(误误差信号号)进行行差动 (ddeltta)比较。该该比较产产生的差差动输出出馈送到到积分器器(siigmaa)中。然然后将积积分器的的输出馈馈送到比比较器中中。比较较器的输输出同时时将反馈馈信号(误误差信号号)传送送到差动动器,而而自身被被馈送到到数字滤滤波器中中。这种种反馈环环路的目目的是使使反馈信信号(误误差信号号)趋于于零。比比较器输输出的结结果就是是1/00 流。该该流如果果1密度较较高
58、,则则意味着着模拟输输入电压压较高;反之,0密度较较高,则则意味着着模拟输输入电压压较低。接接着将1/0流馈送送到数字字滤波器器中,该该滤波器器通过过过采样与与抽样,将1/0流从高速率、低精度位流转换成低速率、高精度数字输出。 简而言之,Dellta就是差动动,Siggma就是积积分的意意思。Dellta-Siggma软件测测试,我我的理解解应该是是通过软软件模拟拟差动积积分的过过程。具具体来说说,就是是侦测外外部输入入的电压压(或者者电流)信信号变化化,然后后通过软软件积分分运算,得得出外部部信号随随时间变变化的基基本状况况。 41.通通常采用用什么方方法来测测试单片片机系统统的可靠靠性?
59、答:单片机机系统可可以分为为软件和和硬件两两个方面面,我们们要保证证单片机机系统可可靠性就就必须从从这两方方面入手手。 首先在设计计单片机机系统时时,就应应该充分分考虑到到外部的的各种各各样可能能干扰,尽尽量利用用单片机机提供的的一切手手段去割割断或者者解决不不良外部部干扰造造成的影影响。我我们以HOLLTEK最基本本的I/O单片机HT448R005A-1为例,它它内部提提供了看看门狗定定时器WDT防止单单片机内内部程序序乱跑出出错;提提供了低低电压复复位系统统LVR,当电电压低于于某个允允许值时时,单片片机会自自动RESEET防止芯芯片被锁锁死;HOLLTEKK也提供供了最佳佳的外围围电路连
60、连接方案案,最大大可能的的避免外外部干扰扰对芯片片的影响响。 当一个单片片机系统统设计完完成,对对于不同同的单片片机系统统产品会会有不同同的测试试项目和和方法,但但是有一一些是必必须测试试的: 测试单片片机软件件功能的的完善性性。 这是针针对所有有单片机机系统功功能的测测试,测测试软件件是否写写的正确确完整。 上电掉电电测试。在在使用中中用户必必然会遇遇到上电电和掉电电的情况况,可以以进行多多次开关关电源,测测试单片片机系统统的可靠靠性。 老化测试试。测试试长时间间工作情情况下,单单片机系系统的可可靠性。必必要的话话可以放放置在高高温,高高压以及及强电磁磁干扰的的环境下下测试。 ESD和和EF
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 双方调解协议书范本10篇
- (2024版)高级软件工程师岗位聘用合同
- 2024年度版权侵犯责任合同
- 2024年度研究生联合培养项目合作合同版B版
- 南京审计大学《习近平新时代中国特色社会主义思想概论》2023-2024学年第一学期期末试卷
- 《中职数学获奖教学设计方案》
- 南京农业大学《逻辑学》2022-2023学年第一学期期末试卷
- 南京农业大学《草食动物饲养学》2021-2022学年第一学期期末试卷
- 2024年度电力工程太阳能发电合同带眉脚
- 《如何应对心理压力》课件
- 呼吸系统疾病的常见并发症与护理
- 2024年中考语文文言文专题复习《湖心亭看雪》知识点检测题(含答案)
- 医院净水器购销合同
- 护士分层培训课件
- 粉尘爆炸案例及原理
- 2024年中国人保财险有限公司招聘笔试参考题库含答案解析
- 人才测评服务规范
- 学习中国工会十八大精神知识竞答试卷含答案
- 管理哲学导论(第3版) 课件 第八章 管理理论的综合与拓展
- 公共卫生与预防医学类专业大学生职业生涯规划书
- 20以内加减法口算题100道计时精编版(共计3500道)可直接打印
评论
0/150
提交评论