电子元件-发光二极管与数码管
本內容包括發光二極管及數碼管的基礎介紹,數碼管段碼使用C代碼例程等。紫色文字是超鏈接,點擊自動跳轉至相關博文。持續更新,原創不易!
目錄:
一、發光二極管
1、直插發光管
1)簡述? ?2)根據顏色分類? ?3)根據頭部形態分類? ?4)靜電防護? ?5)引腳成型
6)LED安裝方法? ?7)焊接? ?8)清洗? ?9)LED工作條件
2、常用發光二極管正向電壓及電池電壓
1)直插超亮發光二極管正向電壓? ?2)貼片發光二極管正向電壓? ?3)普亮發光二極管
3、發光二極管顏色與波長、光強
1)發光二極管顏色與波長? ?2)發光二極管光強
4、貼片發光管
1)概述? ?2)封裝
二、數碼管
1、簡介
2、取段碼
----------------------------------------------------------------------------------------------------------------
一、發光二極管
1、直插發光管
1)簡述
一般發光二極管分為直插與貼片兩種。
直插常用有3mm、5mm、8mm圓頭;方頭(比如LED2*5*7)。
多為兩只腳,圓頭三只腳就有兩種顏色。?
其顏色多為綠、紅、黃、藍、白,還有霧狀綠、紅、藍。貼片形式同貼片電阻、電容的封裝。
--------------------------------
2)根據顏色分類
(1)普通單色
常用的國產普通單色發光二極管有BT(廠標型號)系列、FG(部標型號)系列和2EF系列。常用的進口普通單色發光二極管有SLR系列和SLC系列等。
-----------------
(2)高亮度
高亮度單色發光二極管和超高亮度單色發光二極管使用的半導體材料與普通單色發光二極管不同,所以發光的強度也不同。 通常,高亮度單色發光二極管使用砷鋁 化鎵(GaAlAs)等材料,超高亮度單色發光二極管使用磷銦砷化鎵(GaAsInP)等材料,而普通單色發光二極管使用磷化鎵(GaP)或磷砷化鎵 (GaAsP)等材料。
-----------------
(3)變色
變色發光二極管內置IC芯片。
按引腳數量可分為二端變色發光二極管、三端變色發光二極管、四端變色發光二極管和六端變色發光二極管。
常用的雙色發光二極管有2EF系列和TB系列,常用的三色發光二極管有2EF302、2EF312、2EF322等型號。長用電壓控制型發光二極管。
-----------------
(4)電壓控制型
普通發光二極管屬于電流控制型器件,在使用時需串接適當阻值的限流電阻。電壓控制型發光二極管(BTV)是將發光二極管和限流電阻集成制作為一體,使用時可直接并接在電源兩端。
-----------------
(5)紅外發光二極管
--------------------------------
3)根據頭部形態分類
(1)草帽型LED
草帽型也叫鋼盔型,這是一種因外觀形狀酷似于草帽以及鋼盔形狀而得名,這種封裝類型的LED工作電壓一般2-3V,它的發光角度多數為120°,不過也有180°的,規格直徑有3MM也有5MM,有各種各樣的顏色、七彩、全彩等。由于這種LED功率不是很大,多數應用于廣告LED,顯示板LED,一般的燈具、照明系統不會采用這種LED來設計。
-----------------
(2)圓頭型LED
圓頭型是一種較為常見的普通的LED,在外面日常生活當中到處可見,這種有點像草帽型的,但是細看還是不一樣的,因此有著與草帽型LED一般共有的特性,功率也是普遍的低下,它的膠體一般有透明和非透明兩種。
-----------------
(3)內凹型LED
內凹型的LED它的膠體中間會凹陷下去一點,類似漏斗形狀,因此稱之為內凹型的LED,這種光色均勻,一致性較好,廣泛應用于各種燈飾品等上面。
-----------------
(4)塔型LED
塔型的LED類似于塔的形狀,底部比頂部面積大,頂部較尖,由于這種特殊的結構原因使得它可以作為很多指示燈應用場合,例如各類開關指示、儀器儀表顯示燈、其他顯示燈指等。但是有時候也經常用3MM的普通LED作指示燈使用。
-----------------
(5)方型ELD
方型LED是因為形狀類似于方型,采用環氧樹脂封裝而成,有透明也有霧面,由于具有方型結構,因此可以作為條形狀的狀態LED燈使用,適合于很多顯示燈、開關指示燈場合。
-----------------
(6)食人魚LED
食人魚LED是一種正方形且有4個引腳的發光管,其實只需要接上正負兩個引腳就可以使LED點亮,缺口那里就是負極,這種LED外形很似食人魚,因此很多人稱之為“食人魚LED”。這種LED無論是發光角度還是強度都要比普通的LED要大要高,最重要的是它的電流也比較大,功率也稍高,由于有四個引腳,因此散熱效果比兩個的好,廣泛應用于各類照明,特別是應用于車輛方面,例如轉向燈、剎車燈等,另外還有各類LED線條燈,各種室內外應用照明產品均有應用。
-----------------
(7)小蝴蝶型LED
小蝴蝶型LED多數是金屬支架,有一字型以及其他形狀,規格有2mm、3mm等。這種封裝較小,現在多見于某些線路板,廣泛應用于各類鍵盤、按鈕的背光顯示,各種照明、交通信號燈、廣告標識、設備LED顯示燈等。
--------------------------------
4)靜電防護
(1)接觸LED產品的工作臺應鋪上防護電膠布,并且將其可靠接地;
(2)人員在接觸LED時須戴好靜電手環(最好為有線靜電環)、防護手套,條件允許時最好穿上防靜電衣服、靜電鞋以及靜電帽;
(3)應用加工過程中接觸到LED的機器設備都必須可靠接地,如:烙鐵、剪腳機、彎腳機以及焊接設備等。有條件還可以安裝等離子風扇消除靜電;
(4)在使用中或在設計電子電路時,必須考慮過大的電流對LED的危害。
--------------------------------
5)引腳成型
(1)LED引腳成型必須在焊接前完成,彎角處必須離膠體3mm以上才能折彎支架。管腳在同一處的折疊次數不能超過2次,管腳彎成90度,再回到原位置為1次;
(2)引腳成型必須用夾具或由專業人員來完成,注意避免環氧體首例過大引起內部金絲斷裂 ;
(3)引腳成型需保證引腳間距與線路板一致;
(4)當LED在焊接的過程中或已焊接好后,請不要再去折彎燈腳,以免損傷到燈。
--------------------------------
6)LED安裝方法
(1)務必不要在引腳變形的情況下安裝LED
(2)在印刷式電路板上安裝LED時,線路板上孔的中心距與LED燈腳中心間距應相同,若孔的間距較大時會使燈腳有殘余應力,焊接時有可能使樹脂部分產生變形;
(3)在LED插于PCB板時,PCB板上的孔應與燈腳的尺寸相配合,避免過大或過小;
(4)安裝LED時建議用導套定位;
(5)雙插腳每只焊腳焊盤面積不小于4.6平方毫米;
(6)食人魚每只焊腳焊盤面積不小于9.2平方毫米;
(7)SMD普通單晶支架每只焊腳焊盤面積不小于 3.9平方毫米;
(8)SMD三合一支架每只焊腳焊盤面積不小于1.65平方毫米;
(9)其他類型的燈要根據實際燈的結構要制定焊盤尺寸大小。
--------------------------------
7)焊接
(1)電烙鐵焊接:電烙鐵(最高30W)尖端溫度不超過300度,焊接時間不超過3秒,焊接點應離膠體超過3mm并建議在卡點下焊接;
(2)浸焊:焊接溫度260度,浸焊時間不超過3秒,浸焊位置至少離膠體3mm,LED的預熱溫度為100-110度,最長不超過60秒;
(3)由于LED的晶片直接附著在陰極支架上,故請焊接時對LED的壓力和對晶片的熱沖擊減少到最小,以防對晶片造成傷害;
(4)在焊接過程中及焊接后不要對LED的膠體部位施加任何外力和振動,以防止金線斷開,為免受機械沖擊或振動焊接LED后應采取措施保護膠體,直到LED復原到室溫狀態;
(5)為避免高溫切腳而導致LED損壞,請在常溫下進行切腳;
(6)請勿帶電焊接LED。
--------------------------------
8)清洗
(1)當用化學品清洗膠體時必須特別小心,應為有些有些化學藥水(如三氧乙烯、丙酮等)對LED環氧體表面有損傷并可能引起褪色,如果有必要清洗LED時,可用乙醇擦拭,浸漬,浸漬時間在常溫下不超過1分鐘;
(2)超聲波凈化會影響到LED,這與超聲波振蕩器的輸出功率有關,因此超聲波清洗LED之前應該評估其設定參數,確保不會對LED造成損傷。
--------------------------------
9)LED工作條件
(1)使用LED時驅動電流不應超過規格要求的最大電流,最好不要超過20mA,建議驅動電流在10-20 mA之間;
(2)每一個LED都會有不同的VF值,因此在實際電路應用時,最好設計將VF值相近的燈串聯在一個電路上,便于配套不同阻值的電阻,以達到恒流的目的。
(3)必須對電路進行設計以防止在LED開關時出現的超壓(或超電流),短電流或脈沖電流均能損害LED的連接;
(4)部分LED(藍色LED、白色LED等)具有防靜電的要求,在安裝使用過程中應采取相應的防靜電措施;
(5)在使用時不僅要考慮LED本身所發出來的熱量對燈的影響,還要考慮周圍環境溫度對燈的光電性能影響。一般普通燈在點亮后,燈腳處的溫度不應大于30度;功率型LED點亮后,燈腳處或導熱底座處的溫度不應大于60度。如果超過此溫度的話,應考慮降低驅動電流或增大散熱面積。
(6)注意LED極性不要接錯,一般情況下,燈腳稍長的一端為正極,稍短的為負極,若兩燈腳一樣長時,要認真識別標記;
(7)盡量不要將LED與發熱電阻組件靠的太近;
(8)避免LED與金屬等硬物相摩擦,不能做噴砂處理,以免破換光學性能。
------------------------------------------------------
2、常用發光二極管正向電壓及電池電壓
發光二極管的正向電壓一般上都在1.2-2.0V,只要發光二極管導通,正向電壓基本一致,但電壓升高正向電壓稍會升高。
1)直插超亮發光二極管正向電壓
--------------------------------
2)貼片發光二極管正向電壓
(1)高亮發光二極管
紅色的壓降為1.82-1.88V,電流5-8mA
綠色的壓降為1.75-1.82V,電流3-5mA
橙色的壓降為1.7-1.8V,電流3-5mA
蘭色的壓降為3.1-3.3V,電流8-10mA
白色的壓降為3-3.2V,電流10-15mA
-----------------
(2)超高亮發光二極管
主要有紅黃綠三種顏色,然而三種發光二極管的壓降均不相同,具體壓降參考值如下:
紅色發光二極管的壓降為2.0-2.2V
黃色發光二極管的壓降為1.8-2.0V
綠色發光二極管的壓降為3.0-3.2V
正常發光時的額定電流約為20mA
-----------------
(3)普亮發光二極管
紅色1.5-1.8V
綠色1.6-2.0V
黃色1.6-2.0V
蘭色2.2V
白色3.2-3.6V
紅色LED1.6V
黃色約1.7V
綠色約1.8V
藍色、白色、紫色都是3V到3.2V,全部采用恒流驅動,其中?3的紅綠黃5mA,白藍紫10mA,?5的翻倍。其中白色的有大功率的1W、2W、3W都有,但是要加散熱片。
------------------------------------------------------
3、發光二極管顏色與波長、光強
1)發光二極管顏色與波長
--------------------------------
2)發光二極管光強
一光源在單位立體角內所發出的光通量稱為該光源的光強I。發光強度的單位是坎德拉(cd),常用毫坎德拉(mcd),?1單位立體角內發出1流明的光稱為1坎德拉。坎德拉是一個光源在給定方向上的發光強度。
(1)高亮發光二極管的光強
-----------------
(2)超高亮發光二極管的光強
------------------------------------------------------
4、貼片發光管
1)概述
SMD型又稱貼片型,這種有正面發光也有側面發光,較小封裝的有0201、0402、0603 、0805、1206、1210、2014、3014等,這種功率較小,大功一點的有2835、3014、3020、3030、3528、3535、4014、4040、5050、5054、5060、5630、5730、7020、7070等,這種經常用于COB光源。小功率的多見于線路板顯示、廣告顯示等,大功率的多見于家居照明、各種植物燈、太陽能路燈等。
--------------------------------
2)封裝
LED0805:
----------------------------------------------------------------------------------------------------------------
二、數碼管
1、簡介
LED數碼管(LED Segment Displays)是由多個發光二極管封裝在一起。LED數碼管組成“8”字型的器件,引線已在內部連接完成,只需引出它們的各個筆劃,公共電極。LED數碼管常用段數一般為7段,有的另加一個小數點,還有一種是類似于3位“+1”型。位數有半位,1,2,3,4,5,6,8,10位等,LED數碼管根據LED的接法不同分為共陰和共陽兩類。了解LED的這些特性,對編程很重要。因為不同類型的數碼管,除了它們的硬件電路有差異外,編程方法不同。有共陰和共陽極兩種形式,它們的發光原理一樣,只是電源極性不同。顏色有紅、綠、藍、黃等幾種。
------------------------------------------------------
2、取段碼
共陽極段碼表:
0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H?-->[0-7]
80H,90H,88H,83H,0C6H,0A1H,86H,8EH -->[8-F]
共陰極段碼表:
3FH,06H,5BH,4FH,66H,6DH,7DH,07H -->[0-7]? ?
7FH,6FH?,77H,7CH,39H,5EH,79H,71H,76H?-->[8-F]
或使用小軟件“數碼管代碼生成器“自行生成,如下圖。軟件移步:https://download.csdn.net/download/liht_1634/85095577。
段碼使用例程:
#include "reg52.h"
#include "intrins.h"
#define u8? unsigned char
#define u16 unsigned int
#define u32 unsigned long int
//按鍵引腳映射
sbit? ? ? ? ?KEY1=P3^5; //按鍵1加
sbit? ? ? ? ?KEY2=P3^4; //按鍵2減
u8 KEY_DAT=0; //按鍵寄存器按鍵為1存儲當前被按下的按鍵鍵值,0為無按鍵
u8 SEG7[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //共陽數碼管
//時間片為125uS
#define NUM_1MS? ? ? ? ? ? ?8
#define NUM_2MS? ? ? ? ? ? ?16
#define NUM_5MS? ? ? ? ? ? ?40
#define NUM_20MS? ? ? ? ? ?160
#define NUM_100MS? ? ? ? ?800
#define NUM_200MS? ? ? ? ?1600
#define NUM_500MS? ? ? ? ?4000
#define NUM_1000MS? ? ? ?8000
//時間片輪轉變量
u32 TimeRef=0;
//任務延時變量
//按鍵任務
u32 KEY_DELAY? ? ? ? ? =0;
u8? KEY_STATE? ? ? ? ? ?=0;
u8? KEY_DATx? ? ? ? ? ? =0;
//顯示任務
u32 SEG_DELAY? ? ? ? ?=0;
u8? SEG_STATE? ? ? ? ? =0; //0位標記是否第一次進入
u8? SEG_NUM[4]? ? ? ?={0,0,0,0};
u8? SEG_I? ? ? ? ? ? ?=0;
void main(void)
{
? ? ? ? u16 num=0;
? ? ? ? u8 key=0;
? ? ? ??
? ? ? ? IsrInit();
? ? ? ? while(1)
? ? ? ? {? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? SegDisplay(num); //段碼顯示
? ? ? ? ? ? ? ? key = ReadKeyDat(); //按鍵掃描
? ? ? ? ? ? ? ? if(key==1)
? ? ? ? ? ? ? ? ? ? ? ? num++; //按鍵1加
? ? ? ? ? ? ? ? if(key==2)
? ? ? ? ? ? ? ? ? ? ? ? num--; //按鍵2減
? ? ? ? }
}
void SegDisplay(u16 num)?//數碼管顯示控制函數
{
? ? ? ? u8 i=0;
? ? ? ? if(SEG_STATE==0) //分割字符狀態
? ? ? ? {
? ? ? ? ? ? ? ? SEG_I=0;
? ? ? ? ? ? ? ? for(i=0;i<4;i++)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? SEG_NUM[SEG_I++]=num百分號10; //存入4個數碼管
? ? ? ? ? ? ? ? ? ? ? ? num=num/10;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? SEG_STATE=1;
? ? ? ? }
? ? ? ??
? ? ? ? if(SEG_STATE==1) //顯示狀態
? ? ? ? {
? ? ? ? ? ? ? ? P0=SEG7[SEG_NUM[4-SEG_I]]; //取段碼
? ? ? ? ? ? ? ? P2=~(0x01<<(SEG_I-1));
? ? ? ? ? ? ? ? SEG_I--;
? ? ? ? ? ? ? ? SEG_DELAY=TimeRef+NUM_5MS; //5mS延時
? ? ? ? ? ? ? ? SEG_STATE=2;
? ? ? ? }
? ? ? ?
? ? ? ? if(SEG_STATE==2) //延時等待狀態
? ? ? ? {
? ? ? ? ? ? ? ? if(TimeRef >= SEG_DELAY)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? if(SEG_I==0)?//判斷是否為最后一次延時
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? SEG_STATE=0;
? ? ? ? ? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? SEG_STATE=1;
? ? ? ? ? ? ? ? }
? ? ? ? }
}
void IsrInit(void)?//中斷初始化函數
{
? ? ? ? EA=1;
? ? ? ??
? ? ? ? //定時器0,方式2,計數器
? ? ? ? TMOD|=0x02;
? ? ? ? TH0=0x8D; //125uS中斷一次
? ? ? ? TL0=0x8D;
? ? ? ? ET0=1;
? ? ? ? TR0=1;
}
u8 ReadKeyDat(void)?//讀按鍵鍵值
{
? ? ? ? ReadKeyReg(); //讀鍵值寄存器
? ? ? ? if(KEY_STATE == 0) //第一次讀取狀態
? ? ? ? {
? ? ? ? ? ? ? ? if(KEY_DAT!=0) //讀取到按鍵
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? KEY_DATx=KEY_DAT;
? ? ? ? ? ? ? ? ? ? ? ? KEY_DELAY=TimeRef+NUM_100MS; //延時100mS
? ? ? ? ? ? ? ? ? ? ? ? KEY_STATE=1;
? ? ? ? ? ? ? ? }
? ? ? ? }
? ? ? ??
? ? ? ? if(KEY_STATE == 1) //延時狀態
? ? ? ? {
? ? ? ? ? ? ? ? if(TimeRef >= KEY_DELAY)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? KEY_STATE=2;
? ? ? ? ? ? ? ? }
? ? ? ? }
? ? ? ??
? ? ? ? if(KEY_STATE == 2) //第二次讀取狀態
? ? ? ? {
? ? ? ? ? ? ? ? if(KEY_DATx == KEY_DAT) //讀取到按鍵
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? KEY_STATE=0;
? ? ? ? ? ? ? ? ? ? ? ? return KEY_DATx;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? KEY_STATE=0;
? ? ? ? }
? ? ? ? return 0;
}
u8 ReadKeyReg(void)?//讀按鍵寄存器
{
? ? ? ? if(KEY1==0)
? ? ? ? {
? ? ? ? ? ? ? ? KEY_DAT=1;
? ? ? ? ? ? ? ? return 1;
? ? ? ? }
? ? ? ? if(KEY2==0)
? ? ? ? {
? ? ? ? ? ? ? ? KEY_DAT=2;
? ? ? ? ? ? ? ? return 1;
? ? ? ? }
? ? ? ? KEY_DAT=0;
? ? ? ? return 0;
}
int Tim0Isr() interrupt 1 using 1?//定時器0提供基礎時鐘125uS中斷1次
{
? ? ? ? TimeRef++;
}
----------------------------------------------------------------------------------------------------------------
總結
以上是生活随笔為你收集整理的电子元件-发光二极管与数码管的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机操作系统与嵌入式操作系统的区别,嵌
- 下一篇: KVM虚拟化使用详解--技术流ken