久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

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

QQ登錄

只需一步,快速開(kāi)始

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

求助數(shù)碼管顯示問(wèn)題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
用51單片機(jī)實(shí)現(xiàn)籃球計(jì)分器,有加1/2分、減1/2分、清零功能,分?jǐn)?shù)范圍為00-99。實(shí)物已經(jīng)連接出來(lái)并實(shí)現(xiàn)功能,但是仿真不知道為何兩個(gè)一位數(shù)碼管一直顯示88,按鍵按下可以正常加減數(shù),但是松開(kāi)按鍵又是88


#include <REGX52.H>
// 共陰數(shù)碼管段碼表(0-9)
unsigned char code table[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned int count = 0; // 用unsigned int避免負(fù)數(shù)問(wèn)題

// 延時(shí)消抖函數(shù)
void delay_ms(unsigned int ms) {
    unsigned int i, j;
    for(i=0; i<ms; i++)
        for(j=0; j<112; j++); // 12MHz晶振,約1ms
}

// 動(dòng)態(tài)顯示函數(shù)
void display() {
    unsigned char shi, ge;
    shi = count / 10;    // 十位
    ge = count % 10;     // 個(gè)位
    // 十位顯示(P2口)
    P2 = table[shi];
    delay_ms(1);
    // 個(gè)位顯示(P0口)
    P0 = table[ge];
    delay_ms(1);
}

void main() {
    P0 = 0x00;
    P2 = 0x00;
    while(1) {
        display();

        // 加1(P1.0)
        if(P1_0 == 0) {
            delay_ms(10); // 消抖
            if(P1_0 == 0) {
                if(count < 99) count++;
                while(P1_0 == 0) display(); // 等待釋放時(shí)刷新顯示
            }
        }

        // 加2(P1.1)
        if(P1_1 == 0) {
            delay_ms(10);
            if(P1_1 == 0) {
                if(count <= 97) count += 2;
                                                                else if(count == 98) count = 99; // 兼容count=98時(shí)加2到99
                while(P1_1 == 0) display();
            }
        }

        // 減1(P1.2)
        if(P1_2 == 0) {
            delay_ms(10);
            if(P1_2 == 0) {
                if(count > 0) count--;
                while(P1_2 == 0) display();
            }
        }

        // 減2(P1.3)
        if(P1_3 == 0) {
            delay_ms(10);
            if(P1_3 == 0) {
                if(count >= 2) count -= 2;
                else if(count == 1) count = 0; // 兼容count=1時(shí)減2到0
                while(P1_3 == 0) display();
            }
        }

        // 清零(P1.4)
        if(P1_4 == 0) {
            delay_ms(10);
            if(P1_4 == 0) {
                count = 0;
                while(P1_4 == 0) display();
            }
        }
                                
    }
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:332444 發(fā)表于 2025-7-5 16:59 | 只看該作者
這種情況通常是數(shù)碼管無(wú)消隱處理代碼導(dǎo)致。
回復(fù)

使用道具 舉報(bào)

板凳
ID:1089588 發(fā)表于 2025-7-5 17:24 | 只看該作者
display() 里面先清0再賦值試試
回復(fù)

使用道具 舉報(bào)

地板
ID:1133081 發(fā)表于 2025-7-5 21:25 | 只看該作者

程序?qū)懙牟凰愫茫@示沒(méi)有問(wèn)題。


回復(fù)

使用道具 舉報(bào)

5#
ID:1137639 發(fā)表于 2025-7-6 00:22 | 只看該作者
### 問(wèn)題分析   籃球計(jì)分器在按鍵操作時(shí)能正常計(jì)數(shù),但松開(kāi)后數(shù)碼管顯示固定為“88”,這是動(dòng)態(tài)顯示刷新機(jī)制不足導(dǎo)致的典型問(wèn)題。在仿真環(huán)境中,由于缺乏實(shí)際硬件的電荷保持特性(如電容濾波、余暉效應(yīng)),若動(dòng)態(tài)掃描頻率不足,數(shù)碼管會(huì)因無(wú)法持續(xù)獲取正確數(shù)據(jù)而顯示異常。當(dāng)前代碼中`display()`函數(shù)僅在按鍵處理時(shí)被調(diào)用,主循環(huán)未實(shí)現(xiàn)高頻掃描,導(dǎo)致非按鍵狀態(tài)下數(shù)碼管輸出默認(rèn)異常值。  ### 解決方案   修改后的代碼通過(guò)優(yōu)化動(dòng)態(tài)顯示邏輯與按鍵處理流程,確保數(shù)碼管高頻刷新:   在動(dòng)態(tài)顯示部分,增加靜態(tài)變量`position`實(shí)現(xiàn)十位與個(gè)位的交替掃描,通過(guò)`P0=0x00; P2=0x00;`進(jìn)行消隱處理以避免殘影,并縮短單次顯示延時(shí)來(lái)提升掃描頻率。按鍵處理上,將檢測(cè)邏輯封裝為獨(dú)立函數(shù)`key_scan()`,通過(guò)`key_pressed`標(biāo)志位標(biāo)記按鍵狀態(tài),在按鍵釋放循環(huán)中持續(xù)調(diào)用`display()`以實(shí)時(shí)同步計(jì)數(shù)變化。主循環(huán)采用“先顯示后按鍵”的結(jié)構(gòu),確保每輪循環(huán)都強(qiáng)制刷新數(shù)碼管,避免因按鍵處理阻塞顯示更新。  ### 關(guān)鍵改進(jìn)說(shuō)明   優(yōu)化后的顯示機(jī)制通過(guò)`position`變量實(shí)現(xiàn)分時(shí)掃描,配合消隱操作消除鬼影,使十位(P2口)與個(gè)位(P0口)的段碼輸出更穩(wěn)定。針對(duì)仿真環(huán)境無(wú)硬件保持特性的特點(diǎn),通過(guò)軟件高頻刷新確保`count`變量的實(shí)時(shí)值同步到數(shù)碼管。若數(shù)碼管仍顯示異常,需檢查仿真配置(如數(shù)碼管是否為共陰類(lèi)型、端口連接是否正確),或降低仿真速度以匹配軟件掃描頻率。該方案通過(guò)動(dòng)態(tài)掃描頻率優(yōu)化,有效解決了仿真環(huán)境下的顯示同步問(wèn)題。
回復(fù)

使用道具 舉報(bào)

6#
ID:1137639 發(fā)表于 2025-7-6 00:23 | 只看該作者
### 問(wèn)題分析   籃球計(jì)分器在按鍵操作時(shí)能正常計(jì)數(shù),但松開(kāi)后數(shù)碼管顯示固定為“88”,這是動(dòng)態(tài)顯示刷新機(jī)制不足導(dǎo)致的典型問(wèn)題。在仿真環(huán)境中,由于缺乏實(shí)際硬件的電荷保持特性(如電容濾波、余暉效應(yīng)),若動(dòng)態(tài)掃描頻率不足,數(shù)碼管會(huì)因無(wú)法持續(xù)獲取正確數(shù)據(jù)而顯示異常。當(dāng)前代碼中`display()`函數(shù)僅在按鍵處理時(shí)被調(diào)用,主循環(huán)未實(shí)現(xiàn)高頻掃描,導(dǎo)致非按鍵狀態(tài)下數(shù)碼管輸出默認(rèn)異常值。  ### 解決方案   修改后的代碼通過(guò)優(yōu)化動(dòng)態(tài)顯示邏輯與按鍵處理流程,確保數(shù)碼管高頻刷新:   在動(dòng)態(tài)顯示部分,增加靜態(tài)變量`position`實(shí)現(xiàn)十位與個(gè)位的交替掃描,通過(guò)`P0=0x00; P2=0x00;`進(jìn)行消隱處理以避免殘影,并縮短單次顯示延時(shí)來(lái)提升掃描頻率。按鍵處理上,將檢測(cè)邏輯封裝為獨(dú)立函數(shù)`key_scan()`,通過(guò)`key_pressed`標(biāo)志位標(biāo)記按鍵狀態(tài),在按鍵釋放循環(huán)中持續(xù)調(diào)用`display()`以實(shí)時(shí)同步計(jì)數(shù)變化。主循環(huán)采用“先顯示后按鍵”的結(jié)構(gòu),確保每輪循環(huán)都強(qiáng)制刷新數(shù)碼管,避免因按鍵處理阻塞顯示更新。  ### 關(guān)鍵改進(jìn)說(shuō)明   優(yōu)化后的顯示機(jī)制通過(guò)`position`變量實(shí)現(xiàn)分時(shí)掃描,配合消隱操作消除鬼影,使十位(P2口)與個(gè)位(P0口)的段碼輸出更穩(wěn)定。針對(duì)仿真環(huán)境無(wú)硬件保持特性的特點(diǎn),通過(guò)軟件高頻刷新確保`count`變量的實(shí)時(shí)值同步到數(shù)碼管。若數(shù)碼管仍顯示異常,需檢查仿真配置(如數(shù)碼管是否為共陰類(lèi)型、端口連接是否正確),或降低仿真速度以匹配軟件掃描頻率。該方案通過(guò)動(dòng)態(tài)掃描頻率優(yōu)化,有效解決了仿真環(huán)境下的顯示同步問(wèn)題。
回復(fù)

使用道具 舉報(bào)

7#
ID:1156030 發(fā)表于 2025-7-6 12:31 | 只看該作者
xianfajushi 發(fā)表于 2025-7-5 16:59
這種情況通常是數(shù)碼管無(wú)消隱處理代碼導(dǎo)致。

好像是的,謝謝大佬
回復(fù)

使用道具 舉報(bào)

8#
ID:1156030 發(fā)表于 2025-7-6 12:33 | 只看該作者
WL0123 發(fā)表于 2025-7-5 21:25
程序?qū)懙牟凰愫茫@示沒(méi)有問(wèn)題。

