?? led顯示器件的基礎.txt
字號:
初學者:關于led顯示的一點粗淺經驗之談,大家多多指教 [秋雨] [218次] 01-8-11 下午 04:05:26
這段時間有不少朋友在作led顯示,問了我不少問題,一一回答總是找不到要點
在此我把我幾年來作led的一點經驗總結以下,作為對大家回答,希望對大家有
點啟發,也作為拋磚引玉吧,大蝦們多談談自己的寶貴經驗!
一: LED顯示器件的基礎
LED發光器件一般常用的有2類,數碼管和點陣,
1:數碼管
a,數碼管常用的一般8字型,分為A B C D E F G P段,其中P位小數點
b,數碼管常用的有10根管腳(單位),每段一根管腳,另外兩根管腳為
公共端,2根是通的
c,從尺寸上分的話種類很多,常用的有0.3 0.5 0.8 1.0 1.2 1.5 1.8
2.3 3.0 4.0 5.0 等等
d,一般小于1.0的為單管芯,(1.0有單有雙),1.2~~1.5為雙管芯,1.8以
上為3個以上的管芯,因而他們的供電電壓要求不同,一般每個關芯的
壓降為2.1v左右
我的經驗是0.8以下5v供電,1.0~2.3為12v,3.0以上更高
e,數碼管分共陰和共陽兩種
2:點陣
a,點陣常用的為8*8,以前還有5*8(現在不大用了)
b,點陣都是單管芯,分(行)共陰和(行)共陽,一般都用5v供電
c,8*8點陣為16根管腳(單色,也有24根的,可能是作廢的雙色點陣或者
為了能在同一種線路板上實現單色雙色都可用而設計的,也比較常見)
8根行8根綠
雙色為24根管腳,8根行,8根列紅,8根列綠,
二: 顯示基本原理
分為靜態(只有數碼管能實現)和動態
1:靜態的比較好實現,在此不多講了
2:數碼管動態
a,硬件連接
數碼管一般為1/13能掃描,再高的話亮度損失比較大,
在此假設為列為13列,行為16行,共陽管,每行數碼管的各段連在一起,每列數碼
管的公共段連在一起
列開關用tip127,他可以直接用154驅動,達林頓管5安培,注意127輸出
不要加電阻
行用595(164不建議)+2803或者2003+一個9013,在2003的輸出要加上
限流電阻,一般為56~330歐姆(如果是<1.0的數碼管,可以直接用595加
電阻驅動)
b,軟件
采用89c51為cpu,存儲器可采用24c系列,或者28c系列,注意他們的寫入速度都不是很
快,不過一般數碼管的輸入設備為鍵盤或遙控器,速度足夠了,還有24c系列的讀出速度也比較
慢,我發現每次讀出的數據大概只有20以內才不會影響更新顯示
顯示采用時鐘中斷1,中斷時間不能超過1.5ms,最好為1.2ms左右,可以在中斷服務程序中
讀24c02,也可以在中斷的間隙中讀取,但必須保證能夠讀出所有的一列數據!讀出的數據放到
一塊顯示區中,(在內存中定義一個數組buf[16]),在中斷子程序中把數據發送的595中即可,
最好采用串口發送,編程最簡單.
發送完畢后,關掉控制行的154,給595的RCLK(12腳)一個脈沖,把數據從移位寄存器傳輸到
鎖存器,而后打開154并輸入列信號即可
3: 點陣
a,點陣一般采用1/16掃描,控制原理和數碼管差不多
b,硬件: 行用154+tip127,列用595加電阻(0~56歐姆)直接驅動
c,軟件
方案比較多,見下面
三: 先說說信息的存儲
分為2種,
1:一種為固化的漢字,漢字點陣信息存于27c256中,最多存1024個16*16點陣漢字,要修
改只能重新寫27c256,優點是不丟失,一般我們為銀行做的都是這種,他很少修改顯示能容,而
且以后每次修改可以收費<哈哈~~~),缺點是不靈活
2: 另一種是可以用戶自己修改的,修改方式又分為2中,
早期一般用鍵盤或者遙控器修改,那樣必須在主辦上固化有漢字字庫,可用27c040
固化ucdos的hzk16全角字庫和asc16半角字庫,用戶輸入區位嗎進行修改,用戶需要顯示的漢
字以區位嗎的方式存到一片E2POM中,顯示的時候程序根據區位嗎讀取點陣信息送到屏上顯
示,
還有一種近年來常用的方式就是利用微機串口進行修改,這里面還分為兩種
A,控制板上沒有字庫,微機發送的是顯示的點陣信息,控制板接受后把信息存到帶電池
的RAM中(也可用E2PROM,但速度很慢),這種的缺點是掉電池的RAM不太可靠,常常丟失信息
B,控制板上帶字庫,微機發送漢字的機器嗎(內嗎)即可,其他同上
四: 顯示的控制
信息的發送可以有好多方式,根據采用器件的不同而不同,有的廠家采用374控制而不采
用595,那樣的話直接寫一個外部端口即可,374級連方式,(如果用1排374的話在傳輸中必須關
掉顯示,顯示字較多的話影響亮度,用2排374不必關掉顯示但增加硬件成本),目前用的較少了
595的很長見,發送可以用傳口,很簡單,也可以用別的口模擬傳口發送(因為傳口還有可
能隨時接受微機的信號),也可以采用傳口復用(不過我不會,:)~~)
我采用的是用374+165向595發送數據,硬件比較復雜,但是在以后的顯示花樣中很好用!
特別是左右移位,爽極了!
提示一下:最近用雙龍的90S8515發現很好,因為他還有一個SPI口,用來送595信號更爽!
速度可到3M,(12M晶體),強烈建議大家有這種芯片(靠,也不到雙龍看到了會不會給點獎
勵....)
五: 一些注意事項:
1: 顯示時間,每行<1.5MS
2: 根據經驗,89C51 12M晶體最大控制48個16*16點陣,再大的話可以提高晶體頻率和優
化程序,(就是發送程序的時間最短)
3: 在顯示的字比較多時,一定要注意發送子程序的代碼效率,因為發送是一個循環,所以
循環體內的處理越快越好,大家現在大都用C51,更的注意,我可是吃過虧的!
大家看下面的例子:
if(hangno==0x10)hangno=0; //hangno為顯示的行序號
for(i=0;i<32;i++)
{
PORT1=*(addr+hangno*0x600+i);//我的漢字信息是0~600為第一行信息
//600~0c00為第二行信息...
PORT2=0x0ff;
}
每次發送32個字節(16個字),程序編譯通過,沒有問題,可是當顯示64個漢字時(假設)顯示就
亂了,后來改為
if(hangno==0x10)hangno=0; //hangno為顯示的行序號
w=hangno*0x600;
for(i=0;i<128;i++)
{
PORT1=*(addr+w+i);//我的漢字信息是0~600為第一行信息
//600~0c00為第二行信息...
PORT2=0x0ff;
}
就沒有問題了,大家自己看看,就知道原因了,對把?
寫了這么多,想到那些到那,很不系統,不過好累呀,我下兩盤軍旗放松放松,大家多提提意見,
這只是講的小屏的控制方法(<2m2),大屏的完全不同,有人感興趣的話以后再談.
感謝秋雨前輩!您辛苦了! [阿風] [3次] 01-8-11 下午 04:17:53
秋雨兄的字是字字珠璣,只是我等阿菜對于理論的東東很難理解,是否可是提供一個簡單的電路和詳細的解釋,讓俺們學習? [WALL] [3次] 01-8-11 下午 04:38:40
加入精華版了,非常感謝“秋雨”大俠無私的奉獻。 [龍嘯九天] [5次] 01-8-11 下午 04:49:51
非常感謝秋雨,很精彩! [will009] [2次] 01-8-11 下午 05:01:13
謝謝斑竹的夸獎,一點小經驗,不足掛齒 [秋雨] [3次] 01-8-11 下午 08:23:44
太及時了,非常感謝。 [kk_npu] [2次] 01-8-11 下午 09:03:57
我期待很久了,再次感謝。 [龍嘯九天] [1次] 01-8-11 下午 09:17:22
落后了,誰還用區位碼輸入?小顯示屏一般用MCU+CPLD+232+遙控器,顯示板用595(TI6B595)+CET4953(MOS型行驅動);大屏用FPGA通過顯卡取數據,用FPGA完成掃描。... [oldwin] [22次] 01-8-12 上午 11:35:55
謝過秋雨前輩。小弟對你崇敬之情有如滔滔江水………………………………………………………………………………………………………………………………………………………………………………………………………………… [exdata] [2次] 01-8-12 下午 01:01:58
當然可以,用avr90s8515可以嗎?我也是剛用,很好的! [秋雨] [8次] 01-8-12 下午 04:16:29
請教e2prom寫的慢,讀的也慢嗎? [rechar] [4次] 01-8-12 下午 05:24:37
讀寫幾乎差不多,寫慢因為連續寫不能超過葉字節數,讀時沒葉限制,只要你緩存夠大。 [exdata] [9次] 01-8-12 下午 05:41:44
讀寫幾乎差不多,寫慢因為連續寫不能超過葉字節數,讀時沒葉限制,只要你緩存夠大。
28c系列的沒有頁的概念,讀的速度不慢!你講的是28f系列 [秋雨] [3次] 01-8-12 下午 06:09:25
28C系列EEPROM的確有頁寫功能,我用過了。 [中山子木] [3次] 01-8-13 上午 12:45:06
是嗎?28c64有頁功能嗎?我可一直用28c64呀,頁功能如何用?有資料嗎? [秋雨] [3次] 01-8-13 上午 09:09:17
謝秋雨 [zhu_xinghua] [3次] 01-9-15 下午 03:16:59
謝過秋雨前輩。小弟對你崇敬之情有如滔滔江...............
能不能給張.sch圖就美不勝收了。 16*16*16個字條屏。 fzzxh@21cn.com
點擊這里回復這篇貼子>>
_____________________________________________________________________________
Copyright?,C51BBS論壇 2000-2001
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -