自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(0)
  • 资源 (12)
  • 问答 (1)
  • 收藏
  • 关注

空空如也

AP5056中文资料

AP5056中文资料

2013-04-24

三和电解电容规格型号列表

三和电解电容规格型号列表,三和电解电容规格型号列表

2013-04-24

单片机下载软件单片机下载软件

单片机下载软件单片机下载软件单片机下载软单片机下载软件件

2010-04-17

54/7404中文资料

54/7404中文资料,里边包含芯片电路原理图

2010-03-30

51单片机绝世秘宝,来看看就知道了

它是一本更能让你对单片机产生激情的书,学了它,你也差不多就是高手了

2009-05-02

你只有走过这本书,才会在单片机高速如门

这是一本能让你产生激清的入门书,不要错过哦,这是你成为高手的手选

2009-05-02

简明电子元件,新手上路首选

硬件高手必备电子知识——看图识元件 无论是硬件DIY爱好者还是维修技术人员,你能够说出主板、声卡等配件上那些小元件叫做什么,又有什么作用吗?如果想成为元件(芯片)级高手的话,掌握一些相关的电子知识是必不可少的。 譬如在检修某硬件时用万用表测量出某个电阻的阻值已为无穷大,虽然可断定这个电阻已损坏,但由于电脑各板卡及各种外设均没有电路图(只有极少数产品有局部电路图),故并不知电阻在未损坏时的具体阻值,所以就无法对损坏元件进行换新处理。可如果您能看懂电阻上的色环标识的话,您就可知道这个已损坏电阻的标称阻值,换新也就不成问题,故障自然也就会随之排除。 诸如上述之类的情况还有很多,比如元器件的正确选用等,笔者在此就不逐一列举了,下面笔者就来说一些非常实用的电子知识,希望大家都能向高手之路再迈上一 一、 电压,电流   电压和电流是亲兄弟,电流是从电压(位)高的地方流向电压(位)低的地方,有电流产生就一定是因为有电压的存在,但有电压的存在却不一定会产生电流——如果只有电压而没有电流,就可证明电路中有断路现象(比如电路中设有开关)。另外有时测量电压正常但测量电流时就不一定正常了,比如有轻微短路现象或某个元件的阻值变大现象等,所以在检修中一定要将电压值和电流值结合起来进行分析。在用万用表测试未知的电压或电流时一定要把档位设成最高档,如测量不出值来再逐渐地调低档位。 注:电压的符号是“V”,电流的符号是“A”。 二、电阻器   各种材料对它所通过的电流呈现有一定的阻力,这种阻力称为电阻,具有集总电阻这种物理性质的实体(元件)叫电阻器(简单地说就是有阻值的导体)。它的作用在电路中是非常重要的,在电脑各板卡及外设中的数量也是非常多的。它的分类也是多种多样的,如果按用处分类有:限流电阻、降压电阻、分压电阻、保护电阻、启动电阻、取样电阻、去耦电阻、信号衰减电阻等;如果按外形及制作材料分类有:金膜电阻、碳膜电阻、水泥电阻、无感电阻、热敏电阻、压敏电阻、拉线电阻、贴片电阻等;如果按功率分类有:1/16W、1/8W、1/4W、1/2W、1W……等等。 以上这些电阻都是常见的电阻,所以它们的阻值标称方法我们一定要知道,下面我就以电脑主机内各板卡上最为常见的贴片电阻为例介绍一下(其它的电阻标称方法同样):贴片电阻的标称方法有数字法和色环法这两种。先说数字法,通常有电阻上有三个数字XXX,前两个数字依次是十位和个位,最后的那个数字是10的X次方,这个电阻的具体阻值就是前两个数组成的两位数乘上10的X次方欧姆,如标有104的电阻器的阻值就是100000欧姆(即100KΩ)、标有473的电阻器的阻值就是47000欧姆(即47KΩ);下面笔者再说一下色环法,这个标称方法是在所有电阻标称法中最普遍的(贴片外形的相对较少),常见的色环通常有四个环,我们把金色或银色环定为最后的那一环,前三个环的颜色都对应着相应的数字,我们知道数字后就要用上面说的数字法读其阻值了,但我们一定要先知道什么颜色代表什么数字才行,所以我们一定要记住这样一个口诀——黑棕红橙黄绿蓝紫灰白,它们分别对应着0123456789,至于金色和银色分别表示10-1和10-2,这两色在四色环电阻中只是标明误差值而已,故只要了解就辛恕O旅嫖彝倭礁隼铀得鳎员憷斫饧且洌绫暧凶睾诨埔返牡缱杵鞯淖柚凳?00000欧姆(即100KΩ)、标有黄紫橙金色环的电阻的阻值是47000欧姆(即47KΩ)。 还有一种五色环电阻,这种电阻都是一些阻值相对较小、精度相对比较高的电阻器,由于在电脑外设中也有应用,所以我也介绍一下:它是以金色或银色为倒数第二个环,前三个色环分别是百位、十位、个位,最后一个色环是误差值,这样的电阻器的具体阻值就是前三个色环代表的三个数组成的三位数乘上10的负1次方或负2次方欧姆,如标有棕紫绿银棕色环的电阻器的阻值是1.75Ω。 关于电阻的一些基础知识也就这么多了,只是在代换时还要注意电阻的功率,通常用1/4或1/8的电阻来代换贴片电阻是没什么问题的。 注:采用数字法的贴片电阻器多为黑色,电阻在电路中的符号为“R”。 三、电容器  除电阻器外最常见的就是电容器了,简单地讲电容器就是储存电荷的容器。对于电容的外形可能多数搞硬件的人都知道,所以笔者只简单说一说。常见的电容按外形和制作材料分类可分为:贴片电容、钽电解电容、铝电解电容、OS固体电容、无极电解电容、瓷片电容、云母电容、聚丙稀电容。 其中贴片电容在电脑主机内的各种板卡上最为常见,但只有少量的贴片电容才有标识,有标识的贴片电容的容量读取方法和贴片电阻一样,只是单位符号为pF(1000000pF=1μF),至于多数贴片电容为什么多数都没有标识,我想可能与其不易损坏不无关系。在电脑电源盒和彩显以及很多外设中有很多瓷片电容和各种金属化电容,所以笔者也要说一下,这样的电容都属于无极性电容,它们的容量标称方法和数字型电阻一样,只是有的电容会用一个“n”,这个“n”的意思是1000,而且它的所处位置和容量值也有关系,如标称10n的电容的容量就是10000pF(即0.01μF)、标称为4n7的电容的容量就是4700pF(即4.7n)而并非是47000pF,至于这两种电容的耐压值,都是在电容上标出来的,如65V、100V、400V……等(只有少数不标,但通常也都在65V以上)。   下面我再说一说铝电解电容器,它的特点就是容量大且成本低,所以被广泛应用在各板卡上和电源盒中以及绝大多数的外设中。有的厂家为了降低生产成本,所以采用了很多耐压值相对比较低的电容,比如给5V的电压用耐压6.5V的滤波电容。虽然也能用,但故障率却稍高了一些,再加上它的热稳定性不是很高,所以更换铝电解电容器是很平常的事。只是在更换时要用耐压值在实际电压1.5倍以上的电容器,而且还要注意正负极不能够接反,尤其是电源部分的电解电容更要注意这两点,否则就可能会发生电容爆裂事件。   另外电容还有一个品牌问题,不同品牌的电阻只是误差值不一样而已,但不同品牌的电容就是寿命和质量的不同了,比如各种损耗和绝缘电阻以及温度系数的不同等。下面笔者就介绍几个比较好的品牌给大家:PHILIPS(飞利浦)、RubyconBLACK GATE(黑金钢)、Rubycon(红宝石)、ELNA、ROE、SOLEN、Nichicon、DECON、WIMA(此品1μF以上容量的电容非常贵)、RIFA、ERO,如果您实在认不好的话您只要记住凡是电容上有C、D两个字母(均为前缀)的电容都不要买,这样的电容都不是世界名厂生产的,甚至有些电容用在电脑板卡中可能还会造成不好的影响。这些电容只能用到对电容性能要求不是很高的产品中(比如用到4元钱一个的收音机中),其在容量和其它一些性能指标上的误差非常大,就算是新出厂的产品也就能保证4年左右能有比较好的性能,所以根本就不能装到电脑配件中。   注:贴片电容器多为灰色,电容在电路中的符号为“C”。 四、电感器   电感是用线圈制作的,它的作用多是扼流滤波和滤除高频杂波,它的外形有很多种:有的像电阻、有的像二极管、有的一看上去就是线圈。通常只有像电阻的那种电感才能读出电感值,因为只有这种有色环,其它的就没有了。贴片电感的外形和数字标识型贴片电阻是一样的,只是它没有数字,取而代之的是一个小圆圈。由于电感的使用数量不是太多,故大家只要了解一下就行了。另外在一定意义上说各种变压器其实都是由电感器组成的。   注:电感在电路中的符号为“L”。 五、二极管   二极管属于半导体,它由N型半导体与P型半导体构成,它们相交的界面上形成PN结。二极管的主要特点就是单向导通,而反向截止,也就是正电压加在P极,负电压加在N极,所以 二极管的方向性 是非常重要的。从二极管的作用上分类可分为:整流二极管、降压二极管、稳压二极管、开关二极管、检波二极管、变容二极管;从制作材料上可分为硅二极管和锗二极管。无论是什么二极管,都有一个正向导通电压,低于这个电压时二极管就不能导通,硅管的正向导通电压在0.6V~0.7V、锗管在0.2V~0.3V,其中0.7V和0.3V是二极管的最大正向导通电压——即到此电压时无论电压再怎么升高(不能高于二极管的额定耐压值),加在二极管上的电压也不会再升高了。   上面说了二极管的正向导通特性,二极管还有反向导通特性,只是导通电压要相对高出正向许多,其它的和正向导通差不太多。稳压二极管就是利用这个原理做成的,但由于这个理论说下去可能篇幅会太长,所以只做简介,您只要记住反向漏电流越小就证明这个二极管的质量越好,质量较好的硅管在几毫安至几十毫安之间、锗管在几十毫安至几百毫安之间。 下面再说一下不同的二极管的不同作用:彩显中有很多整流二极管,有四个整流二极管的作用是将220V的交流电变换成300V直流电,也就是最著名的整流桥电路,当然,有相当一部分彩显已将这四个二极管整合为一个硅堆了。不过无论是分立元件还是整合的,它们所使用的二极管都是低频二极管,但经过开关电源电路后输出的电压就要用开关二极管或快速恢复二极管了。这一点一定要记住,因为如果用低频二极管去对高频电压整流的话是会烧掉二极管的,甚至会烧坏其它元件。不过如果是将高频二极管用到低频电路中是没有问题的。另外二极管和电容一样是有耐压值的,所以只有耐压值高于实际电压的二极管才能放心使用。稳压二极管也很常见,它能将较高的电压稳定到它的额定电压值上,但是它的接法和二极管是相反的,因为它利用的是反向导通原理。 六、三极管   三极管的作用是放大或开关或调节,它在电脑主机中为数不多,但在显示器以及一些外设中的数量就不是很少了。它可按半导体基片材料的不同分为PNP型和NPN型,看到这大家不难理解三极管就是二个二极管结合到了一起而已。但是在这里P和N已经不是单纯的正或负极的关系了,而是分为B极(基极)、C极(集电极)、E极(发射极),无论是PNP型还是NPN型,B极都是控制极,只是PNP型三极管的B极要用低于发射极的电压进行导通控制,而NPN型三极管的B极要用高于发射极的电压进行导通控制罢了。另外三极管也有最大耐压值和最大功率值 的,所以要尽量避免小马拉大车的情怀发 生,不然的话后果可能就会很严重了。 注:三极管在电路中的符号是“VT”或“Q”或“V”。 七、电位器   电位器也可理解成阻值可变的可调电阻,但它并不同于可变电阻,电位器的引脚都在3脚以上。电位器的作用主要是调节各种信号或电压的值,除了主机中的各板卡以外,它的使用还是很广泛的,从彩显到有源多媒体音箱几乎所有设备都有电位器的存在。在通常情况下,我们最好不要去动电路中的电位器(机外各种调节旋钮电位器除外),尤其是电源部分的,因为很多值我们在手工条件下是根本无法调节到最佳值的。当然,如果是因为损坏而一定要更换时就另当别论了,但是也一定要选用同一规格的电位器且要把它调到和原电位器差不多的条件下再试机,这样做就可保险一些了。另外电位器的制作材料也是不尽相同的,大体上分三类:金属膜电位器、合成碳质电位器、金属-玻璃釉电位器。   注:在电路中电位器的符号为“W”。 八、稳压块和保险管   稳压块的作用是将电压进行降压处理并稳定为某一固定的值后输出,如三端稳压块7805可将小于35V的电压降成稳定的5V输出电压,它比只使用一只稳压二极管进行稳压的电路要好得多,成本也不是很高,所以应用还是很广泛的。   常见的三端稳压块可分为正电压稳压块和负电压稳压块两种,正电压的有78XX系列、负电压的有79XX系列,它们两个是不能互换使用的,所以大家在选用时不要弄混。当然,稳压块并非只有这两个系列,而且还有四端稳压块和五端稳压块,只是在电脑系统中这两个系列最为常见罢了;另外稳压块是有小、中、大功率之分的,在代换时不要用小功率的去代大功率的,但用大功率的去代换小功率的是没有任何问题的。 至于品牌方面也是有所讲究的,有些质量不好的稳压块的稳压值和标称值的误差是很大的,甚至有些品牌的稳压块的热稳定性能非常不好,常常引发奇怪的故障。在笔者用过的多个品牌的稳压块中有四个品牌的质量和性能算是很好的,它们分别是:ST(意法)、AN(松下)、LM(美国国半)、MC(摩托罗拉),它们具体的品牌可从型号的前缀中看出来。   说到保险管可能有人会说:“这有什么可说的啊?不就是细铜丝嘛!”。其实不然,保险管也是很有讲究的,保险管分为直流保险管和交流延时保险管两种,而且还有电流保险和电压保险之分,它们也是不能互换使用的,不然就很可能起不到保险作用了,甚至有时会一开机就烧保险,保险管的熔断电流一般在用电器额定电流的1.5~2倍之间才能起到较好的保险作用,所以在发现保险管熔断后应尽量采用和原保险管熔断电流相差不多的新保险管代替;另外保险管也是有耐压值,所以大家要格外注意,不然可能会连烧保险管的。 注:稳压块在电路中的符号是“IC”。 九、集成块   集成块可以说是电脑系统中各部件的主要核心部分,除了一些随处可见的模拟信号处理集成块以外,如CPU、RAM、ROM和南、北桥芯片以及显卡芯片等均属于集成块范畴。虽然集成块的数量多,作用最重要,但它的故障率却是最低的,如果没有高电压的“袭击”、外围元件的严重短路现象,基本上是不会损坏的,而且就算是坏掉了,有些集成块也是很难更换的。有很多人一听要更换集成块就会说万一不小心是会将新集成块被静电击穿的,其实不是所有集成块都怕人体或烙铁上的静电的,只有低电压的小信号处理COMS型集成块是怕这种静电的,所以大家不必太过于担心。 集成块的内部结构基本上全是半导体,它是将数以万计的晶体管集中制成一个何种很小的元件,正因为如此,有很多集成块是可以互相代换的,只要它们的引脚功能相同、工作电压一致、各引脚的电压也一样的话,就可以互换使用,这一特点对于某些在市场上买不到或售价过高的集成块的换新是非常有用的;另外集成块的质量是有产地之别的,进口货质量最好,合资产品次之,国产的集成块就最差了,所以它们的价钱也是相差悬殊的,最“悬”的时候会有10:1的差距;区分国产集成块并不是很难,型号前缀为“CD”的产品绝对是国产货,型号前缀为“OM”的可能是国产货也可能是合资产品。   注:集成块和我们常说的集成电路是一个概念,集成块在电路中的符号是“IC”或“N”或“U”。

2009-04-23

环绕声有源音箱的制作

现在喜欢音乐、爱好学习的朋友们手中的随身听越来越多,特别是MP3的出现,使得随身携带更加轻巧,而且档次也越来越高,功能也日求齐全,其音质和音色也愈来愈漂亮了。 但随身听一般输出功率不大,只有几十毫瓦左右,用耳机个人欣赏是不错的,但是多人欣赏时功率就显得不足了。特别是许大学生朋友,有时在宿舍里想让大家一起听听音乐,自己心爱的宝贝却无能为力了。市场上有售许多小音箱,但可惜均不带功率放大器,有的产品即使有此功能,音质也不尽人意。因此只有制作一对有源音箱,并加大功率输出,才能更好地发挥随身听的优良品质。特别值得一提的是:当你的随身听档次较高,具备三段均衡、杜比降噪、超低音控制时,用本章介绍的有源音箱放音,其重放效果将足以同市场上出售的成品套装音响相媲美。 所谓有源音箱,就是将功率放大器和扬声器制作在同一个箱体内,其体积并不大,占地面积也小,调节起来很方便。由于引线短,失真小,能实现更为精确的放音。 电路原理图如下: 在这款有源音箱的制作中,功放部分选用了集成电路TDA2822,其额定输出功率为2W×2,音乐功率可达2W×2,其中电阻构成环绕声处理部分,各自取出小部分信号互相叠加,使左声道信号中有右声道信号,右声道信号中有左声道信号,这样就构成了环绕声有源音箱。其中,TDA2822是一个性能颇为优秀的功率放大集成电路,它的使用电压范围宽,输出功率较足,失真小。 2、调试与安装   在对本电路进行设计时,考虑到体积做得较小,而现在的MP3等设备都具有音量调节功能,因此在本设计中,直接将输入信号进行放大,而不再加入音间调节电位器。如果你的随身听具备三段均衡控制,那么这环绕声有源音箱也就具有了频率均衡功能了,一般组合音响所具有的某些功能你也就有了。本人完成后用在电脑上听CD,音响效果极佳。有一点需要说明的是,由于本音响体积小巧,因此线路板的设计时元件的安装都是紧凑型安装,几件元件的安装如下图: 喇叭和电源指示灯的安装 线路板的安装及引线的连接图 线路板上元器件的安装 在安装电容时,一定要注意,全部横卧式安装,否则合子中无法装下!!!还有一点需要说明的是,在焊接电源插座时,由于线路板上焊接处涂上了阻焊层,请用刀片先将绿色的阻焊层刮去,露出铜片后再焊接。

2009-04-21

c语言编写单片机技巧

1. C语言和汇编语言在开发单片机时各有哪些优缺点? 答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。 C语言是一种结构化的高级语言。其优点是可读性好,移植容易,是普遍使用的一种计算机语言。缺点是占用资源较多,执行效率没有汇编高。 对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什幺动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在单片机开发中,我们还是建议采用汇编语言比较好。 如果对单片机C语言有兴趣,HOLTEK-p.htm" target="_blank" title="HOLTEK货源和PDF资料">HOLTEK的单片机就有提供C编译器,可以到HOLTEK-p.htm" target="_blank" title="HOLTEK货源和PDF资料">HOLTEK的网站(www.holtek.com.cn )免费下载使用。 2. C或汇编语言可以用于单片机,C++能吗? 答:在单片机开发中,主要是汇编和C,没有用C++的。 3. 搞单片机开发,一定要会C吗? 答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。 对于目前普遍使用的RISC架构的8bit MCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什么动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在资源较少单片机开发中,我们还是建议采用汇编语言比较好。 而C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言有功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。C语言是一种结构化程序设计语言,它支持当前程序设计中广泛采用的由顶向下结构化程序设计技术。此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。因此,使用C语言进行程序设计已成为软件开发的一个主流。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统。 综上所述,用C语言进行单片机程序设计是单片机开发与应用的必然趋势。所以作为一个技术全面并涉足较大规模的软件系统开发的单片机开发人员最好能够掌握基本的C语言编程。 4. 当开发一个较复杂而又开发时间短的项目时,用C还是用汇编开发好? 答:对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求对该MCU系统的C语言和C编译器非常熟悉,特别要注意该C编译系统所能支持的数据类型和算法。虽然C语言是最普遍的一种高级语言,但不同的MCU厂家其C语言编译系统是有所差别的,特别是在一些特殊功能模块的操作上。如果对这些特性不了解,那调试起来就有的烦了,到头来可能还不如用汇编来的快。 5. 在教学中要用到8088和196芯片单片机教材,请问那里可以找到关于这方面的书或资料? 答:有关这方面的教材,大学里常用的一本是《IBM-PC汇编语言程序设计》清华大学出版社出版的,在网上以及书店都是可以找到的,另外网上还可以搜索到很多其他的教材如:《微机原理及汇编语言教程》(杨延双 张晓冬 等编著 )和《16/32 位微机原理、汇编语言及接口技术》(作者: 钟晓捷 陈涛 ,机械工业出版社 出版)等,可以在较大型的科技书店里查找或者直接从网上订购。 6. 初学者到底是应该先学C还是汇编? 答:对于单片机的初学者来说,应该从汇编学起。因为汇编语言是最接近机器码的一种语言,可以加深初学者对单片机各个功能模块的了解,从而打好扎实的基础。 7. 我是一名武汉大学电子科技大3的学生,学了电子线路、数字逻辑、汇编和接口、C语言,但是总是感觉很迷茫,觉好象什么都不会。怎么办? 答:大学过程是一个理论过程,实践的机会比较少,往往会造成理论与实践相脱节,这是国内大学教育系统的通病,不过对于学生来说切不可好高骛远。一般从大三会开始接触到一些专业课程,电子相关专业会开设相关的单片机应用课程并且会有简单的实验项目,那么要充分把握实验课的机会,多多地实际上机操作练习。平时可以多看看相关的电子技术杂志网站,看看别人的开发经验,硬件设计方案以及他人的软件设计经验。有可能的话,还可以参加一些电子设计大赛,借此机会2--3个人合作做一个完整系统,会更有帮助。到了大四毕业设计阶段,也可以选择相关的课题作些实际案例增长经验。做什么事情都有个经验的积累过程,循序渐进。 8. 请问作为学生,如何学好单片机? 答:学习好单片机,最主要的是实践,在实践中增长经验。在校学生的话,实践机会的确会比较少,但是有机会的话,可以毕业实习选择相关的课题,这样就可以接触到实际的项目。而且如果单片机微机原理是一门主课的话,相信学校会安排比较多的实践上机机会。有能力的话,可以找一些相关兼职工作做做,会更有帮助。而且单片机开发应用需要软硬件结合,所以不能只满足于编程技巧如何完美,平时也要注意硬件知识的积累,多上上电子论坛网站,买一些相关杂志。可能的话,可以到ic37去买一些小零件,自己搭一个小系统让它工作起来。 HOTLEK的单片机是RISC结构的8位单片机,它可以广泛应用在家用电器、安全系统、掌上游戏等方面。大概来说可以分成I/O型单片机、LCD型单片机、A/D型单片机、A/D with LCD型单片机等等。这些单片机的中文资料我们都公开在HOLTEK-p.htm" target="_blank" title="HOLTEK货源和PDF资料">HOLTEK网站www.holtek.com.cn 。 HOLTEK-p.htm" target="_blank" title="HOLTEK货源和PDF资料">HOLTEK各类单片机的使用手册下载地址: http://www.holtek.com.cn/referanc/htk_book.htm HOLTEK-p.htm" target="_blank" title="HOLTEK货源和PDF资料">HOLTEK单片机软件/硬件应用范例下载地址: http://www.holtek.com.cn/tech/appnote/appnote.htm HOLTEK-p.htm" target="_blank" title="HOLTEK货源和PDF资料">HOLTEK单片机支持工具下载地址: http://www.holtek.com.cn/tech/tool/tool.htm 9. 如何才能才为单片机的高手啊? 答:要成为单片机高手,应该多实践,时常关注单片机的发展趋势;经常上一些相关网站,从那里可以找到许多有用的资料。 10. 女性是否适合单片机软件编程这个行业? 答:要根据自己的兴趣,配合自己对软件编程的耐性,男女皆适合这个行业。 11. Holtek的数据手册在哪里下载? 答:如果对Holtek的IC感兴趣的话,相应的数据手册可以到网站上http://www.holtek.com.cn/products/index.htm去选IC资料下载。 12. 8位机还能延续多久! 答:以现在MCU产品主力还是在8位领域,主要应用于汽车应用、消费性电子、电脑及PC周边、电信与通讯、办公室自动化、工业控制等六大市场,其中车用市场多在欧、美地区,而亚太地区则以消费性电子为主, 并以量大低单价为产品主流,目前16位MCU与8位产品,还有相当幅度的价差,新的应用领域也仍在开发,业界预计,至少在2005年前8位的MCU仍是MCU产品的主流。 13. 学习ARM及嵌入式系统是否比学习其它一般单片机更有使用前景?对于一个初学者应当具备哪些相关知识? 答:一般在8位单片机与ARM方面的嵌入式系统是有层次上的差别,ARM适用于系统复杂度较大的高级产品,如PDA、手机等应用。而8位单片机因架构简单,硬件资源相对较少,适用于一般的工业控制、消费性家电等等。对于一个单片机方面的软件编程初学者,应以HOLTEK-p.htm" target="_blank" title="HOLTEK货源和PDF资料">HOLTEK系列或8051等8位单片机来做入门练习。而初学者应当具备软件编程相关知识,单片机一般软件编程是以汇编语言为主,各家有各家的语法,但大都以RISC的MCU架构为主,其中 RISC (Reduced Instruction Set Computer) 代表MCU的所有指令。都是利用一些简单的指令组成的,简单的指令代表 MCU 的线路可以尽量做到最佳化,而提高执行速率。另外初学者要具备单片机I/O接口的应用知识,这在于周边应用电路及各种元器件的使用,须配合自己所学的电子学及电路学等。 14. 符合44PIN的80系列8位单片机的MCU有哪些? 答:符合44PIN的80系列8位单片机有Z8674312FSC、Z86E2112FSC、Z86E2116FSC。 15. 请介绍一下MCU的测试方法。 答: MCU从生产出来到封装出货的每个不同的阶段会有不同的测试方法,其中主要会有两种:中测和成测。 所谓中测即是WAFER的测试,它会包含产品的功能验证及AC、DC的测试。项目相当繁多,以HOLTEK-p.htm" target="_blank" title="HOLTEK货源和PDF资料">HOLTEK产品为例最主要的几项如下:  接续性测试:检测每一根I/OPIN内接的保护用二极管是否功能无误。  功能测试:以产品设计者所提供测试资料(TEST PATTERN)灌入IC,检查其结果是否与当时SIMULATION时状态一样。  STANDBY电流测试:测量IC处于HALT模式时即每一个接点(PAD)在1态0态或Z态保持不变时的漏电流是否符合最低之规格。  耗电测试:整颗IC的静态耗电与动态耗电。  输入电压测试:测量每个输入接脚的输入电压反应特性。  输出电压测试:测量每个输出接脚的输出电压位准。  相关频率特性(AC)测试,也是通过外灌一定频率,从I/O口来看输出是否与之匹配。  为了保证IC生产的长期且稳定品质,还会做产品的可靠性测试,这些测试包括ESD测试,LATCH UP测试,温度循环测试,高温贮存测试,湿度贮存测试等。 成测则是产品封装好后的测试,即PACKAGE测试。即是所有通过中测的产品封装后的测试,方法主要是机台自动测试,但测试项目仍与WAFER TEST相同。PACKAGE TEST的目的是在确定IC在封装过程中是否有任何损坏。 16. 能否利用单片来检测手机电池的充放电时间及充放电时的电压电流变化,并利用一个I/O端口使检测结果在电脑上显示出来? 答:目前市场上的各类智能充电器,大部分都采用MCU进行充电电流和电压的控制。至于要在电脑上显示,好象并不实用,可能只有在一些专门的电池检测仪器中才会用到;对于一般的手机用户来说,谁会在充电时还需要用一台电脑来做显示呢?要实现单片机与电脑的连接,最简单的方式就是采用串口通讯,但需要加一颗RS-232芯片。 17. 在ARM编程中又应当如何? 答:就以嵌入式系统观念为例,一般嵌入式处理器可以分为三类:嵌入式微处理器、嵌入式微控制器、嵌入式DSP(Digital Signal Processor)。 嵌入式微处理器就是和通用计算机的微处理器对应的CPU。在应用中,一般是将微处理器装配在专门设计的电路板上,在母板上只保留和嵌入式相关的功能即可,这样可以满足嵌入式系统体积小和功耗低的要求。目前的嵌入式处理器主要包括:PowerPC、Motorola 68000、ARM系列等等。 嵌入式微控制器又称为单片机,它将CPU、存储器(少量的RAM、ROM或两者都有)和其它接口I/O封装在同一片集成电路里。常见的有HOLTEK-p.htm" target="_blank" title="HOLTEK货源和PDF资料">HOLTEK MCU系列、Microchip MCU系列及8051等。 嵌入式DSP专门用来处理对离散时间信号进行极快的处理计算,提高编译效率和执行速度。在数字滤波、FFT(Fast Fourier Transform)、频谱分析、图像处理的分析等领域,DSP正在大量进入嵌入式市场。 18. MCU在射频控制时,MCU的时钟(晶振)、数据线会辐射基频或基频的倍频,被低噪放LNA放大后进入混频,出现带内的Spur,无法滤除。除了用layout、选择低辐射MCU的方法可以减少一些以外,还有什么别的方法? 答:在设计高频电路用电路板有许多注意事项,尤其是GHz等级的高频电路,更需要注意各电子组件pad与印刷pattern的长度对电路特性所造成的影响。最近几年高频电路与数位电路共享相同电路板,构成所谓的混载电路系统似乎有增加的趋势,类似如此的设计经常会造成数位电路动作时,高频电路却发生动作不稳定等现象,其中原因之一是数位电路产生的噪讯,影响高频电路正常动作所致。为了避免上述问题除了设法分割两电路block之外,设计电路板之前充分检讨设计构想,才是根本应有的手法,基本上设计高频电路用电路板必需掌握下列三大原则:  高质感。  不可取巧。  不可仓促抢时间。 以下是设计高频电路板的一些建议: (1)印刷pattern的长度会影响电路特性。尤其是传输速度为GHz高速数位电路的传输线路,通常会使用strip line,同时藉由调整配线长度补正传输延迟时间,其实这也意味着电子组件的设置位置对电路特性具有绝对性的影响。 (2)Ground作大better。铜箔面整体设置ground层,而连接via的better ground则是高频电路板与高速数位电路板共同的特征,此外高频电路板最忌讳使用幅宽细窄的印刷pattern描绘ground。 (2)电子组件的ground端子,以最短的长度与电路板的ground连接。具体方法是在电子组件的ground端子pad附近设置via,使电子组件能以最短的长度与电路板的ground连接。 (3)信号线作短配线设计。不可任意加大配线长度,尽量缩短配线长度。 (4)减少电路之间的结合。尤其是filter与amplifier输出入之间作电路分割非常重要,它相当于audio电路的cross talk对策。 (5)MCU回路Layout考量:震荡电路仅可能接近IC震荡脚位;震荡电路与VDD & VSS保持足够的距离;震荡频率大于1MHz时不需加 osc1 & osc2 电容;电源与地间要最短位置并尽量拉等宽与等距的线,于节点位置加上104/103/102等陶瓷电容。 19. Intel系列的96单片机80c196KB开发系统时,都有那些注意事项? 答:一个即时系统的软体由即时操作系统加上应用程序构成。应用程序与作业系统的接口通过系统调用来实现。用80C196KB-p.htm" target="_blank" title="80C196KB货源和PDF资料">80C196KB作业系统的MCU,只能用内部RAM作为TCB和所有系统记忆体(含各种控制表)以及各个任务的工作和资料单元。因此一定要注意以下几点: (1)对各个任务分配各自的堆迭区,该堆迭区既作为任务的工作单元,也作为任务控制块的保护单元。 (2)系统的任务控制块只存放各任务的堆迭指标,而任务的状态均存放于任务椎栈中。在一个任务退出运行时,通过中断把它的状态进栈,然后把它的堆迭指标保存于系统的TCB中;再根据优先取出优先顺序最高的已就绪任务的堆迭指标SP映象值送入SP中;最后执行中断返回指令转去执行新任务。 (3)各任务的资料和工作单元尽量用堆迭实现,这样可以允许各任务使用同一个子程序。使用堆迭实现参数传递并作为工作单元,而不使用绝对地址的RAM,可实现可重入子程序。该子程序既可为各个任务所调用,也可实现递回调用。 20. 在demo板上采样电压时,不稳定,采样结果有波动,如何消除? 答:一般来说,仿真器都是工作在一个稳压的环境(通常为5V)。如果用仿真器的A/D时,要注意其A/D参考电压是由仿真器内部给出,还是需要外部提供。A/D转换需要一个连续的时钟周期,所以在仿真时不能用单步调试的方法,否则会造成A/D采样值不准。至于A/D采样不稳定,可以在A/D输入口加一电容,起到滤波作用;在软件处理时采用中值滤波的方法。 21. 在车载DVD系统中,如何设计电子防震系统? 答:在车载DVD系统,最好选择高档DVD机,因为高档DVD机都采用电子防震系统(ADVANCEDESP),当记忆缓冲区内的读数降低,先进的电子防震设计会以双速读数系统,做出比正常速度快两倍的读数速率,以减低噪声,即使连续震荡仍可避免跳线情况出现,现在就说说什幺叫电子防震。简单地说:电子防震就是一个信号的储存--释放过程,首先CD要先把信号进行提前读取,也就是我们见到机子的加速,再把信号储存在RAM中,而我们在开防震的时候所听到的就是经过RAM的声音,这样就是它的过程。当没有防震时是由于信号是1比1读取的,所以当受到冲击后,就会出现跳音。而当开了防震时,机子受到冲击后,由RAM释放出来的声音使音乐不停地播放,而与此同时,光头迅速进行复位检索,当检索到信号后立即补充,所以不会出现跳音。大概的情况就是这样。但是这样还没有满足用家的要求,由于这种的方法带来的时间短,通常只有3秒,所以跳音的机会还是蛮高,如果增大RAM又带来造价的增高因为RAM这东西价格较贵,尤其是质量好的。 22. 在电子防震技术中,有那些IC或器件可供选择? 答:在电子防震技术中,最重要的技术之一要数是RAM技术,而一直以来都是因为它的成本问题,所以防震时间都一直不能增加,也就是说RAM本身就有限制,RAM的容量越大,造价就越高。而许多厂家就如何在RAM的限制里得到最大限度的记忆时间展开了开发研究。 23. 如何进行编程可以减少程序的bug? 答:在此提供一些建议,因系统中实际运行的参数都是有范围的。系统运行中要考虑的超范围管理参数有:  物理参数。这些参数主要是系统的输入参数,它包括激励参数、采集处理中的运行参数和处理结束的结果参数。合理设定这些边界,将超出边界的参数都视为非正常激励或非正常回应进行出错处理。  资源参数。这些参数主要是系统中的电路、器件、功能单元的资源,如记忆体容量、存储单元长度、堆迭深度。在程序设计中,对资源参数不允许超范围使用。  应用参数。这些应用参数常表现为一些单片机、功能单元的应用条件。如E2PROM的擦写次数与资料存储时间等应用参数界限。  过程参数。指系统运行中的有序变化的参数。 在上述参数群对一程序编写者而言,须养成良好习惯,在程序的开头,有顺序的用自己喜欢文字参数对应列表来替代,然后用自己定义的文字参数来编写程序,这样在做程序的修改及维护时只在程序的开头做变动即可,不用修改到程序段,才比较容易且不会出错。 24. 有人认为单片机将被ARM等系列结构的嵌入式系统所取代。单片机的生命期还有多长? 答:因为8位单片机与嵌入式系统的ARM在功能结构和单价的差异,故应用层次上就有很大的不同。 ARM适用于系统复杂度较大的高级产品,如PDA、手机等应用。 而8位单片机因架构简单,硬件资源相对较少,适用于一般的工业控制,消费性家电……等等。评估单片机近期是否会给ARM取代,要观察两个因素:  芯片成本 因ARM的工作频率较高,电路较庞大,所需的芯片制造工艺要求在0。25U以上,成本较高。8位单片机工作频率相对较低,电路较小,所需的芯片制造工艺在0。5U 即可,成本较低。  功能定位 ARM的功能较单片机强,但两者定位不同。就如现阶段不会有人用ARM去作一个简单的工业定时开关。当然,如果两者单价相同也无不可,但现实是有很大的单价差距。 至于将来,因芯片制造成本会不断下降,上述的成本差异影响愈来愈少!但我估计在往后5年单片机仍有价格优势,仍能存活!但ARM是否会精简架构,降低成本,抢夺低阶市场?我想可能性不大,ARM应该会向上发展。同样,单片机也只能向上发展,如16位,高功能……等。 原因就是因为芯片制造工艺进步太快。压迫芯片设计往高集成发展。 25. 在单片机C编成时,如何才能使生成的代码具有和汇编一样的效率? 答:如果是使用C语言编程时,不太可能生成的代码具有1:1和汇编一样的效率。 C语言命令要被硬件识别并执行,必须通过编译器编译。编译器分为前端、中端、后端。前端与各种计算机语言写的程序打交道,后端与处理器的基本指令集接轨。所以如果使用C编程时,要达到最高的效率,最好能够很了解所使用的C编译器。先试验一下每条C语言编译以后对应的汇编语言的语句行数,这样就可以很明确的知道效率。在今后编程的时候,使用编译效率最高的语句,这样就能确保单片机C编程的时候同样的功能不同的C程序,编译效率最高。但是各家的C编译器都会有一定的差异,优秀的嵌入式系统C编译器代码长度和执行时间仅比以汇编语言编写的同样功能程度长5-20%,所以不同厂家的C编译器的编译效率也会有所不同。 26. ARM单片机和哪种内核的单片机比较接近? 答:严格的说,ARM不是单片机,是一个嵌入式的实时操作系统。ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。ARM将其技术授权给世界上许多著名的半导体、软件和OEM厂商,每个厂商得到的都是一套独一无二的ARM相关技术及服务。所以市场上像Intel、IBM、LG半导体、NEC、SONY、菲利浦和国半这样的大公司都有ARM系列,现在不存在什幺ARM单片机和哪种内核的单片机比较接近的问题。而且由于厂家购买内核后会根据自己芯片应用方向的不同,自行添加不同的外挂功能模块,所以,同样内核的芯片其提供的功能是不同的。 27. 从51转到ARM会有困难吗? 答:从51转到ARM,其实编程之类的原理都是一样的,但是要注意的是ARM是一个RISC的架构,在ARM的应用开放源代码的程序很多,要想提高自己,就要多看别人的程序,linux,uc/os-II等等这些都是很好的源码。 28. 我学过MCS51单片机教材,很有兴趣,但缺乏实践经验,手头没有任何道具可供演练,资金又有限,请问该怎么办? 答:在没有任何条件进行实践时,如果真的有兴趣,可以下载一些具有软件仿真功能仿真软件进行一些编程,像一些做得比较好的51仿真软件应该具有这种功能。HOLTEK-p.htm" target="_blank" title="HOLTEK货源和PDF资料">HOLTEK的仿真软件HT-IDE3000也具有相应的功能,同时它还具有LCD软件仿真,周边电路的软件仿真。有兴趣的话,也可以去免费下载使用:http://www.holtek.com.cn/tech/tool/ide.htm。同时可以到一些ic37去购买一些简单器件自己练习搭一下电路以加强硬件方面的知识。 29. 如果已经有了针对某MCU的C实现的某个算法,保持框架不变,对核心的部分用汇编优化,有没有一些比较通用的原则? 答:每个人的编程都有自己的风格与习惯,如果要利用别人的程序,在其中修修改改,如果他的程序并没有很好的模块化的话,建议最好不要这幺做,否则本来预期达到事倍功半,说不定反而事半功倍了。要参考他人的程序当然可以,但是首要是要看懂并理解他人程序的算法精髓,而不是在他的基础上打补丁。而关于算法方面的优化,可以购买一些数据结构的书籍,上面有比较详细的说明。 30. 如果准备估计一个算法的MIPS,有什么好的途径? 答:算法的运行时间是指一个算法在计算机上运算所花费的时间。它大致等于计算机执行简单操作(如赋值操作,比较操作等)所需要的时间与算法中进行简单操作次数的乘积。通常把算法中包含简单操作次数的多少叫做算法的时间复杂性。它是一个算法运行时间的相对量度,一般用数量级的形式给出。度量一个程序的执行时间通常有两种方法:  一种是事后统计的方法。因为很多计算机内部都有计时功能,不同算法的程序可通过一组或若干组相同的统计数据以分辨优劣。但这种方法有两个缺陷:一是必须先运行依据算法编制的程序;二是所得时间的统计量依赖于计算机的硬件、软件等环境因素,有时容易掩盖算法本身的优劣。因此人们常常采用另一种事前分析估算的方法。  一种是事前分析估算的方法。一个程序在计算机上运行时所消耗的时间取决于下列因素: (1)依据的算法选用何种策略; (2)问题的规模。例如求100以内还是1000以内的素数; (3)书写程序的语言。对于同一个算法,实现语言的级别越高,执行效率就越低; (4)编译程序所产生的机器代码的质量。这个跟编译器有关; (5)机器执行指令的速度。 显然,同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行时,效率均不相同。这表明使用绝对的时间单位衡量算法的效率是不合适的。撇开这些与计算机硬件、软件有关的因素,可以认为一个特定算法"运行工作量"的大小,只依赖于问题的规模(通常用整数量n表示),或者说,它是问题规模的函数。 一个算法是由控制结构(顺序、分支和循环三种)和原操作(指固有数据类型的操作)构成的,则算法时间取决于两者的综合效果。为了便于比较同一问题的不同算法,通常的做法是,从算法中选取一种对于所研究的问题(或算法类型)来说是基本运算的原操作,以该基本操作重复执行的次数作为算法的时间度量。 算法的MIPS有专门的一门学问,可以去好好参考相关的数据结构书籍。 31. 遥控的编解码思路和设计流程是怎样的? 答:一般来说完整的遥控码分为头码、地址码、数据码和校验码四个组成部分。头码根据不同的厂家各不相同,地址码和数据码都由逻辑“1”和逻辑“0”组成。编码的设计目的,就是按照编码规则发送不同的码值。我们最常见的码型有SONY、松下、NEC等厂家型号。遥控编码芯片最常用的是在空调、DVD、车库门等遥控器上。 设计编码程序可以分为三个部分。 第一部分是了解码型的特性。遥控码的头码和地址码(也称为客户码)是固定不变的,数据码和校验码根据不同的键值而改变。 第二部分是计算发码时间。遥控码大部分都是由逻辑“1”和逻辑“0”组成,也就是由一串固定占空比、固定周期的方波所组成。通常这些方波的周期是毫秒甚至微秒等级,需要在时间上计算的比较精确。所以选择发码单片机型号的时候,就要考虑到单片机的运行速度是不是够快,以及程序运行时间够不够。 第三部分就是程序的编写。选定单片机型号之后,开始设计程序流程。一般来说我们使用I/O口就可以做发码的输出端口。发码程序一般由几个子程序组成,头码子程序、逻辑1子程序,逻辑0子程序以及校验码的算法子程序。一旦我们得到要发送码的命令后,首先调用头码子程序,然后根据客户码和键值调用逻辑1子程序或者逻辑0子程序,最后调用校验码算法子程序输出校验码。 HOLTEK-p.htm" target="_blank" title="HOLTEK货源和PDF资料">HOLTEK公司的HT48CA0/HT48RA0、HT48CA3/HT48RA3和HT48CA6是专为遥控器设计的单片机,它们具有专门红外输出口,可以实现绝大部分发码的要求。 设计解码程序也可以分为三部分。 第一部分了解编码波形特性。从分析编码的高、低脉冲宽度入手,了解逻辑“1”和逻辑“0”的波形占空比、周期。了解头码的特性。 第二部分确定接收方式。一般我们可以用I/O口查询方法或者INT口中断响应方法来接收编码。这两者的区别是I/O口查询方式比较耗费单片机的运行时间资源,需要不断的去侦测I/O的电平变化,以免漏掉有效的码值;而INT口中断接收方式则比较节省资源,当外部有电平变化时,单片机才需要去处理,不需要时刻进行侦测。但是INT口中断接收方式不能辨别相同周期不同占空比的波形特性,当编码所携带的逻辑“1”和逻辑“0”具有这种特性时,就无法通过INT口中断接收方式来辨别了,因为INT中断只是在上升沿或者下降沿的时候才触发。 第三部分将接收的码值存储并分析执行。根据判断高低电平的宽度(定时器或者延时),可以得到码值,也就是我们所说的解码。一般我们连续收到3个相同的完整码值,就确认此码的确被发出,并接收成功。当解码结束,根据码值我们可以判断出是哪个按键被按下,由此去执行相对的按键功能。 HOLTEK-p.htm" target="_blank" title="HOLTEK货源和PDF资料">HOLTEK公司的HT48以及HT49(带LCD)系列单片机,都可以符合大多数解码的任务。 32. 在学习单片机的过程中,如何理解预分频,12时钟模式(6时钟模型)等概念? 答:预分频器的英文是prescaler。它就是将输入的频率信号分频,然后再输出。HOLTEK-p.htm" target="_blank" title="HOLTEK货源和PDF资料">HOLTEK公司有一款最基本的8位I/O型单片机HT48R05A-1,我们就以这款单片机为例说明。HT48R05A-1有一个8位向上计数的定时器Counter。系统时钟Fsys(4MHz)进入八阶预分频器(8-stage Prescaler)进行分频,再进入定时计数器Counter计数。根据软件设置,预分频器可以将Fsys进行2的n次方分频(n=1~8)。举例来说,如果软件设置为预分频器2分频,那幺预分频器输出的频率就是Fsys/2=2MHz,这个2MHz信号再进入定时计数器Counter。 如果需要HT48R05A-1或者其它各类HOLTEK-p.htm" target="_blank" title="HOLTEK货源和PDF资料">HOLTEK单片机的详细资料,可以在如下地址下载:http://www.holtek.com.cn/referanc/htk_book.htm 。 12时钟模式(6时钟模型)应该就是在MCS51系列中,12个系统时钟为一个机器周期,2个系统时钟为一个状态,即一个机器周期有6个状态。 33. A/D、D/A的采样速率与其它单片机相比有什么优势? 答:HOLTEK-p.htm" target="_blank" title="HOLTEK货源和PDF资料">HOLTEK A/D Tyep MCU内嵌逐位逼近的A/D转换电路,精度有8bit/9bit/10bit,A/D转换时间最快为76us。 至于D/A,一般是指PWM输出,HOLTEK-p.htm" target="_blank" title="HOLTEK货源和PDF资料">HOLTEK A/D Type MCU都带有8bit的PWM输出,但HOLTEK-p.htm" target="_blank" title="HOLTEK货源和PDF资料">HOLTEK PWM的特点是其输出频率由系统频率决定(既系统频率选定后,PWM频率也就定了),其占空比通过对[PWM]寄存器赋值进行控制,不需要占用定时/计数器资源。 34. 采用AT89S51时,出现了按了复位按钮,RAM中的数据被修改了。这是怎么回事?注:数据放在特殊寄存器之外。 答:如果是RESET脚的复位按钮:一般MCU的RESET复位,其特殊寄存器会被重新初始化,而通用寄存器的值保持不变。 如果复位按钮是电源复位:那就是MCU的上电复位,其特殊寄存器会被初始化,而通用寄存器的值是随机数。 35. 将P2.7用来驱动一个NPN三极管,中间串接了一个1K的电阻。问题是:当我尝试向P2.7写’1’时,发现管脚只能输出大约0.5V的一个电平。这个电路的使用得妥当么?如何正确的使用IO功能? 答:是在仿真时遇到的问题,还是烧录芯片后遇到的问题? 可以先将P2.7的外部电路断开,测量输出电压是否正常。如果断开后输出电压正常,那就说明P2.7的驱动能力不够,不能驱动NPN三极管,应该改用PNP三极管(一般在MCU应用中,都采用PNP方式驱动)。如果断开后输出电压还不正常,那有可能是仿真器(或芯片)已经损坏。 36. 在做充电管理的时候,提高pwm的频率往往以牺牲精度为代价,如果用的AT90S4433(avr)、78P458(elan)频率分别做到16kHz(8bit)和32kHz(8bit),而希望做到的是100kHz(8bit以上),诸如atiny15那样。怎么办? 答:你所说的PWM是通过定时/计数器来控制其频率和占空比的,所以要提高频率,必然会降低精度。如果要提高PWM的频率,只能通过提高系统振荡频率来解决。 37. 汽车电子用的单片机是8位多,还是32位?如何看待单片机在汽车ic37中的前景? 答:现今汽车制造也是一个进步很快的工业,特别是电子应用于汽车上,令多种新功能得以实现。 总的来说,汽车电子应用分三部份。  汽车发动机控制:限速控制,涡轮增压,燃料喷注控制等。  汽车舒适装置:遥控防盗系统,自动空调系统,影音播放系统,卫星导航系统等。  汽车操控和制动:刹车防抱死系统(ABS),循迹系统(TCS),防滑系统(ASR),电子稳定系统(ESP)等。 汽车上的各系统繁多,且日新月异,故利用何种单片机是依各系统规格,要求不一,但有一样可肯定是该单片机要符工业规格,才能忍受汽车应用的恶劣环境,高温,电源干扰,可靠度要求。不同档次的汽车其功能配置相对亦有差别,故8位单片机在较低阶的系统如机械控制,遥控防盗等应该还有空间,但高阶的系统如影音、导航及将来的无人驾驶,就非一般单片机能实现。 因汽车工业现阶段由欧美日数个大集团所把持,相关的汽车电子配件各集团会挑选单片机大厂合作, 故汽车内置的电子系统亦由单片机大厂把持,市场只剩外置系统如遥控防盗,影音导航供小厂开发。 38. 在使用三星的s3c72n4时,觉得它的time/counter不够用。现在要同时用到3个counter,该怎么办? 答:您是需要三个外部counter还是需要三个定时器?如果是三个定时器标志的话,可以取这三个定时最基本的时基作为timer的基础计数,然后以这个时基来计算这三个需要的计数标志的flag,在程序中只需要查询flag是否到,再采取动作。 如果要3个外部脉冲计数的话,这个有一定的难度,如果外部脉冲不是很频繁,可以考虑通过外部中断进行,但是这个方法必须是外部脉冲的频率与MCU执行速度有一定的数量级差,否则mcu可能无法处理其它程序,一直在处理外部中断。 39. 在芯片集成技术日益进步的今天,单片机的集成技术发展也很迅速,在传统的40引脚的基础上,飞利浦公司推出20引脚的单片机系列,使很多的引脚可以复用,这种复用技术的使用在实际应用中会不会影响其功能的执行? 答:现在有很多品牌的单片机都有引脚复用功能,不止飞利浦一家,应该说这个方式前几年就已经有了。在实际应用中不会影响其功能的执行,但是要注意的是,有的MCU如果采用复用引脚的话,该引脚会有一些应用上的限制,这在相应的datasheet里面都会有描述,所以在系统规划的时候都要予以注意。 40. Delta-Sigma软件测量方式,是什么概念? 答:Delta-Sigma原理一般应用在ADC应用中。具体来说,Delta-Sigma ADC的工作原理是由差动器、积分器和比较器构成调制器,它们一起构成一个反馈环路。调制器以大大高于模拟输入信号带宽的速率运行,以便提供过采样。模拟输入与反馈信号(误差信号)进行差动 (delta)比较。该比较产生的差动输出馈送到积分器(sigma)中。然后将积分器的输出馈送到比较器中。比较器的输出同时将反馈信号(误差信号)传送到差动器,而自身被馈送到数字滤波器中。这种反馈环路的目的是使反馈信号(误差信号)趋于零。比较器输出的结果就是1/0 流。该流如果1密度较高,则意味着模拟输入电压较高;反之,0密度较高,则意味着模拟输入电压较低。接着将1/0流馈送到数字滤波器中,该滤波器通过过采样与抽样,将1/0流从高速率、低精度位流转换成低速率、高精度数字输出。 简而言之,Delta就是差动,Sigma就是积分的意思。Delta-Sigma软件测试,我的理解应该是通过软件模拟差动积分的过程。具体来说,就是侦测外部输入的电压(或者电流)信号变化,然后通过软件积分运算,得出外部信号随时间变化的基本状况。 41. 通常采用什么方法来测试单片机系统的可靠性? 答:单片机系统可以分为软件和硬件两个方面,我们要保证单片机系统可靠性就必须从这两方面入手。 首先在设计单片机系统时,就应该充分考虑到外部的各种各样可能干扰,尽量利用单片机提供的一切手段去割断或者解决不良外部干扰造成的影响。我们以HOLTEK-p.htm" target="_blank" title="HOLTEK货源和PDF资料">HOLTEK最基本的I/O单片机HT48R05A-1为例,它内部提供了看门狗定时器WDT防止单片机内部程序乱跑出错;提供了低电压复位系统LVR,当电压低于某个允许值时,单片机会自动RESET防止芯片被锁死;HOLTEK-p.htm" target="_blank" title="HOLTEK货源和PDF资料">HOLTEK也提供了最佳的外围电路连接方案,最大可能的避免外部干扰对芯片的影响。 当一个单片机系统设计完成,对于不同的单片机系统产品会有不同的测试项目和方法,但是有一些是必须测试的:  测试单片机软件功能的完善性。 这是针对所有单片机系统功能的测试,测试软件是否写的正确完整。  上电掉电测试。在使用中用户必然会遇到上电和掉电的情况,可以进行多次开关电源,测试单片机系统的可靠性。  老化测试。测试长时间工作情况下,单片机系统的可靠性。必要的话可以放置在高温,高压以及强电磁干扰的环境下测试。  ESD和EFT等测试。可以使用各种干扰模拟器来测试单片机系统的可靠性。例如使用静电模拟器测试单片机系统的抗静电ESD能力;使用突波杂讯模拟器进行快速脉冲抗干扰EFT测试等等。 当然如果没有此类条件,可以模拟人为使用中,可能发生的破坏情况。例如用人体或者衣服织物故意摩擦单片机系统的接触端口,由此测试抗静电的能力。用大功率电钻靠近单片机系统工作,由此测试抗电磁干扰能力等。 42. 在开发单片机的系统时,具体有那些是衡量系统的稳定性的标准? 答:从工业的角度来看,衡量系统稳定性的标准有很多,也针对不同的产品标准不同。下面我们大概介绍单片机系统最常用的标准。  电试验(ESD) 参考标准: IEC 61000-4-2 本试验目的为测试试件承受直接来自操作者及相对对象所产生之静电放电效应的程度。  空间辐射耐受试验(RS) 参考标准:IEC 61000-4-3 本试验为验证试件对射频产生器透过空间散射之噪声耐受程度。 测试频率:80 MHz~1000 MHz  快速脉冲抗扰测试(EFT/B) 参考标准:IEC 61000-4-4 本试验目的为验证试件之电源线,信号线(控制线)遭受重复出现之快速瞬时丛讯时之耐受程度。  雷击试验(Surge) 参考标准 : IEC 61000-4-5 本试验为针对试件在操作状态下,承受对于开关或雷击瞬时之过电压/电流产生突波之耐受程度。  传导抗扰耐受性(CS) 参考标准:IEC 61000-4-6 本试验为验证试件对射频产生器透过电源线传导之噪声耐受程度。 测试频率范围:150 kHz~80 MHz  Impulse 脉冲经由耦合注入电源线或控制线所作的杂抗扰性试验。 43. 在设计软体时,大多单片机都设有看门狗,需要在软体适当的位置去喂狗,以防止软体复位和软体进入死循环,如何适当的喂狗,即如何精确判定软体的运行时间? 答:大多数单片机都有看门狗定时器功能(WDT,Watch Dog Timer)以避免程序跑错。HOLTEK-p.htm" target="_blank" title="HOLTEK货源和PDF资料">HOLTEK有一款基本I/O型单片机--HT48R05A-1,我们就以它为例做个说明吧。 首先了解一下WDT的基本结构,它其实是一个定时器,所谓的喂狗是指将此定时器清零。喂狗分为软件和硬件两种方法。软件喂狗就是用指令来清除WDT,即CLR WDT;硬件喂狗就是硬件复位RESET。当定时器溢出时,会造成WDT复位,也就是我们常说的看门狗起作用了。在程序正常执行时,我们并不希望WDT复位,所以要在看门狗溢出之前使用软件指令喂狗,也就是要计算WDT相隔多久时间会溢出一次。HT48R05A-1的WDT溢出时间计算公式是:256*Div*Tclock。其中Div是指wdt预分频数1~128,Tclock是指时钟来源周期。如果使用内部RC振荡作为WDT的时钟来源(RC时钟周期为65us/5V),最大的WDT溢出时间为2.1秒。 当我们得到了WDT溢出时间Twdt后,一般选择在Twdt/2左右的时间进行喂狗,以保证看门狗不会溢出,同时喂狗次数不会过多。 软件运行时间是根据不同的运行路线来决定的,如果可以预见软件运行的路线,那么可以根据T=n*T1来计算软件的运行时间。n是指运行的机器周期数,T1是指机器周期。HOLTEK-p.htm" target="_blank" title="HOLTEK货源和PDF资料">HOLTEK单片机是RISC结构,大部分指令由一个机器周期组成,只需要知道软件运行了多少条指令,就可以算出运行时间了。HOLTEK-p.htm" target="_blank" title="HOLTEK货源和PDF资料">HOLTEK的编译软件HT-IDE3000中,就有计算运行时间的工具。但是对于CISC结构的单片机,一条指令可以由若干个机器周期组成,那么就需要根据具体执行的指令来计算了。 44. 我们是一家开发数控系统的专业厂,利用各种单片机和CPU开发了很多产品,在软件开发上也采用了很多通用的抗干扰技术,如:软件陷阱、指令允余、看门狗和数字滤波等等,但实际运用中还是很不可靠,如:经常莫名其妙地死机、程序跳段、I/O数据错误等,并且故障的重复性很不确定,也不是周期性地重复。往往用户使用中出现故障,但又无法重现,很让人头痛。反复检查硬件也设查出原因,所以对软件的可靠性很是怀疑。怎么办? 答:防止干扰最有效的方法是去除干扰源、隔断干扰路径,但往往很难做到,所以只能看单片机抗干扰能力够不够强了。单片机干扰最常见的现象就是复位;至于程序跑飞,其实也可以用软件陷阱和看门狗将程序拉回到复位状态;所以单片机软件抗干扰最重要的是处理好复位状态。 一般单片机都会有一些标志寄存器,可以用来判断复位原因;另外也可以自己在RAM中埋一些标志。在每次程序复位时,通过判断这些标志,可以判断出不同的复位原因;还可以根据不同的标志直接跳到相应的程序。这样可以使程序运行有连续性,用户在使用时也不会察觉到程序被重新复位过。 可以在定时中断里面设置一些暂存器累加,然后加到预先设定的值(一个比较长的时间),SET标志位,这些动作都在中断程序里面。而主程序只需要查询标志位就好了,但是注意标志位使用后,记得清除,还有中断里面的时基累加器使用以后也要记得清除。

