天天看點

電子基礎3

13 器件選購的知識

第三課 數字量的輸入輸出

第四課 單片機的通訊接口

第五課 單片機系統設計的硬體構思

第六課 單片機程式的架構(彙編版本)

第七課 模拟量的輸入輸出

……

各位多提寶貴意見。

保證明用。如果程式裡面有一些例程,也是已經經過測試可以拿來就用的;實

際上是我早年的一些産品的程式的一部分;不好意思,都是彙編的。

寫的時間隻有周末會多一些,可以保證做到一周一課;盡量能夠提前,但是這

要看看工作忙不忙了。

坊間有一些參考書,準備今天上午到北京中發市場轉了一圈,我記得以下參考

書目較好:

1. 周航慈:《單片機程式設計》

2. 徐涵芳:《MCS-51 單片機結構與設計》

3. 何立民:《......》

有了這些就基本夠用了;其它的很多都是資料的翻譯;如果英文不好,可以看

看;英文好的話,可以不必了,省電錢買開發系統和程式設計器、開發闆什麼的,需要什麼資料

直接下載下傳PDF檔案好了。

要想成為電子工程師,需要寬帶,在家裡安裝包月的ADSL 或者長寬,絕對

值得。

實際上,網絡上什麼都有了,就是一個網絡資料庫,要好好利用。

網上自有黃金屋,網上自有顔如玉……

第二課 基本的晶片和分立器件

個人部落格: http://www.ednchina.com/blog/wang1jin/

歡迎大家光臨: http://www.ednchina.com/blog/wang1jin/

2.1 簡述

有必要對以下系列的晶片和分立器件進行介紹。

除了單片機作為控制器的核心外,作為一個産品,由很多東西構成;是以,在

講系統之前,先将這些零零碎碎的東西一并交待。就好像一棟房子,有各種各樣的構件組成,

下面的這些東東就像磚瓦一樣,沒有不行。

2.2 74 系列晶片

74 系列的晶片的下載下傳位址:

http://www.dainau.com/TTLDATASHEET.htm

http://www.100y.com.tw/asp/class36_40.htm

http://www.mcu51.com/download/digitpdf/74xx/default.htm

74 系列的晶片是古老的一族,大部分的晶片現在均已不用了,但是,實際上,

在目前的系統中,還能看到一些晶片,有些晶片現在還在系統中使用,例如:

1、 7404 – 6個反相門

下載下傳位址: http://www.hqew.com/document/detail.asp?pdid=125533

将輸入的TTL邏輯反相,如:0->1,1->0

2、 7407 – 6個集電極開路門

下載下傳位址: http://www.hqew.com/document/detail.asp?pdid=125518

由于集電極開路門可以外接高電壓,可以最高到DC30V,電流最大到39mA,

通常我用它驅動8 字數位管和繼電器等大電流的負載;開路門内部結構是達林頓管的,輸出

的邏輯是正的;

與其類似的晶片是7406,隻不過是反相開路門。

3、 74LS573 與74LS373 – 8 資料鎖存器

74LS373 下載下傳位址: http://www.hqew.com/document/detail.asp?pdid=129171

74LS573 下載下傳位址: http://www.yddz.net/yddzsourse/pdf/74hc573.pdf

個人部落格: http://www.ednchina.com/blog/wang1jin/

歡迎大家光臨: http://www.ednchina.com/blog/wang1jin/

引入幾個概念:

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是鎖存的意思;

個人部落格: http://www.ednchina.com/blog/wang1jin/

歡迎大家光臨: http://www.ednchina.com/blog/wang1jin/

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容易走線;是以大家都喜歡使用這個晶片。

個人部落格: http://www.ednchina.com/blog/wang1jin/

歡迎大家光臨: http://www.ednchina.com/blog/wang1jin/

4、 74LS244 – 資料緩沖器

下載下傳位址: http://www.mcu51.com/download/digitpdf/74xx/74F244.pdf

資料輸出能力比較強,輸出電流可以到40mA 以上;

4個緩沖器分成2 組,具有高阻态控制端口

5、 74LS245 – 總線緩沖器

http://www.mcu51.com/download/digitpdf/74xx/74F245.pdf

雙向資料接口,通常在ISA闆卡上可以看到;

早期的51系統中,為了擴充RAM、eprom、A/D、D/A、I/O 等經常可以看到

這個片子;

為了增強驅動能力,有時是為了隔離輸入和輸出,主要是布線友善,像74LS573

一樣,輸入、輸出在一側,經常用到這個片子

6、 74LS138 – 三-八譯碼器

