找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 922|回復(fù): 10
收起左側(cè)

TM1652顯示問題

  [復(fù)制鏈接]
ID:33548 發(fā)表于 2025-4-26 21:11 | 顯示全部樓層 |閱讀模式
用TM1652驅(qū)動5位8段數(shù)碼管做了一個頻率計,在顯示65535以下的頻率時都正常,在顯示70000左右的頻率時只能顯示2500多,有關(guān)的頻率計數(shù)、變量都是定義成32位的,怎么調(diào)試都不對,難道TM1652不能顯示65535以上的數(shù)字?
回復(fù)

使用道具 舉報

ID:1133081 發(fā)表于 2025-4-26 21:49 | 顯示全部樓層
TM系列數(shù)碼管驅(qū)動器都是按位以字節(jié)寫入顯示寄存器。與其5位數(shù)的數(shù)據(jù)類型沒有關(guān)系。分解數(shù)據(jù)的常用代碼:
/*********************************************/
                swan =  ch/100000;                        // 十萬位
                wan  = (ch%100000)/10000;        // 萬位
                qian = (ch%10000)/1000;                // 千位
                bai  = (ch%1000)/100;                // 百位
                shi  = (ch%100)/10;                        // 十位
                ge   =  ch%10;                                // 個位
/*********************************************/
                swan = ch/100000;                        // 十萬位
                wan  = ch%100000/10000;                // 萬位
                qian = ch%10000/1000;                // 千位
                bai  = ch%1000/100;                        // 百位
                shi  = ch%100/10;                        // 十位
                ge   = ch%10;                                // 個位
/*********************************************/
                swan = ch/100000;                        // 十萬位
                wan  = ch/10000%10000;                // 萬位
                qian = ch/1000%1000;                // 千位
                bai  = ch/100%100;                        // 百位
                shi  = ch/10%10;                        // 十位
                ge   = ch%10;                                // 個位
/**************************************/
                swan = ch/100000%10;                //
                wan  = ch/10000%10;
                qian = ch/1000%10;
                bai  = ch/100%10;
                shi  = ch/10%10;
                ge   = ch%10;
/*********************************************/
                unsigned char buf[6];
                b=ch;                               
                for(i=0;i<6;i++)
                {
                        buf[i]=b%10;//由低位到高位保存
                        b/=10;
                }
/*********************************************/
回復(fù)

使用道具 舉報

ID:69038 發(fā)表于 2025-4-26 22:21 | 顯示全部樓層
沒有代碼,只是猜 :
能顯示5位,應(yīng)該是能顯示 到99999,
但你小于65535是下正常 的,那么,只能是你數(shù)據(jù)類型錯了,或是數(shù)據(jù)在處理時用錯類型 。
建 議你把代碼發(fā)上來。
回復(fù)

使用道具 舉報

ID:230500 發(fā)表于 2025-4-27 08:56 | 顯示全部樓層
1652只是顯示驅(qū)動, 與你顯示什么數(shù)字  顯示多大的數(shù)字 原則上是沒有關(guān)系;
回復(fù)

使用道具 舉報

ID:624769 發(fā)表于 2025-4-27 09:02 | 顯示全部樓層
TM1652是串口傳輸,你電腦直接收一下單片機發(fā)出來的串口數(shù)據(jù),看看到底是 TM1652問題,還是單片機問題? 到底是單片機問題,還是代碼問題? 能問出這樣的問題,說明你代碼9成以上是復(fù)制粘貼來的,根本就沒過腦子。
回復(fù)

使用道具 舉報

ID:277550 發(fā)表于 2025-4-27 10:05 | 顯示全部樓層
關(guān)鍵程序是如何的
回復(fù)

使用道具 舉報

ID:584814 發(fā)表于 2025-4-27 11:01 | 顯示全部樓層
直接定義70000左右的一個數(shù),看能否正常顯示。
此處顯示內(nèi)容與代碼有關(guān)與硬件無關(guān)。
回復(fù)

使用道具 舉報

ID:108361 發(fā)表于 2025-4-29 15:48 | 顯示全部樓層
你在傳遞顯示數(shù)值的變量上,肯定有一個類型錯了,仔細檢查
回復(fù)

使用道具 舉報

ID:1034262 發(fā)表于 2025-4-29 17:26 | 顯示全部樓層
你數(shù)據(jù)處理的問題,跟顯示沒啥關(guān)系。
回復(fù)

使用道具 舉報

ID:1149318 發(fā)表于 2025-4-29 20:43 | 顯示全部樓層
TM1652需要正確配置顯示模式和亮度,可以再檢查分頻系數(shù)的計算有沒有錯誤
回復(fù)

使用道具 舉報

ID:1066795 發(fā)表于 2025-5-7 14:01 | 顯示全部樓層
zhuls 發(fā)表于 2025-4-26 22:21
沒有代碼,只是猜 :
能顯示5位,應(yīng)該是能顯示 到99999,
但你小于65535是下正常 的,那么,只能是你數(shù)據(jù) ...

http://www.torrancerestoration.com/bbs/dpj-239955-1.html 我的顯示也有問題能給我看看麼
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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