|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
數(shù)碼管顯示方案 |
| 作者:dmz 欄目:單片機(jī) |
請(qǐng)問大家,在顯示多個(gè)數(shù)碼管時(shí): 1.每位數(shù)碼管中每段的顯示是分時(shí)顯示還是一起顯示的?顯示時(shí)間是多少?分別有些什么優(yōu)缺點(diǎn)? 2.每位數(shù)碼管分時(shí)顯示時(shí),時(shí)間是多少? 3.一般數(shù)碼管顯示一周,時(shí)間設(shè)置為多少合適? 4.人眼能夠接受的單位數(shù)碼管數(shù)字變化速度是多少? 感謝回復(fù)! |
| 2樓: | >>參與討論 |
| 作者: gyh02133 于 2006/9/27 13:39:00 發(fā)布:
ok 大約是0.5ms |
|
| 3樓: | >>參與討論 |
| 作者: dmz 于 2006/9/27 13:42:00 發(fā)布:
是單段還是單位顯示時(shí)間0.5ms? 有誰見過最優(yōu)化設(shè)計(jì)中數(shù)碼管顯示方案? |
|
| 4樓: | >>參與討論 |
| 作者: heshenhu 于 2006/9/27 14:10:00 發(fā)布:
應(yīng)該是單位吧!其它沒見過! |
|
| 5樓: | >>參與討論 |
| 作者: dwq175 于 2006/9/27 14:21:00 發(fā)布:
我有,每(1-5ms)顯示一位,如此循環(huán) |
|
| 6樓: | >>參與討論 |
| 作者: dmz 于 2006/9/27 14:49:00 發(fā)布:
顯示時(shí)間的長短與數(shù)碼管亮度是否有差別? |
|
| 7樓: | >>參與討論 |
| 作者: sxl_72 于 2006/9/27 15:00:00 發(fā)布:
50hz 138+595 |
|
| 8樓: | >>參與討論 |
| 作者: dwq175 于 2006/9/27 15:01:00 發(fā)布:
時(shí)間越短顯示就暗 |
|
| 9樓: | >>參與討論 |
| 作者: foragain 于 2006/9/27 15:58:00 發(fā)布:
顯示還是用靜態(tài)的好 動(dòng)態(tài)掃描顯示雖在硬件方面有所節(jié)約,但想實(shí)現(xiàn)多個(gè)數(shù)碼管亮度均勻時(shí)軟件得湊時(shí)間,不如用鎖存靜態(tài)掃描的方式好 |
|
| 10樓: | >>參與討論 |
| 作者: dmz 于 2006/9/27 16:13:00 發(fā)布:
如果數(shù)碼管較多,有10個(gè)以上,仍選用靜態(tài)鎖存,豈不是很浪費(fèi)資源 |
|
| 11樓: | >>參與討論 |
| 作者: diannaoza 于 2006/9/27 16:44:00 發(fā)布:
一起顯示的,我不明白,動(dòng)態(tài)掃LED還能一起顯示。 一起顯示的,我不明白,動(dòng)態(tài)掃LED還能一起顯示。 |
|
| 12樓: | >>參與討論 |
| 作者: coldra 于 2006/9/27 16:47:00 發(fā)布:
動(dòng)態(tài)掃描人眼 看起來是一起顯示的 數(shù)碼管多的話不推薦靜態(tài)方式,動(dòng)態(tài)掃描應(yīng)用很成熟了 |
|
| 13樓: | >>參與討論 |
| 作者: dmz 于 2006/9/27 16:47:00 發(fā)布:
想放電影 放電影也是一幀一幀的顯示的呢,播放的速度快了,人眼就分辨不出來了! |
|
| 14樓: | >>參與討論 |
| 作者: joy晴天 于 2006/9/27 17:02:00 發(fā)布:
一位數(shù)碼管中各段一起顯示 |
|
| 15樓: | >>參與討論 |
| 作者: diannaoza 于 2006/9/27 18:23:00 發(fā)布:
動(dòng)態(tài)掃描人眼 看起來是一起顯示的? 我還以為你幾個(gè)數(shù)碼管(一起)同時(shí)顯示。 每位數(shù)碼管中每段的顯示是分時(shí)顯示還是一起顯示的? 當(dāng)然是分時(shí)顯示啦,一起顯示幾個(gè)管,不能吧? 也只有分時(shí)一個(gè)一個(gè)的數(shù)碼顯示(每個(gè)掃1-5MS)。 |
|
| 16樓: | >>參與討論 |
| 作者: dmz 于 2006/9/27 20:42:00 發(fā)布:
每個(gè)數(shù)碼管的各段是同時(shí)顯示的 每位數(shù)碼管的各段是同時(shí)顯示的!所有的數(shù)碼管是一位一位依次顯示的,每位數(shù)碼管顯示時(shí)間在0.5ms-5ms之間。這個(gè)分時(shí)掃描速度已經(jīng)遠(yuǎn)遠(yuǎn)小于人眼所能接受的變化頻率,所以感覺起來就像是同時(shí)顯示一樣! 我不知道作為最優(yōu)化設(shè)計(jì)方案來講,每個(gè)數(shù)碼管顯示的時(shí)間一般是多少,它應(yīng)該還和所顯示的數(shù)碼管個(gè)數(shù)還有關(guān)系。 |
|
| 17樓: | >>參與討論 |
| 作者: gyt 于 2006/9/28 12:06:00 發(fā)布:
30以上 頻率達(dá)到30以上,就看不出閃爍了。高一些當(dāng)然更好。 |
|
| 18樓: | >>參與討論 |
| 作者: dai_weis 于 2006/9/28 12:44:00 發(fā)布:
一般單個(gè)數(shù)碼管的頻率應(yīng)該大于65HZ 要不會(huì)有閃爍感覺,總體的掃描時(shí)間則看位數(shù)的多少,程序中可以不設(shè)置消隱周期,使用一條消隱語句就可以避免串碼位,亮度收到峰值電流影響,位數(shù)越多亮度會(huì)降低 |
|
| 19樓: | >>參與討論 |
| 作者: texasi 于 2006/9/28 16:21:00 發(fā)布:
回答 每個(gè)數(shù)碼管的各段是同時(shí)顯示的,顯示50ms也就夠了,你可以自己試一試阿,如果覺得亮度不合適的話,很簡單的。 |
|
| 20樓: | >>參與討論 |
| 作者: dmz 于 2006/9/28 17:10:00 發(fā)布:
我現(xiàn)在用5ms顯示每位 |
|
| 21樓: | >>參與討論 |
| 作者: liukejj 于 2006/9/29 9:45:00 發(fā)布:
顯示可以用動(dòng)態(tài)和靜態(tài) 靜態(tài)不用說沒閃爍,但是功耗大,占用i/0多,在位數(shù)多的情況下并不適用。 動(dòng)態(tài)顯示也就是分時(shí)的,優(yōu)點(diǎn)i/0占用少,缺點(diǎn)是驅(qū)動(dòng)復(fù)雜一些。 動(dòng)態(tài)顯示的要求是每秒點(diǎn)亮20次以上,即5ms基本就不會(huì)閃了,當(dāng)然這還和眼睛有關(guān)每個(gè)人多少有點(diǎn)區(qū)別,時(shí)間越短,亮度就越弱。我自己看取4ms就很合適了。 |
|
| 22樓: | >>參與討論 |
| 作者: 新好男孩 于 2006/9/29 15:58:00 發(fā)布:
回答 用5ms顯示-位,我認(rèn)為不可取,那樣太浪費(fèi)系統(tǒng)資源了. 我的方法簡單有效: //*********************************************************************** #include"Main.H" #include"Port.H" #include"display.H" // 私有變量,用于顯示延時(shí) static void WaitTime(void); // 顯示數(shù)碼 const unsigned CHAR code DispCode[] = { 0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90, // 0 ~ 9 0x88,0x83,0xa7,0x21,0x86, // A ~ E 0xbf,0xff // "-"和off }; // 位控代碼 const unsigned CHAR code DispCtr[] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; // 顯示緩沖區(qū)(DispBuffer[0]為高位) unsigned CHAR data DispBuffer[8] = {2,3,15,5,9,15,5,5}; //23-59-55 Time Update; // 時(shí)間初始化 void TimeInit(void) { Update.sec = 55; Update.min = 59; Update.hour = 23; } // 實(shí)時(shí)刷新顯示 void FuncDisp(void) { int i; for (i=0; i < 8; i++) { P0 = DispCode[DispBuffer][i]]; P2 = DispCtr[i]; WaitTime(); P2 = 0xff; } P2 = 0xff; } // 顯示延時(shí) void WaitTime(void) { unsigned CHAR i; for (i=0; i < 100; i++) { ; } } //---------------------以上是8個(gè)數(shù)碼管顯示的代碼------------------- // 主程序 void main(void) { // ** 設(shè)置調(diào)度器 ** SCH_Init_Timer2(); // 任務(wù)初始化 TimeInit(); // ** 建立任務(wù)隊(duì)列 ** // ** 1ms時(shí)標(biāo)間隔 ** // 實(shí)時(shí)刷新顯示代碼運(yùn)行時(shí)間應(yīng)小于1ms時(shí)標(biāo)間隔 SCH_Add_Task(FuncDisp, 0, 4); // 實(shí)時(shí)刷新顯示 SCH_Add_Task(UpdateTime, 0, 100); // 更新顯示時(shí)間 SCH_Add_Task(KEYPRESSEDVALUE, 0, 10);// 掃描鍵盤 // 啟動(dòng)調(diào)度器 SCH_Start(); while (1) // 超級(jí)循環(huán) { // 調(diào)度函數(shù),執(zhí)行任務(wù) SCH_Dispatch_Tasks(); } } //-------------------------END OF FILE------------------------------- 只要在主程序中以250Hz的頻率刷新[SCH_Add_Task(FuncDisp, 0, 4);] 顯示函數(shù)FuncDisp()即可 如圖: ../uploadfile/200705141449111959.jpg
|
|
| 23樓: | >>參與討論 |
| 作者: conwh 于 2006/9/29 16:46:00 發(fā)布:
一個(gè)周期不要超過20mS |
|
| 24樓: | >>參與討論 |
| 作者: dmz 于 2006/10/13 11:01:00 發(fā)布:
現(xiàn)在改成1ms顯示每位,感覺差不多 |
|
| 25樓: | >>參與討論 |
| 作者: yuands 于 2006/10/25 22:47:00 發(fā)布:
顯示頻率大于50HZ應(yīng)該不會(huì)有閃 |
|
|
|
| 免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |