ID 型號廠家用途構造溝道v111(V) ixing(A) pdpch(W) waixing 1 2SJ11 東芝DC, LF A, JChop P 20 -10m 100m 4-2 2 2SJ12 東芝DC, LF A,J Chop P 20 -10m 100m 4-2 3 2SJ13 東芝DC, LF A, JChop P 20 -100m 600m 4-35 4 2SJ15 富士通DC, LF A J P 18 -10m 200m 4-1 5 2SJ16 富士通DC, LF A J P 18 -10m 200m 4-1 6 2SJ17 C-MIC J P 20 0.5m 10m 4-47 7 2SJ18 LF PA J(V) P 170 -5 63 4-45 8 2SJ19 NEC LF D J(V) P 140 -100m 800m 4-41 9 2SJ20 NEC LF PA J(V) P 100 -10 100 4-42 10 2SJ22 C-MIC J P 80 0.5m 50m 4-48 11 2SJ39 三菱LF A J P 50 -10m .15/CH 4-81 12 2SJ40 三菱LF A,A-SW J P 50 -10m 300m 4-151 13 2SJ43 松下LF A J P 50 20m 250m 4-80A 14 2SJ44 NEC LF LN A J P 40 -10m 400m 4-53A 15 2SJ45 NEC LF A J P 40 -10m 400m 4-53A 16 2SJ47 日立LF PA MOS P -100 -7 100 4-28A 17 2SJ48 日立LF PA, HS MPOSSW P -120 -7 100 4-28A 18 2SJ49 日立LF PA,HS PMSOWS P -140 -7 100 4-28A 19 2SJ49(H) 日立HS PSW MOS P -140 -7 100 4-28A 20 2SJ50 日立LF/HF PA,HMSO SPSW P -160 -7 100 4-28A 21 2SJ50(H) 日立HS PSW MOS P -160 -7 100 4-28A 22 2SJ51 日立LF LN A J P 40 -10m 800m 4-97A 23 2SJ55 日立LF/HF PA,HMSO SPSW P -180 -8 125 4-28A
標簽:
MOS
開關管
參數
上傳時間:
2013-10-10
上傳用戶:13162218709
電路連接
由于數碼管品種多樣,還有共陰共陽的,下面我們使用一個數碼管段碼生成器(在文章結尾) 去解決不同數碼管的問題:
本例作者利用手頭現有的一位不知品牌的共陽數碼管:型號D5611 A/B,在Eagle 找了一個 類似的型號SA56-11,引腳功能一樣可以直接代換。所以下面電路圖使用SA56-11 做引腳說明。
注意:
1. 將數碼管的a~g 段,分別接到Arduino 的D0~D6 上面。如果你手上的數碼管未知的話,可以通過通電測量它哪個引腳對應哪個字段,然后找出a~g 即可。
2. 分清共陰還是共陽。共陰的話,接220Ω電阻到電源負極;共陽的話,接220Ω電阻到電源+5v。
3. 220Ω電阻視數碼管實際工作亮度與手頭現有原件而定,不一定需要準確。
4. 按下按鈕即停。
源代碼
由于我是按照段碼生成器默認接法接的,所以不用修改段碼生成器了,直接在段碼生成器選擇共陽極,再按“自動”生成數組就搞定。
下面是源代碼,由于偷懶不用寫循環,使用了部分AVR 語句。
PORTD 這個是AVR 的端口輸出控制語句,8 位對應D7~D0,PORTD=00001001 就是D3 和D0 是高電平。
PORTD = a;就是找出相應的段碼輸出到D7~D0。
DDRD 這個是AVR 語句中控制引腳作為輸出/輸入的語句。DDRD = 0xFF;就是D0~D7 全部
作為輸出腳了。
ARDUINO CODECOPY
/*
Arduino 單數碼管骰子
Ansifa 2011-12-28
*/
//定義段碼表,表中十個元素由LED 段碼生成器生成,選擇了共陽極。
inta[10] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};
voidsetup()
{
DDRD = 0xFF; //AVR 定義PortD 的低七位全部用作輸出使用。即0xFF=B11111111對
應D7~D0
pinMode(12, INPUT); //D12用來做骰子暫停的開關
}
voidloop()
{
for(int i = 0; i < 10; i++)
{
//將段碼輸出PortD 的低7位,即Arduino 的引腳D0~D6,這樣需要取出PORTD 最高位,即
D7的狀態,與段碼相加,之后再輸出。
PORTD = a[i];
delay(50); //延時50ms
while(digitalRead(12)) {} //如果D12引腳高電平,則在此死循環,暫停LED 跑
動
}
}
標簽:
Arduino
10
數碼管
實驗
上傳時間:
2013-10-15
上傳用戶:baitouyu