找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 516|回復: 10
打印 上一主題 下一主題
收起左側

TM1652顯示問題

  [復制鏈接]
跳轉到指定樓層
樓主
ID:33548 發(fā)表于 2025-4-26 21:11 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
用TM1652驅動5位8段數碼管做了一個頻率計,在顯示65535以下的頻率時都正常,在顯示70000左右的頻率時只能顯示2500多,有關的頻率計數、變量都是定義成32位的,怎么調試都不對,難道TM1652不能顯示65535以上的數字?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:1133081 發(fā)表于 2025-4-26 21:49 | 只看該作者
TM系列數碼管驅動器都是按位以字節(jié)寫入顯示寄存器。與其5位數的數據類型沒有關系。分解數據的常用代碼:
/*********************************************/
                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;
                }
/*********************************************/
回復

使用道具 舉報

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

使用道具 舉報

地板
ID:230500 發(fā)表于 2025-4-27 08:56 | 只看該作者
1652只是顯示驅動, 與你顯示什么數字  顯示多大的數字 原則上是沒有關系;
回復

使用道具 舉報

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

使用道具 舉報

6#
ID:277550 發(fā)表于 2025-4-27 10:05 | 只看該作者
關鍵程序是如何的
回復

使用道具 舉報

7#
ID:584814 發(fā)表于 2025-4-27 11:01 | 只看該作者
直接定義70000左右的一個數,看能否正常顯示。
此處顯示內容與代碼有關與硬件無關。
回復

使用道具 舉報

8#
ID:108361 發(fā)表于 2025-4-29 15:48 | 只看該作者
你在傳遞顯示數值的變量上,肯定有一個類型錯了,仔細檢查
回復

使用道具 舉報

9#
ID:1034262 發(fā)表于 2025-4-29 17:26 | 只看該作者
你數據處理的問題,跟顯示沒啥關系。
回復

使用道具 舉報

10#
ID:1149318 發(fā)表于 2025-4-29 20:43 | 只看該作者
TM1652需要正確配置顯示模式和亮度,可以再檢查分頻系數的計算有沒有錯誤
回復

使用道具 舉報

11#
ID:1066795 發(fā)表于 2025-5-7 14:01 | 只看該作者
zhuls 發(fā)表于 2025-4-26 22:21
沒有代碼,只是猜 :
能顯示5位,應該是能顯示 到99999,
但你小于65535是下正常 的,那么,只能是你數據 ...

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

使用道具 舉報

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

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表