欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1364|回復(fù): 20
打印 上一主題 下一主題
收起左側(cè)

請(qǐng)教前輩,用TM1638驅(qū)動(dòng)7位數(shù)碼管+8個(gè)LED,能不能通過軟件控制

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1109793 發(fā)表于 2025-7-20 12:46 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
某個(gè)LED的亮度,而不是全亮和全滅。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:384109 發(fā)表于 2025-7-20 22:07 | 只看該作者
可以調(diào)節(jié)亮度,但這類芯片都是調(diào)節(jié)所有LED的亮度,無法單獨(dú)調(diào)節(jié)其中某段LED的亮度
回復(fù)

使用道具 舉報(bào)

板凳
ID:774370 發(fā)表于 2025-7-20 23:01 | 只看該作者
可以軟件控制整體亮度共8級(jí),控制單個(gè)亮度硬件串聯(lián)電阻實(shí)現(xiàn)
回復(fù)

使用道具 舉報(bào)

地板
ID:1064915 發(fā)表于 2025-7-21 08:33 | 只看該作者
TM1638的顯示控制指令主要用于設(shè)置數(shù)碼管的亮度等級(jí)和顯示狀態(tài)。具體功能如下:

亮度調(diào)節(jié)
通過指令0x8X(X=0~7)設(shè)置亮度等級(jí),共8級(jí)亮度調(diào)節(jié),其中0x80為關(guān)閉顯示,0x8F為最大亮度開啟顯示。 ‌
指令發(fā)送規(guī)則
顯示控制指令的發(fā)送遵循特定格式:

  指令字節(jié)的最高兩位(B7、B6)必須為10以區(qū)分指令類型;
  后續(xù)數(shù)據(jù)位用于設(shè)置具體參數(shù)(如亮度等級(jí))。 ‌
通信協(xié)議要點(diǎn)
  發(fā)送指令前需將STB信號(hào)拉低以啟動(dòng)傳輸;
  數(shù)據(jù)傳輸采用類SPI協(xié)議,在CLK時(shí)鐘上升沿鎖存數(shù)據(jù);
  傳輸結(jié)束后需將STB拉高以結(jié)束通信。
回復(fù)

使用道具 舉報(bào)

5#
ID:69038 發(fā)表于 2025-7-21 10:58 | 只看該作者
可以變通為脈寬控制,1638的最大時(shí)鐘約為1M,最長(zhǎng)數(shù)據(jù)幀約為14字節(jié),加上控制字、應(yīng)答什么的,算20字節(jié),1M/20*8約為6.25K。暫定為6KHz的脈寬周期,想控哪個(gè)燈,就讓它的數(shù)據(jù)位置1或0,就可以調(diào)節(jié)該燈的亮度了。
===================免責(zé)聲明======================
==以上內(nèi)容純瞎想亂敲,本人對(duì)此不承擔(dān)法律/道德層面的任何義務(wù)和責(zé)任==
===================聲明結(jié)束======================

不過這么做,你的MCU肯定會(huì)忙死。除非它只執(zhí)行這個(gè)點(diǎn)燈控亮的任務(wù)
回復(fù)

使用道具 舉報(bào)

6#
ID:1133081 發(fā)表于 2025-7-21 11:20 | 只看該作者
用TM1638只能控制數(shù)碼管整體亮度,不可單獨(dú)控制某段或某位的亮度。如果想單獨(dú)控制某段或某位的亮度只能用MCU直接驅(qū)動(dòng)數(shù)碼管來實(shí)現(xiàn)。
回復(fù)

使用道具 舉報(bào)

7#
ID:879809 發(fā)表于 2025-7-21 14:40 | 只看該作者
不可能,別想了。
回復(fù)

使用道具 舉報(bào)

8#
ID:1109793 發(fā)表于 2025-7-21 18:15 | 只看該作者
我是需要平時(shí)一個(gè)很暗的亮度,用來提高顯示的位置的醒目,需要的時(shí)候要全亮。看來是不行的,只能用164的方案了。
回復(fù)

使用道具 舉報(bào)

9#
ID:230500 發(fā)表于 2025-7-22 07:55 | 只看該作者
正常是不可以單獨(dú)調(diào)亮度,
回復(fù)

