從頭到尾做乙個LED跑馬燈

2021-06-15 21:01:03 字數 2609 閱讀 7820

在公司尾牙(年終聚餐)上為了讓那張活動記分表不那麼單調,我想把它的旁邊加一些跑馬燈了美化一下.於是乎就來自己動手來自己做乙個.畢竟自己是搞這行的嘛.

先看看效果圖

因為自己是偏軟的所以有很多任務作都是請教公司的前輩來協助的.

再來看看電路圖[保留下次上傳]:

嗯,因為說了要從頭到尾做乙個跑馬燈嘛,所以先一些元器件吧.

其實就只有易隆的em78p156lic一塊.和一些led,三極體和電阻.

1.cpu. em78p156el是鍇哥友情贊助的,說實話我也不知道具體要選擇什麼樣的ic才合適.

具體的cpu datasheet 請參考:

那裡有非常詳細的說明.

2.三極體:

三極體是電流放大器件,有三個極,分別叫做集電極

c,基極

b,發射極

e。分成

npn和

pnp兩種。我們僅以

npn三極體的共發射極放大電路為例來說明一下三極體放大電路的基本原理。

下面的分析僅對於

npn型矽三極體。如上圖所示,我們把

從基極b

流至發射極

e的電流

叫做基極電流

ib;把

從集電極

c流至發射極

e的電流

叫做集電極電流

ic。這兩個電流的方向都是流出發射極的,所以發射極

e上就用了乙個箭頭來表示電流的方向。三極體的放大作用就是:

集電極電流

受基極電流

的控制(假設電源能夠提供給集電極足夠大的電流的話),

並且基極電流很小的變化,會引起集電極電流很大的變化

,且變化滿足一定的比例關係:

集電極電流的變化量

是基極電流變化量的β倍

,即電流變化被放大了β倍

,所以我們

把β叫做三極體的放大倍數

(β一般遠大於

1,例如幾十,幾百)。如果我們將乙個變化的小訊號加到基極跟發射極之間,這就會引起基極電流

ib的變化,

ib的變化被放大後,導致了

ic很大的變化。如果集電極電流

ic是流過乙個電阻

r的,那麼根據電壓計算公式

u=r*i

可以算得,這電阻上電壓就會發生很大的變化。我們將這個電阻上的電壓取出來,就得到了放大後的電壓訊號了。

三極體在實際的放大電路中使用時,還需要加合適的偏置電路。這有幾個原因。首先是

由於三極體

be結的非線性

(相當於乙個二極體),

基極電流必須在輸入電壓大到一定程度後才能產生

(對於矽管,常取

0.7v

)。當基極與發射極之間的電壓小於

0.7v

時,基極電流就可以認為是

0。但實際中要放大的訊號往往遠比

0.7v

要小,如果不加偏置的話,這麼小的訊號就不足以引起基極電流的改變(因為小於

0.7v

時,基極電流都是

0)。如果我們事先在三極體的基極上加上乙個合適的電流(叫做

偏置電流

,上圖中那個電阻

rb就是用來提供這個電流的,所以它被叫做

基極偏置電阻

),那麼當乙個小訊號跟這個偏置電流疊加在一起時,小訊號就會導致基極電流的變化,而基極電流的變化,就會被放大並在集電極上輸出。另乙個原因就是輸出訊號範圍的要求,如果沒有加偏置,那麼只有對那些增加的訊號放大,而對減小的訊號無效(因為沒有偏置時集電極電流為

0,不能再減小了)。而加上偏置,事先讓集電極有一定的電流,當輸入的基極電流變小時,集電極電流就可以減小;當輸入的基極電流增大時,集電極電流就增大。這樣減小的訊號和增大的訊號都可以被放大了。

下面說說三極體的飽和情況。像上面那樣的圖,因為受到電阻

rc的限制(

rc是固定值,那麼最大電流為

u/rc

,其中u

為電源電壓),集電極電流是不能無限增加下去的。

當基極電流的增大,不能使集電極電流繼續增大時,三極體就進入了飽和狀態

。一般判斷三極體是否飽和的準則是:

ib*β〉

ic。進入飽和狀態之後,三極體的集電極跟發射極之間的電壓將很小,可以理解為乙個開關閉合了。這樣我們就可以拿三極體來當作開關使用:當基極電流為

0時,三極體集電極電流為

0(這叫做

三極體截止

),相當於開關斷開;當基極電流很大,以至於三極體飽和時,相當於開關閉合。如果三極體主要工作在截止和飽和狀態,那麼這樣的三極體我們一般把它叫做開關管。

如果我們在上面這個圖中,將電阻

rc換成乙個燈泡,那麼當基極電流為

0時,集電極電流為

0,燈泡滅。如果基極電流比較大時(大於流過燈泡的電流除以三極體的放大倍數β),三極體就飽和,相當於開關閉合,燈泡就亮了。由於控制電流只需要比燈泡電流的β分之一大一點就行了,所以就可以用乙個小電流來控制乙個大電流的通斷。如果基極電流從

0慢慢增加,那麼燈泡的亮度也會隨著增加(在三極體未飽和之前)。

對於pnp型三極體,分析方法類似,不同的地方就是電流方向跟

npn的剛好相反,因此發射極上面那個箭頭方向也反了過來——變成朝里的了。

乙個跑馬燈外掛程式(持續優化)

這是我寫的乙個粗略的跑馬燈外掛程式1.0,後面的版本將新增滾動的功能!使用方法 一 html模板 div id div p 這是我寫的乙個粗略的跑馬燈,滾動方向可以設定,具體的寬高樣式可以設定,速度可以設定,後面會持續優化。p div div 首先這個跑馬燈的框架固定是這樣的,不可改變。最外層的di...

乙個跑馬燈外掛程式(持續優化)

這是我寫的乙個粗略的跑馬燈外掛程式1.0,後面的版本將新增滾動的功能!使用方法 一 html模板 div id div p 這是我寫的乙個粗略的跑馬燈,滾動方向可以設定,具體的寬高樣式可以設定,速度可以設定,後面會持續優化。p div div 首先這個跑馬燈的框架固定是這樣的,不可改變。最外層的di...

Android中實現乙個跑馬燈的效果

android中實現乙個跑馬燈的效果 在新建乙個android product之後,在布局檔案main中替換掉原來的textview 如下 android layout width 60dp android layout height wrap content android textcolor a...