从51初学者到电子工程师.docx
《从51初学者到电子工程师.docx》由会员分享,可在线阅读,更多相关《从51初学者到电子工程师.docx(29页珍藏版)》请在冰豆网上搜索。
![从51初学者到电子工程师.docx](https://file1.bdocx.com/fileroot1/2022-11/20/c06ce382-8578-47e0-a7f9-607b9301e928/c06ce382-8578-47e0-a7f9-607b9301e9281.gif)
从51初学者到电子工程师
从51初学者到电子工程师
前言
很多电子工程师在某个方面精深钻研,成为某一个特殊领域的专家,从一开始的养家糊口、慢慢小有收益、最后宝马豪宅,也是有的;这些电子工程师可能没有全面掌握这些知识,因为这些行业用不上,例如,液晶显示器,很多行业就不需要;但是,对于一个初学者,我认为,这个提纲是切合实际的,对于面向控制而言,已经基本够用了;对于初学者,全面地掌握这些知识是很有必要的,因为你不知道今后需要使用什么哪些知识,而这些知识,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等,我觉得已经没有必要去看了,知道历史上有这些一回事就行了;这些知识,是所有产品都具备的要素。
所以要学,再具体应用。
说一个小的故事:
从前,有一个农民,冬天干了活后,休息晒太阳。
好舒服呀。
他想,这么舒服的享受,我要献给国王,让他也能得到享受。
于是他兴冲冲地到了王宫,将他的宝贵经验献给了国王。
我现在就像这个农民,把自己认为很宝贵的经验献给大家。
希望大家多提宝贵意见;拍板砖也可以,骂我也无所谓,呵呵,随便。
第二课基本的芯片和分立器件
2.1简述
有必要对以下系列的芯片和分立器件进行介绍。
除了单片机作为控制器的核心外,作为一个产品,由很多东西构成;所以,在讲系统之前,先将这些零零碎碎的东西一并交待。
就好像一栋房子,有各种各样的构件组成,下面的这些东东就像砖瓦一样,没有不行。
2.274系列芯片
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页:
DnLEOEOn
HHLH
LHLL
XLLQo
XXHZ
这个就是真值表,表示这个芯片在输入和其它的情况下的输出情况。
每个芯片的数据手册(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的情况下,完全可以实现;如果是你自己来实现这个逻辑,类似的指令如下:
movP0,A;将数据输出到并行数据端口
clrLE
setbLE
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系列的做不到这么高;
下载地址:
.tw/asp/class36_40.htm
.tw/pdf_file/CD4060.PDF
2.4ULN2003/ULN2008
它的内部结构也是达林顿的,专门用来驱动继电器的芯片,甚至在芯片内部做了一个消线圈反电动势的二极管。
ULN2003的输出端允许通过IC电流200mA,饱和压降VCE约1V左右,耐压BVCEO约为36V。
用户输出口的外接负载可根据以上参数估算。
采用集电极开路输出,输出电流大,故可以直接驱动继电器或固体继电器(SSR)等外接控制器件,也可直接驱动低压灯泡。
经常在工控的板卡中见到这个芯片。
有个完全一样的型号:
MC1413,不过现在好像不怎么见到这个型号了,但是管脚与2003完全兼容。
ULN2003可以驱动7个继电器;ULN2008驱动8个继电器。
ULN2003下