http://www.mcu51.com/download/digitpdf/74xx/74F138.pdf

在早期的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負載;

個人部落格: http://www.ednchina.com/blog/wang1jin/

歡迎大家光臨: http://www.ednchina.com/blog/wang1jin/

5) 如果加上拉電阻的話,至少要100K電阻;

6) 唯一現在使用的可能就是計數器,CD4060 的計數器可以到14 級二進制串

行計數/分頻器,這個74 系列的做不到這麼高;

下載下傳位址:

http://www.100y.com.tw/asp/class36_40.htm

http://www.100y.com.tw/pdf_file/CD4060.PDF

2.4 ULN2003/ULN2008

它的内部結構也是達林頓的,專門用來驅動繼電器的晶片,甚至在晶片内部做

了一個消線圈反電動勢的二極管。ULN2003 的輸出端允許通過IC

電流200mA,飽和壓降VCE 約1V 左右,耐壓BVCEO

約為36V。使用者輸出口的外接負載可根據以上參數估算。采用集電極開路輸出,

輸出電流大,故可以直接驅動繼電器或固體繼電器(SSR)等外接控制器件,也可直接驅動低

壓燈泡。

經常在工控的闆卡中見到這個晶片。

有個完全一樣的型号:MC1413,不過現在好像不怎麼見到這個型号了,但是

管腳與2003 完全相容。

ULN2003 可以驅動7 個繼電器;ULN2008 驅動8 個繼電器。

ULN2003 下載下傳位址: http://www.hqew.com/document/detail.asp?pdid=148212

ULN2008 下載下傳位址: 沒有找到。奇怪啊。

2.5 光耦

光耦是做什麼用的?光耦是用來隔離輸入輸出的,主要是隔離輸入的信号。

在各種應用中,往往有一些遠距離的開關量信号需要傳送到控制器,如果直接

将這些信号接到單片機的I/O 上,有以下的問題:

1) 信号不比對,輸入的信号可能是交流信号、高壓信号、按鍵等幹接點信号;

2) 比較長的連接配接線路容易引進幹擾、雷擊、感應電等,不經過隔離不可靠

個人部落格: http://www.ednchina.com/blog/wang1jin/

歡迎大家光臨: http://www.ednchina.com/blog/wang1jin/

是以,需要光耦進行隔離,接入單片機系統。

常見的光耦有:

1) TLP521-1/ TLP521-2/ TLP521-4,分别是1 個光耦、2 個光耦和4個光耦,

HP 公司和日本的東芝公司生産。

下載下傳位址: http://www.100y.com.tw/pdf_file/TLP521-1-2,4.PDF

發光管的工作電流要在10mA時,具有較高的轉換速率;

在5V 工作時,上拉電阻不小于5K,一般是10K;太小容易損壞光耦;

2) 4N25/4N35,motorola公司生産

下載下傳位址: http://www.100y.com.tw/pdf_file/4N25-8,35-7,H11A1-5.PDF

隔離電壓高達5000V;

3) 6N136,HP公司生産

下載下傳位址: http://www.100y.com.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. 輸入交流信号隔離

個人部落格: http://www.ednchina.com/blog/wang1jin/

歡迎大家光臨: http://www.ednchina.com/blog/wang1jin/

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) 線性放大狀态

個人部落格: http://www.ednchina.com/blog/wang1jin/

歡迎大家光臨: http://www.ednchina.com/blog/wang1jin/

作為低頻放大器時使用,具體的可參見有關電子線路的書籍;

4) 非線性工作狀态

在無線電通信系統中,作為混頻器等使用。具體的可參見有關電子線路的書籍;

愚記得南京工學院也就是現在的東南大學在80 年代初期有一套《電子線路》5

本,是電子專業的書籍,比較難懂;現在,即使是在電子專業的學生中,也應該降低了對三

極管的哪些複雜的參數的要求了吧;在實際使用時,即使是模拟電路、非線性電路,也都是

內建電路了,誰還使用三極管自己做呢?如果萬一需要,現學也來得及。這套書很強的。編

寫人在那個年代肯定都是牛人。

學三極管這些參數很繁瑣的,要是現在的非電子類的大學生或者大專生們還學

這些玩意,我隻能說是學校在誤人子弟了。

好多學校都在擴招,很多學生念了4 年下來,學了一堆過時的理論,跟實際的

東西一點沒有接軌,不知道7407 是幹什麼用得,不知道三極管的幾個狀态;我隻能無話可

說。

是以,念了4年下來,跟企業的需求還有一段距離,還需要從頭來過;聰明的

