熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2022-10-2 17:54
正文摘要:各位好:4位數(shù)碼管怎么驅(qū)動(dòng)合理呢?我是按照普中A2開(kāi)發(fā)板原理圖焊了一個(gè)電路,是可以運(yùn)行的。但他是用了2個(gè)4位共陰數(shù)碼管,用了74H245八線雙向收發(fā)器接P0口,74HC138接P2.2,P2.3,P2.4,實(shí)現(xiàn)3個(gè)IO控制8位數(shù)碼管陽(yáng)極的 ... |
188610329 發(fā)表于 2022-10-25 01:36 感謝大師指點(diǎn)!已經(jīng)完全正常了。 |
P_SW2 |= 0x80; //這個(gè)最好放在 void main() 的第一句, 開(kāi)了就不用關(guān)了。 P3PU =0xc0; |
ningsy 發(fā)表于 2022-10-24 11:21 STC8系列 有個(gè) PnUP 寄存器 可以開(kāi)啟 內(nèi)部的 4.7K 上拉,你不需要外接上拉電阻, 只要 開(kāi)漏模式 + 內(nèi)部上拉,就可以驅(qū)動(dòng) TM1650, 有些知識(shí),隨著使用的單片機(jī)進(jìn)化,要跟著進(jìn)化。 進(jìn)入STC8 系列時(shí)代,如果不是對(duì)功耗有特別的需要,盡可能的用 開(kāi)漏+內(nèi)部上拉 取代 準(zhǔn)雙向模式。 |
lkc8210 發(fā)表于 2022-10-24 09:48 多謝高手指點(diǎn)!經(jīng)測(cè)試完全可行。手頭沒(méi)有4.7K電阻,只有10K的。設(shè)為準(zhǔn)雙向口模式,加一個(gè)仍舊黑屏,并兩個(gè)點(diǎn)亮,電壓2.2V;并三個(gè)電壓2.49V。單片機(jī)電流也降了幾個(gè)mA。 那為何STC8G1K08 系列準(zhǔn)雙向口模式可以點(diǎn)亮呢?難道是由于制造誤差,處在臨界值上了? |
ningsy 發(fā)表于 2022-10-24 09:23 準(zhǔn)雙向模式的拉電流只有270~150uA 拉不動(dòng)1650,要加上拉電阻(通常是4.7k) ![]() |
188610329 發(fā)表于 2022-10-9 11:38 多謝大佬指導(dǎo)!您說(shuō)的這些我還沒(méi)學(xué)到,有點(diǎn)暈 ![]() |
ningsy 發(fā)表于 2022-10-8 14:38 tm1650的代碼其實(shí)很少,你覺(jué)得多,因?yàn)槟阌玫?9c52,就好比如果你沒(méi)有硬件串口,要軟件模擬串口,你也會(huì)覺(jué)得代碼繁瑣,其實(shí)說(shuō)白了,大多網(wǎng)上傳的所謂的“通用庫(kù)”大多都是不利用硬件資源的,就好比ds1302,網(wǎng)上你能找到的范例都是用io直接驅(qū)動(dòng)的,但是,如果用半雙工spi直接驅(qū)動(dòng),或者串口直接驅(qū)動(dòng),代碼就會(huì)簡(jiǎn)單很多。tm1650也一樣,硬件驅(qū)動(dòng),代碼會(huì)少很多。 |
IO可以直接控制的,但是四位數(shù)碼管驅(qū)動(dòng)代碼還是比較冗長(zhǎng)的,所以更換一下硬件選擇,這樣代碼也可以變得更加簡(jiǎn)潔 |
Y_G_G 發(fā)表于 2022-10-8 10:10 有道理,1650的代碼實(shí)在有些多,不好理解。 |
如果條件允許,最好是IO直接控制,有強(qiáng)推挽模式的就串聯(lián),沒(méi)有這個(gè)模式的就上拉 在實(shí)際項(xiàng)目中,是完全可以用IO直接驅(qū)動(dòng)的 245和138都是多余的 這是最優(yōu)先選擇的方案,首先是程序簡(jiǎn)單,對(duì)于不是很精通編程的人來(lái)說(shuō),代碼簡(jiǎn)單易懂比很多東西都重要 最怕就是出了問(wèn)題,你找半天都不知道是你自己的代碼有問(wèn)題還是別人的驅(qū)動(dòng)代碼有問(wèn)題 但TM1650之類的外圍你是肯定要學(xué)會(huì)使用的,畢竟,TM1650的優(yōu)點(diǎn)就擺在那,當(dāng)你的PCB是主控和顯示是分離的,它的好處就顯現(xiàn)了,IO直接驅(qū)動(dòng)要12根線..... |
TM1650確實(shí)好用,又便宜又省引腳。IIC驅(qū)動(dòng)到處都有例程能用,自己刷新還不用占用程序時(shí)間 |
188610329 發(fā)表于 2022-10-6 15:58 感謝大佬指導(dǎo)!我已經(jīng)準(zhǔn)備使用TM1650了,只是這兩天商家放假,發(fā)貨很慢,還沒(méi)收到。 至于STC32,我今天實(shí)在忍不住下單買了一個(gè),心想早晚要用上的吧(以后接12864或TFT屏)。如果看到您的建議,我可能會(huì)同時(shí)入一個(gè)STC8,不過(guò)沒(méi)關(guān)系,我再買一次就是了。 |
ningsy 發(fā)表于 2022-10-2 21:07 確實(shí),IO空著不用也是浪費(fèi), 但是,提議 TM1650 是基于,你打算用 HC24+ HC138 的前提下,建議你用 TM1650 更經(jīng)濟(jì),以及更方便。 如果要 IO 直接驅(qū)動(dòng), 自然是可以的,但是動(dòng)態(tài)掃描這個(gè)工作,負(fù)擔(dān)會(huì)加在 MCU上,同時(shí),還牽涉到 限流電阻等等的額外電路。這就要考慮“必要性”的問(wèn)題了。畢竟成本來(lái)講 TM1650 實(shí)在是太便宜了……,便宜到,我覺(jué)得 限流電阻太貴了。 最后,看你打算用 STC32, 雖然STC32本身不錯(cuò),但是,基于你 單片機(jī)基礎(chǔ)還薄弱,不建議 步子一下子邁那么大, 先STC8 系列 過(guò)渡一下,可能會(huì)更好。 以上,純屬個(gè)人建議。 |
ningsy 發(fā)表于 2022-10-4 11:40 完全可行啊,燒錄口后期當(dāng)通訊口用,隨時(shí)想升級(jí)就升級(jí). STC32了解過(guò)還沒(méi)有買回來(lái)體驗(yàn),后期好的話共享下體驗(yàn),謝謝! |
qq603599910 發(fā)表于 2022-10-3 20:37 您說(shuō)的有道理,我用的89C52內(nèi)存8K已經(jīng)快滿了!還有很多功能沒(méi)有加。這幾天在重新選MCU,想一步到位換成STC32G12K128 DIP40,價(jià)格便宜量又足。 再請(qǐng)教一下:我這是個(gè)蠕動(dòng)泵控制器,原理也不復(fù)雜,準(zhǔn)備做基礎(chǔ)版(數(shù)碼管顯示),高級(jí)版(12864及TFT顯示),其實(shí)功能一樣的,就是操作體驗(yàn)不同,顏值不一樣。想做成向下兼容的,用同一塊板子同一款U同時(shí)留出數(shù)碼管和顯示屏接口,燒寫不同的軟件,能否可行? 還有我感覺(jué)基礎(chǔ)版用STC32G12K128+數(shù)碼管,U的性能可能過(guò)剩了,有啥影響么? |
mengsiu 發(fā)表于 2022-10-3 15:18 非常感謝您的驅(qū)動(dòng)代碼!器件到了試一下 |
使用1650 IIC通信 |
ningsy 發(fā)表于 2022-10-2 21:07 看MCU還要什么功能,用多少PIN,基本都是STC15或者STC8系列,89系列已經(jīng)很老很少用在產(chǎn)品上了.關(guān)于顯示驅(qū)動(dòng)我也偏向于用TM1650專業(yè)芯片,我用TM1650還幾年沒(méi)有給我惹過(guò)禍,升級(jí)固件和換硬件都不用管那一塊,根本不用考慮顯示時(shí)基和刷新率. |
TM1650驅(qū)動(dòng),使用51單片機(jī)。
|
ningsy 發(fā)表于 2022-10-3 11:10 TM1650用的地方很多,很可能你拆一個(gè)電磁爐的控制板就是用的TM1650 |
lwq1947 發(fā)表于 2022-10-3 07:00 這個(gè)應(yīng)該要整體考慮程序、單片機(jī)、數(shù)碼管的選型匹配吧!我這方面的功力還不夠,客戶端的環(huán)境和用戶習(xí)慣千差萬(wàn)別,如果一旦客戶抱怨(我能想到的:比如亮度不夠,抗干擾不行等等)就很麻煩了。 |
npn 發(fā)表于 2022-10-2 21:52 總是看到“強(qiáng)推挽”這種用法,一直沒(méi)弄明白具體怎么用,原來(lái)是我的STC89C52不支持啊 |
xianfajushi 發(fā)表于 2022-10-2 20:53 有道理,還沒(méi)怎么想過(guò)驅(qū)動(dòng)電流這個(gè)問(wèn)題。 |
設(shè)計(jì)學(xué)習(xí)(開(kāi)發(fā))板的目的是讓初學(xué)者用有限的資源學(xué)習(xí)掌握更多的外圍硬件操控。但就某一項(xiàng)功能而言,學(xué)習(xí)板上的硬件配置未必是最佳。MCU的IO口輸出能力畢竟有限,直接驅(qū)動(dòng)數(shù)碼管等其它功耗器件有點(diǎn)不堪重負(fù),74H245、74HC138等外圍IC既可以提高驅(qū)動(dòng)力,又可以擴(kuò)展應(yīng)用范圍。仿真只要邏輯正確基本都能成功。與實(shí)際電路還是有較大差距。做實(shí)際項(xiàng)目首先要考慮安全、可靠。玩具、民用、工控及醫(yī)療電器的行業(yè)安全標(biāo)準(zhǔn)不同,設(shè)計(jì)方案選擇有所區(qū)別。高規(guī)格產(chǎn)品還要考慮冗余、抗擾、容錯(cuò)。單就怎么合理驅(qū)動(dòng)4位數(shù)碼管而言,使用專用集成電路TM1650的方案較佳,還能附加16個(gè)按鍵。當(dāng)然MCU直接驅(qū)動(dòng)數(shù)碼管,只要在設(shè)計(jì)、選材和軟件上用點(diǎn)心也完全可能。 |
ningsy 發(fā)表于 2022-10-2 21:07 最簡(jiǎn)單低成本就用公陰4位數(shù)碼管和一只1K排阻就能驅(qū)動(dòng),因?yàn)楝F(xiàn)在的數(shù)碼管都是高亮的2,3毫安就很亮了。 |
IO口配置為強(qiáng)推挽即可直接驅(qū)動(dòng) (STC89、90除外) |
188610329 發(fā)表于 2022-10-2 18:21 是啊,還帶按鍵處理功能,還能調(diào)亮度的 |
188610329 發(fā)表于 2022-10-2 18:21 感謝指點(diǎn),我這就去查資料。 我本來(lái)想89C52的IO這么多,用不上也得閑著,現(xiàn)在看來(lái)可以再找款I(lǐng)O少的MCU了。 |
硬件基礎(chǔ)差了點(diǎn),正確應(yīng)該查單片機(jī)IO驅(qū)動(dòng)電流,看描述未觸及問(wèn)題根本。 |
用tm1650吧,兩個(gè)io就可以了。限流電阻都省了。 |
Powered by 單片機(jī)教程網(wǎng)