资源描述
1、买一块性价比高一点的学习板;
2、跟着郭天祥的《10天学会51单片机和C语言》简单入门;
3、看平凡单片机的《单片机轻松入门2》,了解单片机的指令系统与内部结构;
4、跟着《单片机课程设计指导》一书(电子协会有的借)进行实战
大学生应该学习单片机什么知识
有不少的在校的大学生写信给我,问在学校里应该学习什么电子知识.就业形势越来越严峻,不光是在中国,全球都一样,全球经济的发展速度放慢,至少会持续几年的时间.半导体产业目前进入低潮,很多公司裁员和亏损.但是技术还是在不断进步,摩尔定律还在起作用,半导体产品的集成度,速度,价格都按摩尔定律在发展.在大学里只是混混日子的大学生不少,但也有一些比较努力的学生,想掌握更多的知识,
希望能够在毕业之后找到好的工作,或者想创造一番事业,对于这些学生,我是赞赏的.我相信一分辛劳一分收获,你的努力是不会白费的.这个世界是适者生存,不适者淘汰的社会.像华为公司,进进出出的人不计其数,能适应的,留,不适应的,走.
有网友问我,你在大学里是怎么度过的?我是一个对电子有浓厚兴趣的人,在高中的时候就开始抓电烙铁,把家里的电器搞的乱七八糟(拆了,就不知道怎么装回去,当然现在不会这样了). 在大学里,我对电子很感兴趣,自己也买一些器件(我在广州中山大学读书,广州是一个很好的市场,元器件容易买,不管是旧的,还是新的,开始的时候,自己兜里没有多少钱,就买一些旧的元器件),然后自己组装音响,一开始问题真是多,搞了一个学期才搞定,由于问题多,所以经常到图书馆去查资料,去书店看(没有钱买书的时候就抄一段回来),学到很多模拟电路方面的知识.后来就组装逆变器(学校里晚上要关灯,没有电),逆变器可以在关灯了的时候提供电,别的宿舍都停电了,我宿舍就不会停(有逆变器供电),一到关了灯,同学们都跑到我们宿舍来聊天(别的宿舍都一片黑),也是其乐熔融,还有半夜三更看球赛.还组装了CD,VCD,录像机,我们宿舍成为了娱乐中心,可以卡拉OK,可以看电视,看录像,整个物理系,就我们宿舍是最齐全的娱乐设施.也不知道看过多少张VCD,很多同学是广州,从家里拿来好多VCD(还有一些同学的老爸是抓走私的,收缴了好多VCD,也拿过来看),每到下午6点,就开始放VCD,很多人看. 通过这些组装,学习了很多关于模拟电路和数字电路方面的知识,虽然我别的课程学的不好,但是电路的课程是一流的.
单片机和fpga方面的知识,在大学学的不多,因为学校的东西太落后,都是到公司才学的.
我认为对于搞电子来说,兴趣是最好的老师,如果你没有兴趣,那么最好不要选择电子的专业,因为毕竟有些时候比较累(一个小问题也可能折腾半天),很多时候理论上可以,实践上就不通.
闲话少说,还是讲讲应该掌握哪些东西吧.电子方面的知识很多,比电脑的知识要多不知道多少倍,学习电脑的,只要掌握几门语言就可以了,而搞电子的,需要的知识要全面很多,比如模拟电路,数字电路,单片机,电路制版等......由于电子知识太多,所以一般搞硬件的公司都比较多的员工,分工合作也比较细.因为一个人的能力有限,不可能掌握所有的知识.比如一些人专门设计外壳,一些人专门设计电路板,一些人专门搞出厂测试,一些人专门编写程序,一些人专门从事逻辑设计,一些人专门搞高频无线......
有人问我,你现在想转行吗?我的回答是不会,因为不管你做什么,你学而不精,还是无用武之地.电子行业需要干一行专一行,而不是学一行丢一行. 我在单片机,CPLD方面有了比较好的基础, 从事这方面的设计会得心应手,如果你改而从事别的设计,比如设计外壳,将一切从头开始.
所以在大学里,必须掌握一些基础知识(这是必要的,毕竟你还不知道毕业后将干什么工作),基础知识主要有模拟电路和数字电路以及高等数学知识(必修课).然后重点学习一些别的知识,比如单片机,FPGA,PCB设计,DSP(这些都是选修课),不要什么都学,自己感兴趣的,有条件的学一学. 有些人的求职简历写着学了什么什么,罗列一大堆,我认为这种人是吹牛,或者是学而不精.每个领域,要想精通,不要说一年两年,可能10年8年,都有的学.如果我去招聘,我反而看重简历里学的知识不是很杂,但有所精通的人.这些人一般有比较多的实践经验.实践比理论要重要的多,对于搞电子的来说.特别是高频,理论通,实践往往不通,但是实践通的,理论上又难于解析.
对于单片机来说,主要学习一下51单片机,尽管有了一些别的单片机,比如AVR,PIC,MSP430,ST,MOTOROLA等,但是51用的企业还是最多的,搞电子的厂家,不用51的,是少数.对于求职,你懂51的话,很多公司都可以去.但是别的单片机,如果对方根本不用,那么他就不会考虑招你进去. 当然对别的单片机进行一些了解,当然是可以的,但重点还是在51上.主要51的开发工具比较成熟,而且供货商相当多,根本不用考虑货源问题.51是开放的内核,多厂家生产,而别的内核都不是开放的,独家生产. 学习51,主要以Keil C51为主,来学习,因为Keil C51是世界上最好的(个人认为)的编译器,懂keil的人也很多,技术支持完备.要以Keil C51 V6.xx版本为基础学习,不要用DOS版或Keil C51 V5.xx,这些版本几乎已经淘汰,只有一些仿真机厂家才当作宝贝,嵌入低版本的编译器,这种做法始终是落后的.目前专门描述Keil C51 V6.xx的书还没有,为了帮助大家学习,与时代同步,我写了一些教程,给大家参考.有时间再看一些别的单片机的资料.
PCB制版,可以学习Protel99,介绍Protel99的书很多,也很容易买到,电路制版需要学习的时间不需要很多,可以掌握一下,有条件的最好自己实际去制作一下电路板.
CPLD,FPGA是可编程逻辑电路,这个很有必要花功夫学习,目前一些企业的技术还是比较落后,还经常使用8155,8237,138等一些老掉牙的芯片.没有办法,学校里学习的都是这些.用gal,CPLD已经可以完全代替这些电路.而且成本还便宜.一些网友发给我的电路我一看就头晕,一堆的74hc00,74hc04,4069,373,138等,板子很大,为何不用一块GAL,或CPLD搞定? 用这些芯片,不但电路布线复杂,容易出问题,而且影响成品率,容易被人复制.要制造更为复杂的逻辑,那就非CPLD,FPGA莫属了.CPLD的设计主要有Xilinx和Altera两个公司的.可以学习其中的一种.这些开发板,一般都可以买到,不少人制作和销售.我的网站将主要以Altera的为主,因为软件是免费的,我的网站有下载,芯片也容易买. 学习的时候主要以图形设计为主,用语言设计毕竟还比较抽象,有时间就可以加深一下,学习一下VHDL语言.
DSP知识,需要学习的人有比较好的数学基础,如果你的数学很好,可以选修一下.DSP设计的门槛比较高,开发工具也比较贵,高校设立dsp课程的也比较少,一般的学校都没有条件去学,有条件学习的,学一下,没有条件的,就不学也罢.
其他知识,比如高频电路,外壳设计(AutoCAD),属于专业性比较强的知识,学习该专业的可以学一下,不是该专业的,可以不学.
总结:
1.学习模拟电路和数字电路,高等数学等基础知识
2.必修单片机,PCB电路板设计
3.选修CPLD,DSP,高频电路,外壳设计等.
4.能力强的学多一些,能力小的,学少一些.
5.注重实践,多动手,理论要联系实际.
这就是我的看法,希望批评指正.
如何学习单片机
很多想学单片机的人问我的第一句话就是怎样才能学好单片机?对于这个问题我今天就我自己是如何开始学单片机,如何开始上手,如何开始熟练这个过程给大家讲讲。
先说说单片机,一般我们现在用的比较多的的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/can bus/以太网/USB)
3) 开关量(TTL,电流环路,干接点)
4) 模拟量(4~20ma、 0~10ma、0~5V(平衡和非平衡信号))
输出基本上有以下组成:
1) 串行接口(RS232/485/can bus/以太网/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的产品来说,应该是最好的;作为工业级的控制,是不是合适,在网友中有不同的看法和争议。本公司使用atmel ARM91系列开发的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.2 74系列
2.3 CD4000系列
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.2 74系列芯片
74系列的芯片的下载地址:
.tw/asp/class36_40.htm
74系列的芯片是古老的一族,大部分的芯片现在均已不用了,但是,实际上,在目前的系统中,还能看到一些芯片,有些芯片现在还在系统中使用,例如:
1、 7404 – 6个反相门
下载地址:
将输入的TTL逻辑反相,如:0->1,1->0
2、 7407 – 6个集电极开路门
下载地址:
由于集电极开路门可以外接高电压,可以最高到DC30V,电流最大到39mA,通常我用它驱动8字数码管和继电器等大电流的负载;开路门内部结构是达林顿管的,输出的逻辑是正的;
与其类似的芯片是7406,只不过是反相开路门。
3、 74LS573与74LS373 – 8 数据锁存器
74LS373下载地址:
74LS573下载地址:
引入几个概念:
1. 真值表
参见74LS373的PDF的第2页:
Dn LE OE On
H H L H
L H L L
X L L Qo
X X H Z
这个就是真值表,表示这个芯片在输入和其它的情况下的输出情况。
每个芯片的数据手册(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->0
d. 这时,你所需要输出的数据就锁存在On上了,输入的数据在变化也影响不到输出的数据了;实际上,单片机现在在忙着干别的事情,串行通信、扫描键盘……单片机的资源有限啊。
在单片机按照RAM方式进行并行数据的扩展时,使用movx @dptr, A这条指令时,这些时序是由单片机来实现的。
后面的表格中还有需要时间的参数,你不需要去管它,因为这些参数都是几十ns级别的,对于单片机在12M下的每个指令周期最小是1us的情况下,完全可以实现;如果是你自己来实现这个逻辑,类似的指令如下:
mov P0,A 将数据输出到并行数据端口
clr LE
setb LE
clr LE 上面三条指令完成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.3 CD4000系列
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系列的做不到这么高;
下载地址:
.tw/asp/class36_40.htm
.tw/pdf_file/CD4060.PDF
2.4 ULN2003/ULN2008
它的内部结构也是达林顿的,专门用来驱动继电器的芯片,甚至在芯片内部做了一个消线圈反电动势的二极管。ULN2003的输出端允许通过IC 电流200mA,饱和压降VCE 约1V左右,耐压BVCEO 约为36V。用户输出口的外接负载可根据以上参数估算。采用集电极开路输出,输出电流大,故可以直接驱动继电器或固体继电器(SSR)等外接控制器件,也可直接驱动低压灯泡。
经常在工控的板卡中见到这个芯片。
有个完全一样的型号:MC1413,不过现在好像不怎么见到这个型号了,但是管脚与2003完全兼容。
ULN2003可以驱动7个继电器;ULN2008驱动8个继电器。
ULN2003下载地址:
ULN2008下载地址:
没有找到。奇怪啊。
2.5 光耦
光耦是做什么用的?光耦是用来隔离输入输出的,主要是隔离输入的信号。
在各种应用中,往往有一些远距离的开关量信号需要传送到控制器,如果直接将这些信号接到单片机的I/O上,有以下的问题:
1) 信号不匹配,输入的信号可能是交流信号、高压信号、按键等干接点信号;
2) 比较长的连接线路容易引进干扰、雷击、感应电等,不经过隔离不可靠
所以,需要光耦进行隔离,接入单片机系统。
常见的光耦有:
1) TLP521-1/ TLP521-2/ TLP521-4,分别是1个光耦、2个光耦和4个光耦,HP公司和日本的东芝公司生产。
下载地址:
.tw/pdf_file/TLP521-1-2,4.PDF
发光管的工作电流要在10mA时,具有较高的转换速率;
在5V工作时,上拉电阻不小于5K,一般是10K;太小容易损坏光耦;
2) 4N25/4N35,motorola公司生产
下载地址:
.tw/pdf_file/4N25-8,35-7,H11A1-5.PDF
隔离电压高达5000V;
3) 6N136,HP公司生产
下载地址:
.tw/pdf_file/6N135-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) 饱和导通状态
饱和导通=0
2) 截止状态
饱和导通=1
3) 线性放大状态
作为低频放大器时使用,具体的可参见有关电子线路的书籍;
4) 非线性工作状态
在无线电通信系统中,作为混频器等使用。具体的可参见有关电子线路的书籍;
愚记得南京工学院也就是现在的东南大学在80年代初期有一套《电子线路》5本,是电子专业的书籍,比较难懂;现在,即使是在电子专业的学生中,也应该降低了对三极管的哪些复杂的参数的要求了吧;在实际使用时,即使是模拟电路、非线性电路,也都是集成电路了,谁还使用三极管自己做呢?如果万一需要,现学也来得及。这套书很强的。编写人在那个年代肯定都是牛人。
学三极管这些参数很繁琐的,要是现在的非电子类的大学生或者大专生们还学这些玩意,我只能说是学校在误人子弟了。
好多学校都在扩招,很多学生念了4年下来,学了一堆过时的理论,跟实际的东西一点没有接轨,不知道7407是干什么用得,不知道三极管的几个状态;我只能无话可说。
所以,念了4年下来,跟企业的需求还有一段距离,还需要从头来过;聪明的学生赶紧抓住机会去学习,去实习,这样,还可以赶紧补上实际应用的这一课。
言归正传。
参见下图:
当单片机的口线输出电平为1时,三极管的be结导通,ce结导通,输出的电压值为0V;
当单片机的口线输出电平为0时,三极管的be结不导通,ce结截止,输出的电压值为5V;
在这种数字电路的应用中,相当于三极管是一个反相开路门。
计算是否导通,公式如下:
I=B(放大倍数,希腊字母的贝塔)×Ibe
当Ice
相差越大,饱和程度越深,Vce越小,三极管的输出内阻越小;
这个概念要用到光电管中。
设计使用时大概算算,心里有个数;在电路板上试试,行的
展开阅读全文