使用道具 舉報(bào)

10#
ID:996773 發(fā)表于 2025-7-22 09:09 | 只看該作者
zhuls 發(fā)表于 2025-7-21 10:58
可以變通為脈寬控制,1638的最大時(shí)鐘約為1M,最長(zhǎng)數(shù)據(jù)幀約為14字節(jié),加上控制字、應(yīng)答什么的,算20字節(jié),1M ...

你的思路是對(duì)的,一個(gè)有創(chuàng)意的程序員就應(yīng)該有超常人的思維,讓單片機(jī)不停的發(fā)1638顯示數(shù)據(jù),例如一秒鐘
內(nèi)發(fā)送一百次,有五十次正常顯示字段,另外五十次把需要變暗的字段歸0或歸1不顯示,人眼就看的出那個(gè)字符
是灰暗的,目的也達(dá)到
回復(fù)

使用道具 舉報(bào)

11#
ID:1109793 發(fā)表于 2025-7-22 12:43 | 只看該作者
hi等你 發(fā)表于 2025-7-22 09:09
你的思路是對(duì)的,一個(gè)有創(chuàng)意的程序員就應(yīng)該有超常人的思維,讓單片機(jī)不停的發(fā)1638顯示數(shù)據(jù),例如一秒鐘
...

我也想到這種方法了,我的代碼是在主循環(huán)里面更新顯示的,通過計(jì)數(shù)的方式控制寫入的某個(gè)位的值,結(jié)果不行,閃,而不是亮度變化的,我是10次刷新中有1次寫1,其余寫0,不行。
可能是和1638的掃描不同步的問題吧。畢竟主循環(huán)也不會(huì)那么快。
回復(fù)

使用道具 舉報(bào)

12#
ID:69038 發(fā)表于 2025-7-22 16:13 | 只看該作者
xiaobendan001 發(fā)表于 2025-7-22 12:43
我也想到這種方法了,我的代碼是在主循環(huán)里面更新顯示的,通過計(jì)數(shù)的方式控制寫入的某個(gè)位的值,結(jié)果不行 ...

“閃”的原因是你刷新數(shù)據(jù)的速度不夠快!
人的視覺殘留時(shí)間是多少?參考電影的幀速率為24-30幀/秒,就能算出來約33~41ms,
即最多41ms,最少33ms,你就要發(fā)一次數(shù)據(jù)(暫不管1638自掃時(shí)間)。
再來看你的總占空比的多少,即多少級(jí)亮度,如果是8級(jí),就要8等分這幀時(shí)間了:
假設(shè)某位對(duì)應(yīng)某LED,置“1”為亮,置“0”為滅,當(dāng)設(shè)為1級(jí)亮度時(shí),發(fā)“1”的數(shù)據(jù)1次,發(fā)“0”的數(shù)據(jù)7次。。。
所以41/8或33/8,最多5ms,最少4ms你就得發(fā)一幀數(shù)據(jù),且不被中斷、周而復(fù)始。。
那么,你用main中的while(1)顯然是不夠的,你要開一個(gè)優(yōu)先級(jí)最高的定時(shí)器,固定4ms發(fā)一次數(shù)據(jù)。
而在main中的while(1)中不停地更新要發(fā)送的數(shù)據(jù),所以,你的51MCU會(huì)很忙!
注意,這才8級(jí),且每幀數(shù)據(jù)只發(fā)一次。
如果是要穩(wěn)定地顯示,且祼眼視覺不閃,每幀數(shù)據(jù)都重復(fù)多次。。。
那你的定時(shí)器需要更短的時(shí)間來響應(yīng)。。。
其實(shí)這方法很有用的,還可以在點(diǎn)陣黑白屏上做出灰度的像素點(diǎn)來。。
回復(fù)

使用道具 舉報(bào)

13#
ID:1109793 發(fā)表于 2025-7-23 07:36 | 只看該作者
zhuls 發(fā)表于 2025-7-22 16:13
“閃”的原因是你刷新數(shù)據(jù)的速度不夠快!
人的視覺殘留時(shí)間是多少?參考電影的幀速率為24-30幀/秒,就能 ...

