熱門(mén): 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2019-5-6 14:43
正文摘要:現(xiàn)在是4位數(shù)碼管,共陽(yáng),已經(jīng)驅(qū)動(dòng)74hc595讓4位數(shù)碼管亮起來(lái)了,現(xiàn)在在這基礎(chǔ)上再控制數(shù)碼管上數(shù)字的亮度,想過(guò)用pwm控制,但是,pwm管腳不是直連數(shù)碼管陰極的嗎?現(xiàn)在是單片機(jī)直連595驅(qū)動(dòng),595驅(qū)動(dòng)上的管腳連接數(shù)碼 ... |
控制數(shù)碼管亮度就要輸出更高頻率的PWM,單片機(jī)移位頻率不夠。 用FPGA的高速移位時(shí)鐘可使74HC595的Q0~Q7輸出上Mhz的信號(hào)。 |
都沒(méi)回到到點(diǎn)子上。用595驅(qū)動(dòng)時(shí)一樣可以用PWM的概念控制亮度。樓主一定是覺(jué)得亮度太高想降低亮度對(duì)不對(duì)。你可以這樣,我自己就是這么做的,完全沒(méi)有任何問(wèn)題。 首先定義一個(gè)最高亮度,比如200,這個(gè)數(shù)字可以隨意定,數(shù)字越大可控制的亮度級(jí)別越精細(xì) #define MAX_BRIGHT 200 然后定義一個(gè)你需要的亮度,這個(gè)亮度取值0-200,比如2 #define BRIGHT 2 再定義1個(gè)變量用于PWM計(jì)數(shù) uchar nowPwm; 然后在main函數(shù)的while循環(huán)中(或者定時(shí)器中)寫(xiě)以下代碼 while(1){ nowPwm++; if (nowPwm<=BRIGHT) { // PWM計(jì)數(shù)還沒(méi)有超過(guò)你指定亮度值的時(shí)候點(diǎn)亮數(shù)碼管(也就是讓位選端的IO通電) // 根據(jù)你自己的寫(xiě)法填在這里 } else { // 當(dāng)PWM計(jì)數(shù)已經(jīng)超過(guò)你設(shè)置的亮度值以后,就關(guān)閉所有數(shù)碼管的輸出 // 根據(jù)你自己的寫(xiě)法填在這里 } // 計(jì)數(shù)超過(guò)最大亮度值時(shí)計(jì)數(shù)值歸零,進(jìn)行下一個(gè)PWM的Cycle if (nowPwm>=MAX_BRIGHT) { nowPwm=0; } } |
yzwzfyz 發(fā)表于 2019-5-7 11:25 用SS8050,1.5A |
本帖最后由 yzwzfyz 于 2019-5-9 08:20 編輯 當(dāng)然亮度是有極限的,另外掃描時(shí),亮度占空比也是關(guān)鍵。 |
本帖最后由 yzwzfyz 于 2019-5-9 08:19 編輯 如果你是一般的LED,則不需要加三極管,因?yàn)槠胀↙ED 40mA 時(shí)亮度已達(dá)到最亮捌點(diǎn),電流再大,亮度提升也不大了,也就是說(shuō),你只能讓LED的亮度在3-40mA之間變化。再大再小意義都不大。非普通LED即便電流不同,但意思一樣。 595的I/O輸出吸收電流=40mA是沒(méi)有問(wèn)題的(=0時(shí)亮),但高電平輸出電流(=1亮)就小得多了! 再加上的掃描輸出,如果是1/8掃描,其平均電流只有1/8,所以設(shè)計(jì)到60mA也可以! 綜上所說(shuō),你只要改一下限流電阻就OK了! |
蘭州hsd 發(fā)表于 2019-5-7 15:40 好的好的,我先試試。 |
tzs233 發(fā)表于 2019-5-7 14:47 哦哦,謝謝您,我試試。 |
找個(gè)開(kāi)發(fā)板看看成熟的數(shù)碼管應(yīng)用,別悶頭瞎想 |
你需要加三極管來(lái)供電,I\O口只需要給三極管一個(gè)導(dǎo)通截至的信號(hào)即可,否則I\O口電流太小亮度無(wú)法提高的。 |
你這電路圖設(shè)計(jì)思路就不對(duì) 一般595的I/O電流 才25mA 數(shù)碼管亮的筆段一多DIG0~DIG3不能提供足夠多的電流,數(shù)碼管亮度就不受控了。 你可以先通過(guò)單片機(jī)或595的I/O控制 三極管/場(chǎng)管, 連到數(shù)碼管共陽(yáng)極DIG0~DIG3上。 這樣PWM占空比來(lái)調(diào)節(jié)通斷時(shí)間達(dá)到控制總電流,進(jìn)而穩(wěn)定控制數(shù)碼管亮度 |
數(shù)碼管的亮度:取決于加上它上面的電流。 你有辦法增加它的電流嗎(含通電的時(shí)間,好即平均電流)? |
Powered by 單片機(jī)教程網(wǎng)