收藏 分销(赏)

51AVR单片机学习小结.docx

上传人:紫*** 文档编号:6601782 上传时间:2024-12-16 格式:DOCX 页数:64 大小:78.84KB 下载积分:5 金币
下载 相关 举报
51AVR单片机学习小结.docx_第1页
第1页 / 共64页
51AVR单片机学习小结.docx_第2页
第2页 / 共64页


点击查看更多>>
资源描述
51AVR单片机学习小结 51AVR单片机学习小结 51/AVR单片机学习小结 发布于201*-11-1217:31:21|22次阅读 这是我自己在这段时间的技术知识小结,上传与大家分享,要是有什 么出漏请指出!这个学期我主要在学习51单片机,在学习单片机的过程中,让我学到了很多电子知识,进一步增广了我的电子视野。同时也加深了我对电子的兴趣。更重要的是大大提高了我的动手能力。刚刚开始的时候,还有点怀疑自己是不是搞电子的料。因为,一开始很多都不懂,处处破壁。虽然,比较常问问题,不管简单的还是比较难的。但是问的太多了也不是好事。毕竟要是自己花多点时间去思考还是有利的。在比较艰难的入门中,我慢慢需找自己的学习方法,不断的总结学习成果。不久,我就掌握了一种比较合适的学习方法。到了这里我已经具备了自学的基本能力。知识小结:1)下面简单介绍一下做电路板的过程:1、设计电路,用Protel画出电路的PCB电路图;2、把PCB电路图附到铜板上;3、腐蚀电路板,一般用三氯化铁做腐蚀液;4、专孔,焊接;5、调试,整个过程完成。其中,要用到的知识还是挺多的。最基础的就是必须要懂得一些简单的电路知识、常用元件功能作用等。所以,对于搞电子的爱好者,必须熟练掌握《电路分析》、《电工》《模拟电子技术》、《数字电子技术》等理论基础。这个知识对于看电子杂志、读电路图、设计电路非常有用。还有几个常用软件也是非常有用的,数模电常用的仿真软件Multisim,这个软件主要以分立元件为主,可以仿真大量的数字电路和模拟电路。可视化强度非常高,使用者可以随心所欲的搞一些设计和仿真。此软件简单易用,对于初学电路的学习者非常适合。介绍一本对初学者很有帮助的书《电子设计从零开始》,这本书通俗易懂的讲述了常用元件的使用和功能,常见的电路小知识,以及简单的小制作、小发明的整个过程,是一本不错的书。设计PCB电路,一般都是用Protel软件,Protel也有仿真功能,不过只能仿真哪些有源软件,比较局限。其用处最大的就是可以让用户设计自己的PCB电路图,不管多大的工程基本上在Protel上都能满足用户的需求。例如:可以利用Protel层次原理图的功能,把一个超大规模的电路工程,分成几个模块,几个人分工把项目完成。最方便的就是可以自己在此软件上画所需要的元件原理图和封装。Protel也不难使用,自己找本书看看或者叫人演示一遍画PCB电路图给你看,很快就能掌握。2)在使用Protel过程中我总结出4小点:1、原理图必须把线连接好或者标上号;2、PCB图必须把元件封装的大小、方向放对;3、画元件原理图必须把引脚标正确;4、画元件封装必须把封装大小、引脚间距的尺寸画正确以及特性分析清楚。小结一下51单片机的学习51单片机有40个引脚,32个IO口,一个Vcc,一个GND,两个晶振引脚,一个复位引脚。最小系统有3部分组成,分别为复位电路、晶振电路、电源。电源自然是给单片机工作的电压。晶振单片机中好比人的心脏,起振单片机内部振荡电路。复位电路用来给单片机工作复位。每次单片机工作都是要先复位,然后单片机从00地址单元扫描,一直扫描下来,并执行该单元的代码。51单片机说简单一点就是,通过控制它IO的高低电平来实现相应功能的。要想快速把51单片机学好,建议初学者自己买一块51学习板,或者自己做一块功能比较齐全的开发板。但是,作为初学者还是最好自己买一个块。买的学习板,一般它会配有该实验板的配套学习资料和相应程序。学习者就可以试验每一个模块的功能和效果,虽然,这好像只是在抄别人的东西,但是,模仿一种最快的学习速度,通过模仿可以高效率的学到更多有用的东西,而且,你可以学习它的优势,并且可以用自己的方法去改动把它变为自己的东西。4)下面简述一下学习一个模块的步骤:1、在学习板上试验该模块的程序,看效果、看现象,并且自己内心要清楚现象是怎样发生;2、查看实现该功能模块的硬件电路,再看学习程序;3、直到看懂程序,就马上自己动手一步一步试着,按照自己的方法去实现该功能;4、当理解了该模块的功能之后,可以动手自己做一个小制作,或者仿真等。上面的是学习一个功能模块的大概方法和指导方向,其实,要学习一个模块是要花上一定的时间和精力的。特别是比较难的模块,可能会涉及到了几个不懂的芯片,但是,只要自己有耐心和毅力,再难只要花上该花的时间,就一定能够把知识掌握。在这里,建议大家加入几个学习群或者论坛,这对于初学单片机的同学非常有帮助,因为,在学习的过程中难免会遇到大大小小的问题,那么自己就可以在论坛上发帖或者在Q群上求助,不过最有效率的提问,就是自己能够结识一两个比较厉害的单片机网友、同学或者老师等。学习51单片机要用到的软件还是挺多的,最常用的就是keil,可以在keil上面编写单片机C语言或者单片机汇编语言,也可以做相应的仿真和程序的调试,以及生成程序的二进制代码。用STC烧写软件烧写STC单片机芯片,用progsip软件烧写Atmel公司的单片机芯片,这里的烧写是意思是把程序的二进制代码下载到单片机芯片里,这样单片机就有了相应功能的程序,里面有了程序单片机就可以实现相应的功能。以及用Proteus软件进行硬件仿真,Proteus是学习单片机最常用的仿真软件,此软件功能非常强大,不过使用起来,感觉比较有点麻烦,不过只要能够掌握几个常用的快捷键就方便很多了。5)AVR单片机AVR单片机是吸取了51单片机的优点,并增加了很多功能。AVR单片机的型号也很多,一般学习者都用ATmega16的,不过M16的引脚跟51单片机不兼容,AVR只有一种芯片,ATmega8518芯片才与51单片机引脚相兼容,简单的说就是可以用M8518的芯片放到51单片机的开发板上,把复位电路改成低电平复位就OK了!AVR单片机功能比51强,从而,它在使用上也会麻烦的多。AVR一般常用到一下几个软件:1、ICCAVR用来编写程序,生成二进制代码;2、AVRStudio用来调试程序,比keil好用且功能强,最好的就是可视化强度高;并且可以下载程序到单片机中;比较麻烦的就是IO口的初始化定义和熔丝值的设置。学习的方法与51单片机差不多都是,以模仿快速的理解并掌握变成自己的东西。 学习单片机的心得 一般我们现在用的比较多的的MCS-51的单片机,它的资料比较多,用的人也很多,市场也很大,我们平时说的C51,C52,S51,S52都是51内核的,只是内存容量有差别,或是烧写程序的方法不同。只要你学会了51,那什么凌阳,AVR,什么样原理都是一样。触类旁通。 先说说就我个人的体会怎么样才能更快的学会单片机这门课。单片机这门课是一项非常重视动手实践的科目,不能总是看书,但是学习它首先必须得看书,因为从书中你需要大概了解一下,单片机的各个功能寄存器,而说明白点,我们使用单片机就是用软件去控制单片机的各个功能寄存器,再说明白点,就是控制单片机那些管角的电平什么时候输出高,什么时候输出低。而由这些高低电平的变化来控制由单片机为核心的系统板。从而实现我们需要的各个功能。对于看书,我们只需大概看看了解一个单片机各个管角都是干什么的?都有什么样的功能,能实现什么样的功能?其实第一次,第二次你可能都看不明白,但这不要紧,因为你没有和实际的物体建立起来这样一种互通的观念,所以我总是说,学单片机看书看两三天的时间就够了,看小说你一天能看五六本,看单片机你两三天看两三边就够了,而且可以不用很仔细的看。推荐一本书,就这一本就足够,书名忘了,是哈尔滨工业大学出版社出的的,作者是张毅刚。大概三四百页吧。大概了解一下书上的内容后,就开始做实践,这是非常关键的,如果说学单片机你不做实践那是不可能学会的,关于做实践有两种方法你可以选择,一种方法:你自己花钱买一块单片机的学习板,不要求功能太全的,对于初学者来说你买功能非常多的那种板子,上面有很多东西你这辈子都用不着,我建议有流水灯,数码管,独立键盘,矩阵键盘,有AD或DA(原理一样),有个简单的液晶,有蜂鸣器,这就差不多了,如果上面我提到的这些东西你能让它都熟练工作了,那可以说对于单片机方面的硬件你已经入门了,再剩下的就是自己练习设计其它电路,这需要你练习,不断的积累经验,只要过了第一关,后面的路就好走多了,万事开头难,大家可能都听过。方法二:你身边如果有单片机方面的高手,向他求助,让你帮你搭个简单的最最小系统板,其实对于高手来说,做个单片机的小系统板只需要一分钟的时间,而对于初学者可就难多了,因为只有你对硬件了解了才会对它熟悉。而如果你身边没有这样的高手,又找不到可以帮助你的人,那我劝你最好是自己买上一块,毕竟自己有一块要方便的多,以后做单片机类的小实验时都能用得上,还剩事。(买的时候找我) 有了单片机学习板之后你就是不停的练习了,我在后面会讲到我的大学生活,如果你感兴趣你可以看看,如果不感兴趣呢,看完这段你就可以继续你的快乐生活了。前面我提到单片机是一项非常注重实践的学科,你最好是自己有台电脑,一天少看电影,少打游戏,把学习板和电脑连好,打开调试软件坐在电脑前,先学会怎么用调试软件,然后从最简单的流水灯实验做起,等你能让那八个流水灯按照你的意愿随意流动时你已经入门了,你会发现单片机是多么迷人的东西啊,太好玩了,这不是在学习知识,而是在玩,当你编写的程序按你的意愿实现时你比做什么事都开心,你会上瘾的,真的。做电子类的人真的会上瘾。然后让数码管亮起来,这两项会了后,你已经不能自拔了,你已经开始考虑你这辈子要走哪一行了。就是要这样练习,在写程序的时候你肯定会遇到很多问题,而这时你再去翻书找,或是问别人,当得到解答后你会记住一辈子的,知识必须用于实际才能发挥出它的作用,否则你自己好好想想,你上了这么多年大学,天天上课,你在课堂上学到了什么?你不是为了每学期的期末考试忙碌吗?考完试一看得了90分,哈哈哈好高兴啊,下学期开学回来忘的一干二净,是不是?你学到什么了?但是我告诉你单片机你一旦学会,永远不会忘了。另外我再说说用汇编和C语言编程的问题。很多同学大一二就开设了C语言的课,我也上过,我知道那时天天就是几乘几,几加几啊,求个阶乘啊。学完了有什么用?让你用C语言编单片机的程序你是不是就悄悄了?所以书上的东西我们必须要实践。单片机编程你想用C语言和汇编语言都可以,但是我建议你用C语言比较好,如果原来有C语言的基础那学起来会更好,如果没有,也可以边学单片机边学C语言,C语言也挺简单,只是一门工具而已,我劝你最好学会,将来肯定用得着,要不你以后也得学,你一点汇编都不会根本无所谓,但你一点C语言都不会那你将来会吃苦头。汇编写程序代码效率高,但相对难度较大,而且很罗嗦,尤其是遇到算法方面的问题时,根本是麻烦的不得了,现在单片机的主频在不断的提高,我们完全不需要那么高效率的代码,因为有高频率的时钟,单片机的ROM也在不断的提高,足够装得下你用C语言写的任何代码,C语言的资料又多又好找,将来可移植性非常好,只需要变一个IO口写个温度传感器的程序在哪里都能用,所以我劝大家用C语言。 总结上面,只要你有信心,做事能坚持到底,有不成功不放弃的强烈意志。那学个单片机来说就是件非常容易的事。 步骤:1。找本书大概了解一下单片机结构,大概了解就行。不用都看懂,又不让你出书的。(三天) 2。找学习板练习编写程序,学单片机就是练编程序,遇到不会的再问人或查书找。(二十天)3。自己网上找些小电路类的资料练习设计外围电路。焊好后自己调试,熟悉过程。(十天) 4。自己完全设计具有个人风格的电路,产品,。。。你已经是高手了。。。。。 看到了吗?下功夫一个多月你就能成为高手,我就讲这么多了,学不学得会,下不下得了功夫就看你的了 从51初学者到电子工程师1 很多电子工程师在某个方面精深钻研,成为某一个特殊领域的专家,从一开始的养家糊口、慢慢小有收益、最后宝马豪宅,也是有的;这些电子工程师可能没有全面掌握这些知识,因为这些行业用不上,例如,液晶显示器,很多行业就不需要;但是,对于一个初学者,我认为,这个提纲是切合实际的,对于面向控制而言,已经基本够用了;对于初学者,全面地掌握这些知识是很有必要的,因为你不知道今后需要使用什么哪些知识,而这些知识,80%以上你会在今后的工作中使用上,因为这是都是最基本的。熟练掌握这些知识和应用,根据不同的地区、行业和老板,月薪应该可以在3000元~5000元之间,甚至更高。 其实,可能有些你用不上,但是知道了也没有坏处;所谓书到用时方很少,又有谓艺不压身。知识=月薪=年薪=金钱=香车宝马=..,呵呵。为什么要掌握这些知识? 实际上,电子工程师就是将一堆器件搭在一起,注入思想(程序),完成原来的这些器件分离时无法完成的功能,做成一个成品。所需要的技能越高、功能越复杂、成本越低、市场上对相应的东东的需求越大,就越成功。这就是电子工程师的自身的价值。从成本到产品售出,之间的差价就是企业的追求。作为企业的老板,是在市场上去寻找这样的应用;对电子工程师而言,是将老板提出的需求或者应用按照一定的构思原则(成本最低、可靠性最高、电路板最小、功能最强大等)在最短的时间内完成。最短的时间,跟电子工程师的熟练程度、工作效率和工作时间直接有关。这就是电子工程师的价值。 将电子产品抽象成一个硬件的模型,大约有以下组成:1)输入2)处理核心3)输出 输入基本上有以下的可能:1)键盘 2)串行接口(RS232/485/canbus/以太网/USB)3)开关量(TTL,电流环路,干接点) 4)模拟量(4~20ma、0~10ma、0~5V(平衡和非平衡信号))输出基本上有以下组成: 1)串行接口(RS232/485/canbus/以太网/USB)2)开关量(TTL、电流环路、干接点、功率驱动) 3)模拟量(4~20ma,0~10ma,0~5V(平衡和非平衡信号))4)LED显示:发光管、八字5)液晶显示器6)蜂鸣器处理核心主要有: 1)8位单片机,主要就是51系列 2)32位arm单片机,主要有atmel和三星系列51系列单片机现在看来,只能做一些简单的应用,说白了,这个芯片也就是做单一的一件事情,做多了,不如使用arm来做;还可以在arm上加一个操作系统,程序既可靠又容易编写。最近三星的arm受到追捧,价格便宜,以太网和USB的接口也有,周立功的开发系统也便宜,作为学习ARM的产品来说,应该是最好的;作为工业级的控制,是不是合适,在网友中有不同的看法和争议。本公司使用atmelARM91系列开发的1个室外使用的产品,在北京室外使用,没有任何的通风和加热的措施,从去年的5月份到现在,运行情况良好。已经有个成功应用的案例。但对于初学者来说,应该从51着手,一方面,51还是入门级的芯片,作为初学者练手还是比较好的,可以将以上的概念走一遍;很多特殊的单片机也是在51的核的基础上增加了一些I/O和A/D、D/A;也为今后学习更高一级的单片机和ARM打下基础。再说了,哪个老板会将ARM级别的开发放在连51也没有学过的新手手中? 在51上面去做复杂的并行扩展是没有必要的,比如,扩展I/O口和A/D、D/A等等,可以直接买带有A/D、D/A的单片机;或者直接使用ARM,它的I/O口线口多。可以使用I2C接口的芯片,扩展I/O口和A/D、D/A,以及SPI接口扩展LED显示,例如:MAX7219等芯片。 市面上一些比较古老的书籍中还有一些并行扩展的例子,如:RAM、EPROM、A/D、D/A等,我觉得已经没有必要去看了,知道历史上有这些一回事就行了;这些知识,是所有产品都具备的要素。所以要学,再具体应用。说一个小的故事:野人献曝。 从前,有一个农民,冬天干了活后,休息晒太阳。好舒服呀。他想,这么舒服的享受,我要献给国王,让他也能得到享受。于是他兴冲冲地到了王宫,将他的宝贵经验献给了国王。 我现在就象这个农民,把自己认为很宝贵的经验献给大家。希望大家多提宝贵意见;拍板砖也可以,骂我也无所谓,呵呵,随便。第一课:51单片机最小系统 实际上,51单片机核心外围电路是很简单的,一个单片机+一个看门狗+一个晶振+2个磁片电容; 1.单片机:atmel的89C51系列、winbond的78E52系列,还有philips的系列,都差不多;现在有一些有ISP(在线下载的),就更好用了; 2.看门狗:种类很多,我常用的有max691/ca1161和DS1832等,具体看个人习惯、芯片工作电压、封装等。Max系列和DS系列,还有IMP公司的,种类很多,一般只需要有最基本的功能就可以了;原来我使用max691,但是max691比较贵,因为它有电池切换功能,后来新设计电路板,就都采用ca1161了。 很早以前的电路设计中,现在可能还有人使用,使用一个电阻和一个电容达成的上电复位电路;但是,这样的复位电路一个是不可靠,为什么不可靠,网络上能找得到专门论述复位电路的文章;更重要的是,51系列的单片机比较容易受到干扰;没有看门狗电路是不行的,当程序跑飞时,回不来了,死在那里。 常规的做法是买一个专门的看门狗电路,完成复位电路和看门狗电路的功能。 这些芯片的资料很容易在网络上找到,通常使用百度搜索就可以了;看见有PDF的字样,就点击下载;使用网际快车flashget下载也是最好的; 这些资料通常是pdf格式的文件,所以,还需要一个pdf的阅读器。百度网址: 网际快车下载网址:PDF阅读器下载网址: 实际上,有了百度和其它的搜索引擎,很方便下载到这些芯片的资料,比光盘还方便,不需要去到处找。 单片机和单片机抗干扰能力是不一样的。如果你的产品是工作在干扰比较大的环境,可以试试选用不同品牌的单片机;原来我在一个光电所,做YAG激光治疗机的控制部分,脉冲激光机的电源放电的时候,能量是很大的,在采取了所有能够想到的光电隔离等措施之后,还是不行;后来,选用了intel的8031,就可以了。小声的说:当时的philips的单片机抗干扰性能是最差的,可能跟Philips主要是用在民用领域有关。现在不知道怎么样了,有人知道的话告诉我。单片机的输入输出口线是最容易引进干扰的地方;在严重干扰的情况下,需要将所有的口线光电隔离。 3.晶振:一般选用11.0592M,因为可以准确地得到9600波特率和19200波特率;也可以使用36.864M,这个频率是1.8432M的20倍,看别人的电路板上用过,我也没有用到。这2种晶振很容易买到,价钱跟12M的一样。书上说,12M的晶振也能得到9600的波特率,但是,实际用的时候,会每隔一段时间就出错一次,好像累积误差一样,比较奇怪。 即使你的单片机系统不使用RS232接口,也可以做一个Rs232,留着做测试,或者预留等等,没有坏处。除非你的单片机系统的口线不够用了。 4.磁片电容:22pf~30pf,可以在有些书上找到什么晶振频率对应什么容量的磁片电容,但是,我都是随便拿来使用,反正在11.0592M下,都没有问题;如果你用到了更高的频率,最好还是找找资料看看。参见以下电路图: 如果你的单片机系统没有工作,检查步骤如下: 1.查看门狗的复位输出,可能的话在电路板上加一个LED,下拉,这样看起来就更方便;要是看门狗复位信号有,往下;2.查单片机,看看管脚有没有问题;一般编程器能够将程序写入,说明单片机是好的;最好手头上准备一个验证过的单片机,内部有一个简单的程序,比如,在某个口线上输出1个1秒占空比的方波等,可以使用万用表测量。 加一句:设计产品时,要在关键的地方:电源、串口、看门狗的输出和输入、I/O口等加不同颜色的LED指示,便于调试;作为批量大的产品,可以去掉部分LED,一方面是降低成本、一方面是流程保密; 3.再查磁片电容,有些瓷片电容质量不行,干脆换了;顺便说一下,换器件最好使用吸锡带,将焊盘内的锡吸干净,再将器件拔出,这样不会损伤焊盘内的过孔;再将新的瓷片电容焊接上去的时候,用万用表量量是好的再焊; 4.最后只有换晶振了;切记要买好的晶振,有些品牌质量比较好。 5.以上按照以上步骤检测时,将无关的外围芯片去掉;因为有一些是外围器件的故障导致单片机最小系统没有工作。我准备写的有以下几课:第二课基本的芯片和分立器件2.1简述2.274系列2.3CD4000系列2.4光耦与光电管2.5三极管2.6电容电阻2.7固态继电器2.8继电器 2.9变压器和三端稳压器2.10开关电源芯片 2.11封装知识、芯片批号等2.12接插件 2.13器件选购的知识第三课数字量的输入输出第四课单片机的通讯接口 第五课单片机系统设计的硬件构思第六课单片机程序的框架(汇编版本)第七课模拟量的输入输出 各位多提宝贵意见。 保证实用。如果程序里面有一些例程,也是已经经过测试可以拿来就用的;实际上是我早年的一些产品的程序的一部分;不好意思,都是汇编的。 写的时间只有周末会多一些,可以保证做到一周一课;尽量能够提前,但是这要看看工作忙不忙了。 坊间有一些参考书,准备今天上午到北京中发市场转了一圈,我记得以下参考书目较好:1.周航慈:《单片机程序设计》 2.徐涵芳:《MCS-51单片机结构与设计》3.何立民:《》 有了这些就基本够用了;其它的很多都是资料的翻译;如果英文不好,可以看看;英文好的话,可以不必了,省电钱买开发系统和编程器、开发板什么的,需要什么资料直接下载PDF文件好了。要想成为电子工程师,需要宽带,在家里安装包月的adsl或者长宽,绝对值得。实际上,网络上什么都有了,就是一个网络数据库,要好好利用。网上自有黄金屋,网上自有颜如玉第二课基本的芯片和分立器件2.1简述 有必要对以下系列的芯片和分立器件进行介绍。 除了单片机作为控制器的核心外,作为一个产品,由很多东西构成;所以,在讲系统之前,先将这些零零碎碎的东西一并交待。就好像一栋房子,有各种各样的构件组成,下面的这些东东就像砖瓦一样,没有不行。2.274系列芯片 74系列的芯片的下载地址: 74系列的芯片是古老的一族,大部分的芯片现在均已不用了,但是,实际上,在目前的系统中,还能看到一些芯片,有些芯片现在还在系统中使用,例如:1、74046个反相门下载地址: 将输入的TTL逻辑反相,如:0->1,1->02、74076个集电极开路门下载地址: 由于集电极开路门可以外接高电压,可以最高到DC30V,电流最大到39mA,通常我用它驱动8字数码管和继电器等大电流的负载;开路门内部结构是达林顿管的,输出的逻辑是正的;与其类似的芯片是7406,只不过是反相开路门。3、74LS573与74LS3738数据锁存器74LS373下载地址: 74LS573下载地址: 引入几个概念:1.真值表 参见74LS373的PDF的第2页:DnLEOEOnHHLHLHLLXLLQoXXHZ 这个就是真值表,表示这个芯片在输入和其它的情况下的输出情况。每个芯片的数据手册(datasheet)中都有真值表。布尔逻辑比较简单,在此不赘述;2.高阻态 就是输出既不是高电平,也不是低电平,而是高阻抗的状态;在这种状态下,可以多个芯片并联输出;但是,这些芯片中只能有一个处于非高阻态状态,否则会将芯片烧毁;高阻态的概念在RS232和RS422通讯中还可以用到。3.数据锁存 当输入的数据消失时,在芯片的输出端,数据仍然保持;这个概念在并行数据扩展中经常使用到。4.数据缓冲 加强驱动能力。74LS244/74LS245/74LS373/74LS573都具备数据缓冲的能力。OE:output_enable,输出使能; LE:latch_enable,数据锁存使能,latch是锁存的意思;Dn:第n路输入数据;On:第n路输出数据;再看这个真值表,意思如下: 第四行:当OE=1是,无论Dn、LE为何,输出端为高阻态;第三行:当OE=0、LE=0时,输出端保持不变; 第二行第一行:当OE=0、LE=1时,输出端数据等于输入端数据;结合下面的波形图,在实际应用的时候是这样做的:a.OE=0; b.先将数据从单片机的口线上输出到Dn;c.再将LE从0->1->d.这时,你所需要输出的数据就锁存在On上了,输入的数据在变化也影响不到输出的数据了;实际上,单片机现在在忙着干别的事情,串行通信、扫描键盘单片机的资源有限啊。在单片机按照RAM方式进行并行数据的扩展时,使用movx@dptr,A这条指令时,这些时序是由单片机来实现的。 后面的表格中还有需要时间的参数,你不需要去管它,因为这些参数都是几十ns级别的,对于单片机在12M下的每个指令周期最小是1us的情况下,完全可以实现;如果是你自己来实现这个逻辑,类似的指令如下: movP0,A将数据输出到并行数据端口clrLEsetbLE clrLE上面三条指令完成LE的波形从0->1->0的变化 74ls573跟74LS373逻辑上完全一样,只不过是管脚定义不一样,数据输入和输出端各在一侧,PCB容易走线;所以大家都喜欢使用这个芯片。4、74LS244数据缓冲器下载地址: 数据输出能力比较强,输出电流可以到40mA以上;4个缓冲器分成2组,具有高阻态控制端口5、74LS245总线缓冲器 双向数据接口,通常在ISA板卡上可以看到; 早期的51系统中,为了扩展RAM、eprom、A/D、D/A、I/O等经常可以看到这个片子;为了增强驱动能力,有时是为了隔离输入和输出,主要是布线方便,象74LS573一样,输入、输出在一侧,经常用到这个片子6、74LS138三-八译码器 在早期的51系统的扩展中,作为地址选通的片子,可以经常看到。另外一个类似的芯片是74LS154,是4-16译码器,现在更是少见了。有兴趣的可以研究一下何立民的经典著作中的有关章节。知道有这么一个芯片就可以了。2.3CD4000系列 CD4000系列的芯片,除了跟74系列的电气特性有所区别外,例如: 1)电压范围宽,应该可以工作在3V~15V,输入阻抗高,驱动能力差外,跟74系列的功能基本没有区别; 2)输入时,1/2工作电压以下为0,1/2工作电压以上为1;3)输出时,1=工作电压;0=0V 4)驱动能力奇差,在设计时最多只能带1个TTL负载;5)如果加上拉电阻的话,至少要100K电阻; 6)唯一现在使用的可能就是计数器,CD4060的计数器可以到14级二进制串行计数/分频器,这个74系列的做不到这么高;下载地址: 2.4ULN201*/ULN201* 它的内部结构也是达林顿的,专门用来驱动继电器的芯片,甚至在芯片内部做了一个消线圈反电动势的二极管。ULN201*的输出端允许通过IC电流200mA,饱和压降VCE约1V左右,耐压BVCEO约为36V。用户输出口的外接负载可根据以上参数估算。采用集电极开路输出,输出电流大,故可以直接驱动继电器或固体继电器(SSR)等外接控制器件,也可直接驱动低压灯泡。经常在工控的板卡中见到这个芯片。 有个完全一样的型号:MC1413,不过现在好像不怎么见到这个型号了,但是管脚与201*完全兼容。 ULN201*可以驱动7个继电器;ULN201*驱动8个继电器。ULN201*下载地址: ULN201*下载地址:没有找到。奇怪啊。2.5光耦 光耦是做什么用的?光耦是用来隔离输入输出的,主要是隔离输入的信号。 在各种应用中,往往有一些远距离的开关量信号需要传送到控制器,如果直接将这些信号接到单片机的I/O上,有以下的问题: 1)信号不匹配,输入的信号可能是交流信号、高压信号、按键等干接点信号;2)比较长的连接线路容易引进干扰、雷击、感应电等,不经过隔离不可靠所以,需要光耦进行隔离,接入单片机系统。常见的光耦有: 1)TLP521-1/TLP521-2/TLP521-4,分别是1个光耦、2个光耦和4个光耦,HP公司和日本的东芝公司生产。下载地址: -1-2,4.PDF发光管的工作电流要在10mA时,具有较高的转换速率; 在5V工作时,上拉电阻不小于5K,一般是10K;太小容易损坏光耦;2)4N25/4N35,motorola公司生产下载地址: -8,35-7,H11A1-5.PDF隔离电压高达5000V;3)6N136,HP公司生产下载地址: -6.PDF 要想打开6N136,需要比较大的电流,大概在15~20mA左右,才能发挥高速传输数据的作用。如果对速率要求不高,其实TLP521-1也可以用,实际传输速率可以到19200波特率。选择光耦看使用场合,tlp521-1是最常用的,也便宜,大概0.7~1元;要求隔离电压高的,选用4N25/4N35,大概在3元左右;要求在通讯中高速传输数据的,选用6N136,大概在4元左右。光耦应用的原理框图如下所示:1.输入干接点隔离2.输入TTL电平隔离3.输入交流信号隔离4.输出RS232信号隔离5.输出RS422信号隔离 光耦除了隔离数字量外,还可以用来隔离模拟量。将在今后的章节中描述。2.6三极管2.7光电管2.8电容2.9电阻2.10固态继电器2.11继电器 2.12变压器与整流桥2.13三端稳压器2.14开关电源芯片 2.15封装知识、芯片批号等2.16接插件 2.17器件选购的知识2.6三极管 2.6.1三极管的4种工作状态1)饱和导通状态饱和导通=02)截止状态饱和导通=13)线性放大状态 作为低频放大器时使用,具体的可参见有关电子线路的书籍;4)非线性工作状态 在无线电通信系统中,作为混频器等使用。具体的可参见有关电子线路的书籍; 愚记得南京工学院也就是现在的东南大学在80年代初期有一套《电子线路》5本,是电子专业的书籍,比较难懂;现在,即使是在电子专业的学生中,也应该降低了对三极管的哪些复杂的参数的要求了吧;在实际使用时,即使是模拟电路、非线性电路,也都是集成电路了,谁还使用三极管自己做呢?如果万一需要,现学也来得及。这套书很强的。编写人在那个年代肯定都是牛人。学三极管这些参数很繁琐的,要是现在的非电子类的大学生或者大专生们还学这些玩意,我只能说是学校在误人子弟了。 好多学校都在扩招,很多学生念了4年下来,学了一堆过时的理论,跟实际的东西一点没有接轨,不知道7407是干什么用得,不知道三极管的几个状态;我只能无话可说。 所以,念了4年下来,跟企业的需求还有一段距离,还需要从头来过;聪明的学生赶紧抓住机会去学习,去实习,这样,还可以赶紧补上实际应用的这一课。言归正传。参见下图: 当单片机的口线输出电平为1时,三极管的be结导通,ce结导通,输出的电压值为0V;当单片机的口线输出电平为0时,三极管的be结不导通,ce结截止,输出的电压值为5V;在这种数字电路的应用中,相当于三极管是一个反相开路门。计算是否导通,公式如下:I=B(放大倍数,希腊字母的贝塔)×Ibe当Ice 相差越大,饱和程度越深,Vce越小,三极管的输出内阻越小;这个概念要用到光电管中。 设计使用时大概算算,心里有个数;在电路板上试试,行的通,那就是它了。可以测量Vce值,至少要小于0.1V就可以了。 常用的PNP三极管是2N5551,驱动40mA的LED(电压在24V)、蜂鸣器等均没有问题。2.6.2三极管的具体应用 实际上,已经有象7407、ULN201*可以取代三极管在数字电路中的作用;但是,有时是受到PCB面积的制约,有时是为了降低成本,有时是因为布局方便,在1~2个输出点时,还是可以使用三极管来做驱动的。 例如:驱动一个蜂鸣器;往往系统中的蜂鸣器跟其它驱动设备,继电器等,距离较远;这时,没有必要使用一片7407,或者ULN201*来驱动;驱动的接口如下:上午赶紧到中发去转了一圈,看了看单片机方面的书,让我失望。 这些书的大部分内容还都是将51的技术资料美捶胍幌拢由弦恍┎⑿薪涌诘男 酒?255/8155/8253/AD0809/DAC0832等等,就是一本单片机的书籍了。还挺贵。可怜的学生花了几十大元买来,学到的是陈旧的知识。看了又看,想了再想,老树买了2本: 1)MCS-51系列单片机应用系统设计系统配置与接口技术何立民编著北京航空航天大学出版社35元人民币 2)单片机外围电路设计沙占友等编著电子工业出版社23元人民币 何立民先生的巨著影响了看来不止是一代人,至少是2代人、三代人以上。主要的好处是体系比较完整,包括了单片机的核心、芯片的时序与扩展、输入与输出(在何老师的编著中叫前向、后向、人机、相互通道,只是说法的不同),应用程序设计、抗干扰技术,应该是,是一个大全了。愚斗胆建议何老师将该巨著修改如下: 1)将并行扩展的有关内容以及一些现在不用的内容,如GP16打印机等,放在新编著的书的光盘内容中,这样篇幅可以减少,又不至于查询不到;这些内容,在书中一带而过;2)新增:I2C的数字和模拟的扩展内容和相应的用单片机口线模拟I2C总线的程序;3)新增:电源部分,包括:DC/DC模块,MAXIM、LINEAR公司的step-up/step-down等芯片的内容,还有开关电源、线性电源等内容;这样,就能焕发出更新的活力。 沙占友的书中有一些新的内容,象时钟电路SD201*、电源部分,都是愚所激赏的,跟别的书籍相比,内容新,基本没有重复的地方。 如果初学者能买到周航慈的《单片机软件设计技术》,再下载一套89C51或者78E52的数据手册,随便从哪里找一本详细讲51语言的书,也就行了。这样的书,最好从图书馆借来看看。何老师的书中也有一部分内容,讲程序设计的,没有详讲语言。其实最好的就是原来徐涵芳老师编著的那本小册子,好像是《51/96单片机设计技术》。好在是原汁原味,篇幅小而精干,也不贵。手边的参考书有以上三位老师的编著就可以了,其它的,随便看看,如果有用,记住器件的名字,从网络上下载下来看看就行了。2.5光电管 我这里所谓的光电管有2种:1)反射型光电管2)对射型光电管 这2种产品在市场上又可分为调理好的和没有调理好的; 这2种光电管在电子产品世界和电子技术应用杂志上都有大量的广告。随便找一本都有。我所说的调理好的指的是内部已经加了限流电阻和输出的放大驱动电路了。它的特点是只有3根线,电源2根,输出信号一根,TTL电平的;但是,有时受到某种限制,需要使用没有调理好的,怎么办呢? 参见下图:光电管原理框图 这种没有调理好的光电管在使用时,需要做一块小的电路板,在发光管加限流电阻,在光电三极管的集电极加上拉电阻到5V,如下图所示:光电管工作框图1。 但是,在使用中我发现,输出的信号不稳定,尤其是在使用比较长的电缆传输到单片机的时候;究其原因,我认为是由于反射或者对射的红外光落在光电三极管的靶面上,光强未能导致光电三极管深度饱和,使得输出的内阻偏大,肪车脑肷偷缋碌母扇判藕湃菀自谙呗飞系拥脑倒剩?br>为了可靠工作,仿照达林顿管的结构,在光电三极管的输出端加一个限流电阻接到NPN的B结,当无光的时候,2N5551饱和导通,输出电压为0V;实际测量小于0.1V;当有光,甚至是弱光时,2N5551截至,输出电压为5V。将3K电阻换成更大或更小的电阻,可以调整光电三极管的输出的灵敏度。 具体工作过程可以自行分析,做个实验。2.6电容 2.6.1电容的主要种类电容有以下几大类:1)电解电容2)独石电容3)磁片电容 4)胆(左金右旦)电解电容5)涤纶电容等 电容的指标是:耐压值和电容容量。例如:220u/50V,就是说,这个电解电容耐压值为50V,容量为220u。 电容的容量跟电容的介质有关。顾名思义: 电解电容为电解质作为介质的,铝作为电极;独石电容是使用石头作为介质的;磁片电容是磁片作为介质的; 胆(左金右旦)电解电容使用电解质作为介质,但是,电极采用胆(左金右旦)金属。涤纶电容采用涤纶作为介质。有兴趣的网友可以拆一个电容看看。2.6.1电容的使用场合1.电源稳压和滤波 电解电容主要是用来稳压和低频交流滤波的;高频滤波是使用磁片电容和独石电容。 当电解电容作为稳压时,接在整流桥和三端稳压器的输出端,起到稳定电压的作用。其工作机理相当于一个水库,从上游来的带有波浪的水到了水库,就变的平滑了。 但是,铝电解电容的电解质随着时间的推移会干涸,所以在设计时
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 应用文书 > 报告/总结

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服