如果是液晶,反應(yīng)速度比較慢,可能反而好搞一些吧
LED反應(yīng)速度比較快,我這主定時(shí)是1MS的,畢竟有其他工作要做的。主循環(huán)中只有讀寫1638的兩個(gè)函數(shù),按鍵也沒有使用。我倒是沒有看具體操作周期是多少。
我想大概是我寫入了1,1638正好掃描完成了,等下次掃描的時(shí)候,我又寫入了0,如此這次的1就沒有顯示。
回復(fù)

使用道具 舉報(bào)

14#
ID:584814 發(fā)表于 2025-7-23 09:08 | 只看該作者
完全沒問題,只要LED個(gè)數(shù)不超過64都可以。
回復(fù)

使用道具 舉報(bào)

15#
ID:1109793 發(fā)表于 2025-7-23 09:17 | 只看該作者
剛用示波器看了下1638的位選輸出間隔5MS一次。
我寫數(shù)據(jù)的周期看不清,因?yàn)槭茄h(huán)的,一直在進(jìn)行。從信號(hào)間隔規(guī)律來說的話一次更新顯示的周期大概5.5MS左右。太慢了,指定是不行了
回復(fù)

使用道具 舉報(bào)

16#
ID:69038 發(fā)表于 2025-7-23 10:56 | 只看該作者
這樣的LED發(fā)送數(shù)據(jù)最好能放在定時(shí)器中。。讓中斷定時(shí)發(fā)送。
不知你亮度設(shè)為幾級(jí)?

這個(gè)我得找個(gè)板測(cè)試一下。。
回復(fù)

使用道具 舉報(bào)

17#
ID:1109793 發(fā)表于 2025-7-23 12:42 | 只看該作者
zhuls 發(fā)表于 2025-7-23 10:56
這樣的LED發(fā)送數(shù)據(jù)最好能放在定時(shí)器中。。讓中斷定時(shí)發(fā)送。
不知你亮度設(shè)為幾級(jí)?

除非更新顯示數(shù)據(jù)的速度大大超過芯片自己的掃描速度。
否則在無法同步的情況下,必然會(huì)閃的。
話說有沒有類似的LED驅(qū)動(dòng)芯片能做到單獨(dú)的某個(gè)段可以調(diào)節(jié)亮度的。
回復(fù)

使用道具 舉報(bào)

18#
ID:69038 發(fā)表于 2025-7-23 17:13 | 只看該作者
不嫌麻煩可以用WS2812,還是全彩的,可級(jí)聯(lián)的。。。。
就是時(shí)序要求比較嚴(yán)格,一般12T的MCU驅(qū)動(dòng)不易。
回復(fù)

使用道具 舉報(bào)

19#
ID:69038 發(fā)表于 2025-7-23 17:51 | 只看該作者
xiaobendan001 發(fā)表于 2025-7-23 12:42
除非更新顯示數(shù)據(jù)的速度大大超過芯片自己的掃描速度。
否則在無法同步的情況下,必然會(huì)閃的。
話說有沒 ...

MS不用,只要?jiǎng)討B(tài)刷新速度跟上視覺就行了。
因?yàn)?638的RC約450K,刷新速度要超過它很顯然是很難的,簡(jiǎn)單說就是不可能的。
回復(fù)

使用道具 舉報(bào)

20#
ID:1109793 發(fā)表于 2025-7-24 07:29 | 只看該作者
zhuls 發(fā)表于 2025-7-23 17:13
不嫌麻煩可以用WS2812,還是全彩的,可級(jí)聯(lián)的。。。。
就是時(shí)序要求比較嚴(yán)格,一般12T的MCU驅(qū)動(dòng)不易。

那就沒必要了,用164,自己掃描也不麻煩,成本也不高
回復(fù)

使用道具 舉報(bào)

21#
ID:1109793 發(fā)表于 2025-7-24 07:31 | 只看該作者
zhuls 發(fā)表于 2025-7-23 17:51
MS不用,只要?jiǎng)討B(tài)刷新速度跟上視覺就行了。
因?yàn)?638的RC約450K,刷新速度要超過它很顯然是很難的,簡(jiǎn)單 ...

刷新速度夠快也不行,只要不同步,就會(huì)閃,亮度不穩(wěn)定。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表