第二課 基本的晶元和分立器件
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. 何立民:《......》
有了這些就基本夠用了;其它的很多都是資料的翻譯;如果英文不好,可以看看;
英文好的話,可以不必了,省電錢買開發系統和程式設計器、開發板什麼的,需要什麼
第二課 基本的晶元和分立器件
2.1 簡述
有必要對以下系列的晶元和分立器件進行介紹。
除了微控制器作為控制器的核心外,作為乙個產品,由很多東西構成;所以,在講係
統之前,先將這些零零碎碎的東西一併交待。就好像一棟房子,有各種各樣的構件
組成,下面的這些東東就像磚瓦一樣,沒有不行。
74系列的晶元是古老的一族,大部分的晶元現在均已不用了,但是,實際上,在目
前的系統中,還能看到一些晶元,有些晶元現在還在系統中使用,例如:
1、 7404 – 6個反相門
2、 7407 – 6個集電極開路門
用它驅動8字數碼管和繼電器等大電流的負載;開路門內部結構是達林頓管的,輸
出的邏輯是正的;
與其類似的晶元是7406,只不過是反相開路門。
3、 74ls573與74ls373 – 8 資料鎖存器
引入幾個概念:
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級二進位制序列計數/
2.4 uln2003/uln2008
它的內部結構也是達林頓的,專門用來驅動繼電器的晶元,甚至在晶元內部做了一
個消線圈反電動勢的二極體。uln2003的輸出端允許通過ic 電流200ma,飽和壓降
vce 約1v左右,耐壓bvceo 約為36v。使用者輸出口的外接負載可根據以上引數估算
。採用集電極開路輸出,輸出電流大,故可以直接驅動繼電器或固體繼電器(ssr)
等外接控制器件,也可直接驅動低壓燈泡。
經常在工控的板卡中見到這個晶元。
有個完全一樣的型號:mc1413,不過現在好像不怎麼見到這個型號了,但是管腳與
2003完全相容。
uln2003可以驅動7個繼電器;uln2008驅動8個繼電器。
2.5 光耦
光耦是做什麼用的?光耦是用來隔離輸入輸出的,主要是隔離輸入的訊號。
在各種應用中,往往有一些遠距離的開關量訊號需要傳送到控制器,如果直接將這
些訊號接到微控制器的i/o上,有以下的問題:
1) 訊號不匹配,輸入的訊號可能是交流訊號、高壓訊號、按鍵等幹接點訊號;
2) 比較長的連線線路容易引進干擾、雷擊、感應電等,不經過隔離不可*
所以,需要光耦進行隔離,接入微控制器系統。
常見的光耦有:
1) tlp521-1/ tlp521-2/ tlp521-4,分別是1個光耦、2個光耦和4個光耦,hp公司
和***的東芝公司生產。
發光管的工作電流要在10ma時,具有較高的轉換速率;
在5v工作時,上拉電阻不小於5k,一般是10k;太小容易損壞光耦;
隔離電壓高達5000v;
3) 6n136,hp公司生產
的作用。
如果對速率要求不高,其實tlp521-1也可以用,實際傳輸速率可以到19200波特率
選擇光耦看使用場合,tlp521-1是最常用的,也便宜,大概0.7~1元;
要求隔離電壓高的,選用4n25/4n35,大概在3元左右;
要求在通訊中高速傳輸資料的,選用6n136,大概在4元左右。
光耦應用的原理框圖如下所示:
1. 輸入幹接點隔離
2. 輸入ttl電平隔離
3. 輸入交流訊號隔離
4. 輸出rs232訊號隔離
5. 輸出rs422訊號隔離
光耦除了隔離數字量外,還可以用來隔離模擬量。將在今後的章節中描述。
從51初學者到電子工程師1
從初學者到電子工程師 一 前言 很多電子工程師在某個方面精深鑽研,成為某乙個特殊領域的專家,從一開始的養 家餬口 慢慢小有收益 最後寶馬豪宅,也是有的 這些電子工程師可能沒有全面 掌握這些知識,因為這些行業用不上,例如,液晶顯示器,很多行業就不需要 但 是,對於乙個初學者,我認為,這個提綱是切合實際...
51微控制器到電子工程師
很多電子工程師在某個方面精深鑽研,成為某乙個特殊領域的專家,從一開始的養家餬口 慢慢小有收益 最後寶馬豪宅,也是有的 這些 電子工程師 可能沒有全面掌握這些知識,因為這些行業用不上,例如,液晶顯示器,很多行業就不需要 但是,對於乙個初學者,我認為,這個提綱是切合實際的,對於面向控制而言,已經基本夠用...
從工程師到專案經理
專案經理職業生涯 在it企業中,作為乙個技術工程師,今後的職業規劃是怎樣的?應該如何來應變越來越大的職業壓力?技術工程師的將來在 其實大家心裡都清楚,技術工程師的將來有幾條路 其一,技術管理,通過豐富的技術經驗和不斷成長的資歷走向管理層 其二,資深技術顧問,在技術這條道上走到黑,成為某個技術領域的權...