學生趕緊抓住機會去學習,去實習,這樣,還可以趕緊補上實際應用的這一課。

言歸正傳。

參見下圖:

當單片機的口線輸出電平為1時,三極管的be 結導通,ce結導通,輸出的電

壓值為0V;

當單片機的口線輸出電平為0時,三極管的be 結不導通,ce 結截止,輸出的

電壓值為5V;

在這種數字電路的應用中,相當于三極管是一個反相開路門。

計算是否導通,公式如下:

I=B(放大倍數,希臘字母的貝塔)× Ibe

當Ice<I 時,即為飽和導通;

相差越大,飽和程度越深,Vce 越小,三極管的輸出内阻越小;

這個概念要用到光電管中。

個人部落格: http://www.ednchina.com/blog/wang1jin/

歡迎大家光臨: http://www.ednchina.com/blog/wang1jin/

設計使用時大概算算,心裡有個數;在電路闆上試試,行的通,那就是它了。

可以測量Vce值,至少要小于0.1V 就可以了。

常用的PNP三極管是2N5551,驅動40mA 的LED(電壓在24V)、蜂鳴器等

均沒有問題。

2.6.2 三極管的具體應用

實際上,已經有像7407、ULN2003 可以取代三極管在數字電路中的作用;但

是,有時是受到PCB 面積的制約,有時是為了降低成本,有時是因為布局友善,在1~2 個

輸出點時,還是可以使用三極管來做驅動的。

例如:驅動一個蜂鳴器;往往系統中的蜂鳴器跟其它驅動裝置,繼電器等,距

離較遠;這時,沒有必要使用一片7407,或者ULN2003 來驅動;驅動的接口如下:

2.7 光電管

我這裡所謂的光電管有2 種:

1) 反射型光電管

2) 對射型光電管

這2 種産品在市場上又可分為調理好的和沒有調理好的;

這2 種光電管在電子産品世界和電子技術應用雜志上都有大量的廣告。随便找

一本都有。

我所說的調理好的指的是内部已經加了限流電阻和輸出的放大驅動電路了。它

的特點是隻有3 根線,電源2 根,輸出信号一根,TTL電平的;但是,有時受到某種限制,

需要使用沒有調理好的,怎麼辦呢?

參見下圖:光電管原理框圖

這種沒有調理好的光電管在使用時,需要做一塊小的電路闆,在發光管加限流

電阻,在光電三極管的集電極加上拉電阻到5V,如下圖所示:光電管工作框圖1。

但是,在使用中我發現,輸出的信号不穩定,尤其是在使用比較長的電纜傳輸

到單片機的時候;究其原因,我認為是由于反射或者對射的紅外光落在光電三極管的靶面上,

光強未能導緻光電三極管深度飽和,使得輸出的内阻偏大,環境的噪聲和電纜的幹擾信号容

易線上路上疊加的緣故;

為了可靠工作,仿照達林頓管的結構,在光電三極管的輸出端加一個限流電阻

接到NPN 的B結,當無光的時候,2N5551 飽和導通,輸出電壓為0V;實際測量小于0.1V;

個人部落格: http://www.ednchina.com/blog/wang1jin/

歡迎大家光臨: http://www.ednchina.com/blog/wang1jin/

當有光,甚至是弱光時,2N5551截至,輸出電壓為5V。将3K電阻換成更大

或更小的電阻,可以調整光電三極管的輸出的靈敏度。

具體工作過程可以自行分析,做個實驗。

2.8 電容

2.8.1 電容的主要種類

電容有以下幾大類:

1) 電解電容

2) 獨石電容

3) 磁片電容

4) 钽電解電容

5) 滌綸電容等

電容的名額是:耐壓值和電容容量。例如:220u/50V,就是說,這個電解電容

耐壓值為50V,容量為220u。

電容的容量跟電容的媒體有關。

顧名思義:

電解電容為電解質作為媒體的,鋁作為電極;

獨石電容是使用石頭作為媒體的;

磁片電容是磁片作為媒體的;

钽電解電容使用電解質作為媒體,但是,電極采用钽金屬。

滌綸電容采用滌綸作為媒體。

有興趣的網友可以拆一個電容看看。

2.8.2 電容的使用場合

1. 電源穩壓和濾波

個人部落格: http://www.ednchina.com/blog/wang1jin/

歡迎大家光臨: http://www.ednchina.com/blog/wang1jin/

電解電容主要是用來穩壓和低頻交流濾波的;高頻濾波是使用磁片電容和獨石

電容。