2009-04-19

来看看吧单片机倒计时钟

keyok bit 00h ;是否有键按下的标志 startrun bit 01h ;是否开始运行 value equ 21h ;秒计时值 setval equ 22h ;设置的数值 counter equ 23h ;用于显示的计数器 count equ 24h ;秒计数器 keyval equ 25h ;按键寄存器 dispbuf equ 5eh ;显示缓冲区 first bit p2.5 ;第一个数码管控制 second bit p2.6 ;第二个数码管控制 tmrvar equ 60110 ;定时器的初值65536-5000 hidden equ 0ffh ;显示器的消隐 org 0000h jmp start org 1*8+3 ;time0中断入口 jmp int_t0 ;到定时器t0中断服务程序的入口 start: mov sp,#5fh ; 设置堆栈 mov p1,#0ffh ; 所有led熄灭 mov setval,#59 ;初值59 mov value,setval ;开始不运行,按键后运行 clr startrun clr keyok ;清除有键按下的标志 mov tmod,#01h mov th0,#HIGH(TMRVAR) ;取tirvar的高8位 MOV TL0,#LOW(TMRVAR) ; 取tirvar的低8位 SETB ET0 ; 开t0中断 SETB TR0 ;定时器开始运行 ; CLR SEC SETB EA ; 开总中断 LOOP:CALL KEY ;调用键盘程序 JB KEYOK,KEYPROC;如果有键盘按下则转键盘处理 NEXT:MOV A,VALUE ;获得秒的数值 MOV B,#10 DIV AB ;二进制转10进制10位个位分别送显示缓冲 NEXT1:MOV DISPBUF,A ; MOV DISPBUF+1,B ;个位送显示缓冲 JMP LOOP KEYPROC:MOV A,KEYVAL ;取得键值 JZ KEYRUN ;如果为0转keyrun DEC A JZ KEYSTOP ;如果键值1 转stop DEC A JZ KEYLEFT ;如果键值2转left JMP KEYRIGHT ;如果为3转right KEYRUN: SETB STARTRUN ;将开始运行的标志送1 JMP LOOP KEYSTOP: CLR STARTRUN ;开始运行位送0 JMP LOOP KEYLEFT: ;键盘处理,10位加1并在0-5循环 CLR STARTRUN ;先停止秒 MOV A,SETVAL ;取设置位 ADD A,#10 ;加10 CJNE A,#60,LEFT0 ;到60了么? MOV A,#0 ;是则清零 JMP LEFT2 ;转left2 LEFT0:JNC LEFT1 ;比60大么, 是则转left1 JMP LEFT2 ; 转left2 LEFT1:SUBB A,#60 ;减60 LEFT2:MOV SETVAL,A ;处理后的a送回setval MOV VALUE,SETVAL ; 送显示 JMP LOOP KEYRIGHT: ; 键盘处理,10位加1并在0-5循环 CLR STARTRUN ;先停止秒 INC DISPBUF+1 ;显示器的低位加1 MOV A,DISPBUF+1 ; 送到a CJNE A,#10,REFT0 ;与10比较不等于则转移 MOV DISPBUF+1,#0 ; 等于10则送0 REFT0:MOV A,DISPBUF ; 取出显示缓冲的高位 MOV B,#10 MUL AB ;乘10 ADD A,DISPBUF+1 ;加低位 MOV SETVAL,A ;送到setval暂存 MOV VALUE,SETVAL ;送显示 JMP LOOP KEY: ORL P3,#00111100B ;键盘口先送1 CLR KEYOK ;清key标志 MOV A,P3 ;取p3的值 ORL A,#11000011B ;把无关的4位置位 CPL A ;取反a JZ KEY_RET ;没有按则所有位都是1 取反则为0 CALL DELAY MOV A,P3 ;再读p3的值 ORL A,#11000011B CPL A JZ KEY_RET SETB KEYOK ;确实有按下 JNB ACC.2,KEY_1 ;s1没有按转key1 MOV KEYVAL,#0 ;如按下则值为0 JMP KEY_RET KEY_1:JNB ACC.3,KEY_2 ;s1没有按转key2 MOV KEYVAL,#1 ;如按下则值为1 JMP KEY_RET KEY_2:JNB ACC.4,KEY_3 MOV KEYVAL,#2 JMP KEY_RET KEY_3:MOV KEYVAL,#3 KEY_RET: MOV A,P3 ORL A,#11000011B CPL A JNZ KEY_RET ;等按键释放 RET DELAY: mov r5,#2 ;延时20MS d1:mov r6,#2 D2:djnz r6,d2 djnz r5,d1 ret INT_T0: ;定时器t0的中断响应 PUSH ACC PUSH PSW ;压堆栈 MOV TH0,#HIGH(TMRVAR) MOV TL0,#LOW(TMRVAR) INC COUNT ;软件计数器加1 MOV A,COUNT ; CJNE A,#200,INT_N2 MOV COUNT,#0 ;到了200清除 INT_N1:JNB STARTRUN,INT_N2 ; 停止运转,转 DEC VALUE ;计数器减1 MOV A,VALUE JNZ INT_N2 ; 不为0则转 MOV VALUE,SETVAL ; 否则再置初值 INT_N2: SETB FIRST SETB SECOND ;关显示 MOV A,#DISPBUF ; 显示缓冲的首地址 ADD A,COUNTER MOV R0,A MOV A,@R0 ;根据计数器的值取相应缓冲的值 MOV DPTR ,#DISPTAB ;字型表的首地址 MOVC A,@A+DPTR MOV P0,A ; 送显示 MOV A,COUNTER ;取计数器的值 JZ DISPFIRST ; 如果为0则显示第一位 CLR SECOND ; 否则显示第二位 AJMP DISPNEXT DISPFIRST: CLR FIRST ;显示第一位 DISPNEXT: INC COUNTER ;计数器加1 MOV A,COUNTER DEC A DEC A ;如果为2则回0 JZ RSTCOUNT AJMP DISPEXIT RSTCOUNT: MOV COUNTER,#0 ;计数器的值只能为0或者1 DISPEXIT: POP PSW POP ACC RETI DISPTAB:DB 28H,7EH,0A2H,62H,74H,61H,21H,7AH,20H,60H END