可能是我別的地方有問(wèn)題,你這個(gè)為什么不用搭最小系統(tǒng)嗎
回復(fù)

使用道具 舉報(bào)

9#
ID:1133081 發(fā)表于 2025-7-6 15:51 | 只看該作者
多情不自作 發(fā)表于 2025-7-6 12:33
可能是我別的地方有問(wèn)題,你這個(gè)為什么不用搭最小系統(tǒng)嗎

只要在MCU屬性里設(shè)置晶振頻率即可,VCC和RST都是系統(tǒng)默認(rèn)的,不需要畫(huà)出來(lái)。
回復(fù)

使用道具 舉報(bào)

10#
ID:1152291 發(fā)表于 2025-7-11 13:39 | 只看該作者
還不如整一個(gè)二位一體的數(shù)碼該管。這樣兩個(gè)單在一起的數(shù)碼管在一起確實(shí)是不太好寫(xiě),而且書(shū)寫(xiě)籃球比賽計(jì)分器的同時(shí)我們是需要往更高級(jí)的方向進(jìn)行描述的。我們也是需要向往更高級(jí)的代碼進(jìn)行分析的,而且你這點(diǎn)錯(cuò)誤如果解決不了的話我們確實(shí)是可以自己去網(wǎng)上尋找點(diǎn)AI的幫助的哦這樣確實(shí)是可以對(duì)你代碼進(jìn)行分析的哦。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 韩国三级中文字幕hd久久精品 | 黄色三级视频 | 91成人国产| 久久久久久97 | 91免费网| 激情五月综合网 | 亚洲一级大片 | 国产精品久久久久久无人区 | 亚洲欧洲av | 亚洲免费精品 | 99视频 | 在线小视频 | 日韩在线免费观看视频 | 成人小网站 | 日本黄网站 | 一区二区免费看 | 精品国产欧美 | 中文字幕在 | 男女操操操 | 亚洲另类色综合网站 | 日韩在线视频观看 | 色精品| 在线观看黄色av | 日韩欧美在线播放 | 美女综合网 | 午夜激情影视 | 性欧美8khd高清极品 | 成人久久av | 久久精品欧美一区二区三区不卡 | 亚洲欧美国产毛片在线 | 欧美日韩亚洲一区二区三区 | www.国产一区| av黄色片 | jlzzjlzz欧美大全 | 欧美激情一区二区 | 午夜激情影院 | 视频在线一区二区 | 国产视频福利 | 久久久精品一区二区 | 欧美夜夜操 | 国产理论在线 |