當電解電容作為穩壓時,接在整流橋和三端穩壓器的輸出端,起到穩定電壓的

作用。其工作機理相當于一個水庫,從上遊來的帶有波浪的水到了水庫,就變的平滑了。

但是,鋁電解電容的電解質随着時間的推移會幹涸,是以在設計時需要留有餘

量,保證系統正常工作到它的壽命。

有些遠端供電的直流電源,接到電路闆的輸入端時,需要在電路闆的電源輸入

端加一個大的電解電容,通常可以是220u/25V,這樣,這塊電路闆需要供電時,不是直接

從電源處取,而是從電容中取電,可以得到穩定的電流供給;

但是,電解電容隻能濾除低頻的波動;對于直流電源中的高頻波動,可以加一

個0.1u 或0.01u的獨石電容或者磁片電容。

很多教科書都指出,在每一個晶片的電源和地兩端接一個0.1u或0.01u的獨石

電容或者瓷片電容,解決晶片的供電過程中,由于電路闆的走線電感産生的電源開關噪聲尖

峰。這種作用下的電容叫去耦電容。這是電路闆的正常的設計;

2. 定時參數

對于像555 這樣需要外接電容産生穩定的脈沖的器件,滌綸電容是首選。可以

想象,滌綸一層又一層纏繞,受到溫度變化引起的滌綸的面積的變化的相對值要遠遠小于獨

石電容的媒體石頭受到溫度變化而引起的變化值。

3. 産生其它電壓

有些需要從單一電壓産生其它的電壓的晶片,如:max232,需要外接電容才

能實作。

參見max232技術資料。

外接01.u的钽電容。

2.8.3 電容的封裝

電容有直插和表面貼的不同封裝。

電解電容表面貼封裝的通常耐壓值不超出25V,電容值不超出100u。再大,

就隻好使用直插的了。其它的電容,磁片和獨石都有表面貼封裝的。

2.9 電阻和電位器

個人部落格: http://www.ednchina.com/blog/wang1jin/

歡迎大家光臨: http://www.ednchina.com/blog/wang1jin/

2.9.1 電阻的種類

2.9.1.1 普通電阻

電阻種類按照工藝可以分為碳膜電阻和金屬膜電阻;

按照功率可以分為小功率電阻和大功率電阻,大功率電阻通常是金屬電阻,實

際上應該是在金屬外面加一個金屬(鋁材料)散熱器,是以可以有10W 以上的功率;在電

子配套市場上專門賣電阻的市場上可以很容易地看到。

金屬電阻通常是作為負載,或者作為小裝置的室外加熱器,如,在CCTV 的

一些解碼器箱和全天候防護罩中可以看到。

電阻在電路中起到限流、分壓等作為。通常1/8W電阻已經完全可以滿足使用。

但是,在作為7段LED 中,要考慮到LED 的壓降和供電電壓之差,再考慮 LED 的最大電

流,通常是20mA(超高亮度的LED),如果是2×6(2 排6 個串聯),則電流是40mA。

不同廠家選用不同材料的,壓降有所不同。是以,需要加上電試一下,但是,

不要讓Led的電流超出20mA(單隻LED),這時加大電流亮度也不會增加,但是LED 的壽

命會下降,限流電阻的大小就是壓降除以電流。電阻的功率随之可以算出。

這個使用國中的知識就夠用了。

2.9.1.2 電位器

電位器就是可調電阻。在國中學實體時,中學老師拿一個很大的圓筒狀的東東,

上面有一個滑杆,跟這個東西很類似。

它的阻值在1~n之間變化。

N=102、502、103……

102=10*10 的2 次方,也就是1000 歐姆,1K

同理,502=5K。

這種表示的方法跟電容是一樣的。

電容104=10*10 的4 次方pf,電容的基本機關是pf,1u=1000000pf,是以,

104=100000pf=0.1u;

電位器又分單圈和多圈電位器。

個人部落格: http://www.ednchina.com/blog/wang1jin/

歡迎大家光臨: http://www.ednchina.com/blog/wang1jin/

單圈的電位器通常為灰白色,面上有一個十字可調的旋紐,出廠前放在一個固

定的位置上,不在2 頭;

多圈電位器通常為藍色,調節的旋紐為一字,一字小改錐可調;

多圈電位器又分成頂調和側調2 種,主要是電路闆調試起來友善。

有些是儀器儀表裝置,通常是模拟電路,有一些不确定的因素,需要調節才能

達到最理想的效果;有些是裝置本身就需要輸出一個可變的東東,如電壓和電流,也需要一

個電位器 

繼續閱讀