2009-04-19

自制无线话筒接收电路

制作优质无线话筒是许多读者的愿望,但业余条件下要制作高性能的接收机并不容易。笔者另辟途径,利用废旧汽车收放机中的调频收音部分,增加一块XR1075音频处理器,重新设计印刷板,制作了一套稳定可靠、电性能优良的双频无线话筒收发系统。发射部分采用BA1404专用调频发射集成电路。本机电原理见下图,现将制作过程介绍如下。 由图可知,该电路由四部分,即调频头、中频放大、音频处理及电源组成。 基本原理由天线感应的信号从调频头的脚输入,经内部高放、本振混频后从脚输出10.7MHz的中频信号,由C1输入至T1进行中频预放后经JT1滤出10.7MHz中频信号送至IC1的脚,由内部限幅、放大、鉴频后解调为音频信号从脚输出,由C8耦合给T2进行放大,以满足IC3的电平要求。音频信号从IC3的脚输入,经内部分频延时数字处理后从脚输出。IC1的脚为2.25V基准电压源,脚为调谐指示输出,在本电路中用作静噪。其原理是:当脚有10.7MHz的中频信号输入时,该脚为低电平,T3截止,IC3脚的音频信号无衰耗地输出;反之脚为高电平,电源经R11、D2、R13给T3提供偏置,T3饱和,使音频信号通过T3的c、e极入地,以此达到静噪的目的。L1、C组成10.7MHz选频网络,它也是IC1第二中放的负载,C2、C3为中频旁路电容,W1、W2分别为音频处理器的高音和低音增益调节电位器,其原理可参见《电子报》的有关文章。 安装与调试找两台坏汽车收放机(要求调谐器内含调频头),从中取出线路板及调谐器,焊下10.7MHz滤波器JT1、中频滤波器(外形似中周,磁帽一般为淡蓝色),TA7640、调频高频头(外形见附图右上角)等关键部件为备用。根据机壳尺寸制作一块印刷板,印刷板应采用环氧板且大面积接地,准备就绪即可焊装元件,T3和T6待整机调试好后再装上。接通电源(以一路为例),测量IC1的脚电压应为6.5V左右,调频头脚应为6V,脚0.15V左右(M47型表测量,数字表测量则为1.9V),调整R1和R10使T1、T2集电极电压均为3V左右。接上功放和音箱,此时如果电路正常,喇叭应有较大的“沙沙”声,如果没有沙沙声,可用改锥分别碰IC3的脚、T2基极应有交流声,再碰IC1的、、、、脚、T1基极应有较响“咯咯”声,否则应检查JT1、L1、IC1及周围元件。一切正常后旋转调频头收一本地调频电台,调节L1磁芯使音质清晰。再配合话筒调整收发频率(注意避开当地电台频率),最后用话筒对着较熟悉音质较好的音乐调节W1、W2使接收机的音质清晰自然为止,如果话筒以拾取人声为主,可适当增加高音(调节W2)。另一路用同样方法调整。此时焊上T3和T6,调试自动静噪功能,关闭发射机,相应TA7640的脚应为高电平;开启时应为低电平,否则要重调L1。 本电路虽未采用晶振稳频,但由于调频头的高稳定性,本无线话筒收发频率非常稳定,从夏至冬从未出现频偏,笔者将两路话筒分别用于古筝和话音,主观感觉古筝的弦乐非常清脆靓丽,人声有较明显的齿音。只要元件质量保证,该无线话筒能与数百上千元成品机媲美,当然有兴趣的读者也可在IC1、IC2输出端增加谐波发生器,以提高声音的清晰度。本机使用9.6V充电池作主电源,外接16V电源专为电池充电之用,由于R31、D4的限流稳压作用,所以外接电源可长期接入本机。

2009-04-19

无线的摩托车防盗报警器

发射机部分:继电器K和可控硅VS用来控制发射机电路的电源。IC1组成警声信号电路。晶体管V及其外围元件组成射频振荡电路,发射报警信号。在等待状态时,开关S1接通,而SB1断开(即车头锁被锁住),K就处在释放状态,报警发射机不工作。当车头锁被打开时(即SB1接通),VS被触发导通,K吸合,接通发射机电 源。SB1接通后,K-2的常开点将其自锁,此时只有断开S1报警方能结束。在K动作时,其常闭触点K-l断开,切断发动机点火电路。接收机电路由TDA7010和开关功放TWH8778、TWH68组成。当IC2 收到报警信号时其互脚的高电平通过IC3经IC4放大由TWH15放出报警声。但要考虑到频率的稳定性,因为7010自身没有频率稳定电路,在工作时要多作检测,最好用印制板和贴片元件。

2009-04-19

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除