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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

為什么000-999的跑表按下暫停開關(guān)只顯示個(gè)位,不顯示十位和百位

[復(fù)制鏈接]
ID:1130102 發(fā)表于 2024-8-3 10:44 來自觸屏版 | 顯示全部樓層 |閱讀模式
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit wela=P2^7;
sbit dula=P2^6;
sbit key1=P3^4;
sbit key2=P3^5;
sbit key3=P3^6;
sbit key4=P3^7;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,};
uchar bai,shi,ge,tt;
uint aa;
void init();
void delay(uint z);
void display(uchar bai,uchar shi,uchar ge);
void main()
{
        init();
        while(1)
        {
                bai=aa/100;
                shi=aa%100/10;
                ge=aa%10;
                display(bai,shi,ge);
                if(key1==0)
                {
                        delay(5);
                        if(key1==0)
                        {
                                TR0=0;
                        }
                        while(!key1);
                        delay(5);
                        while(!key1);
                }
                else
                        TR0=0;
            }
}


void init()
{
        aa=0;
        TMOD=0x01;
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        EA=1;
        ET0=1;
        TR0=1;
}

void timer0() interrupt 1
{
        TH0=(65536-1000)/256;
        TL0=(65536-1000)%256;
        tt++;
        if(tt==100)
        {
                tt=0;
                aa++;
        if(aa==999)
                aa=0;
    }
}


void display(uchar bai,uchar shi,uchar ge)
{
        wela=1;
        P0=0xfe;
        wela=0;
        dula=1;
        P0=table[bai];
        dula=0;
        delay(1);
       
        wela=1;
        P0=0xfd;
        wela=0;
        dula=1;
        P0=table[shi];
        dula=0;
        delay(1);
       
        wela=1;
        P0=0xfb;
        wela=0;
        dula=1;
        P0=table[ge];
        dula=0;
        delay(1);
}

void delay(uint z)
{
        uint x,y;
        for(x=z;x>0;x--)
         for(y=110;y>0;y--);
}
回復(fù)

使用道具 舉報(bào)

ID:1109793 發(fā)表于 2024-8-3 11:36 | 顯示全部樓層
只顯示個(gè),百十顯示0還是根本不亮?不暫停就顯示正常了?
回復(fù)

使用道具 舉報(bào)

ID:619259 發(fā)表于 2024-8-3 12:39 | 顯示全部樓層
雖然沒有原理圖,但通過分析你的程序,幾點(diǎn)建議:
1.你的案例,用到了兩片鎖存器分別驅(qū)動數(shù)碼管的段和位,感覺有些浪費(fèi),用三個(gè)三極管驅(qū)動位端口就可以了。當(dāng)然你的方案是為了節(jié)省IO口,但是驅(qū)動三位數(shù)碼管就沒那個(gè)必要了。
2.你遇到的問題:按下暫停開關(guān)只顯示個(gè)位,不顯示十位和百位。問題出在按鍵松手檢測“while(!key1);”,程序運(yùn)行到這里就進(jìn)入死循環(huán)等待,按理應(yīng)該是數(shù)碼管全部熄滅,但是電路中有兩個(gè)鎖存器,能保持進(jìn)入松手檢測前的數(shù)據(jù),根據(jù)你編寫的動態(tài)顯示函數(shù),最先掃描的是百位,最后掃描的是個(gè)位,所以進(jìn)入按鍵程序前是掃描個(gè)位,故松手檢測時(shí)顯示的是個(gè)位。
3.解決辦法:在松手檢測時(shí)繼續(xù)調(diào)用顯示函數(shù)。程序?yàn)椋骸皐hile(!key1) display(bai,shi,ge);”
回復(fù)

使用道具 舉報(bào)

ID:1130102 發(fā)表于 2024-8-3 13:20 來自觸屏版 | 顯示全部樓層
xiaobendan001 發(fā)表于 2024-8-3 11:36
只顯示個(gè),百十顯示0還是根本不亮?不暫停就顯示正常了?

更本不亮,不暫停就正常跑
回復(fù)

使用道具 舉報(bào)

ID:1130102 發(fā)表于 2024-8-3 14:05 來自觸屏版 | 顯示全部樓層
xiaobendan001 發(fā)表于 2024-8-3 11:36
只顯示個(gè),百十顯示0還是根本不亮?不暫停就顯示正常了?

根本不亮,對不暫停是正常的
回復(fù)

使用道具 舉報(bào)

ID:69038 發(fā)表于 2024-8-3 14:14 | 顯示全部樓層
程序架構(gòu)的原因,所以按鍵后只顯示個(gè)位是正常的:
因?yàn)槟銜和:笫窃乜辙D(zhuǎn),沒有進(jìn)行動掃顯示,所以只能顯示取后一次的數(shù)值,而你顯示的最后一次就是個(gè)位數(shù)。
要想暫停后還能全屏顯示,你可以再開一個(gè)定時(shí)器,這個(gè)就專門負(fù)責(zé)動態(tài)掃顯,為了中斷減少對其它進(jìn)程的影響,一次中斷只顯示一個(gè)數(shù),下一次中斷顯示下一個(gè)數(shù)。。。
原則上來說,暫停鍵也不是原地打轉(zhuǎn),而是關(guān)閉定時(shí)器的計(jì)數(shù)。。。
回復(fù)

使用道具 舉報(bào)

ID:1109793 發(fā)表于 2024-8-3 16:49 | 顯示全部樓層
只顯示個(gè) 的時(shí)候,亮度會變亮?看你住程序里面TR=0了,KEY1不管按不按都會TR=0啊。你那個(gè)計(jì)時(shí)怎么計(jì)的啊?
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚州中文| av国产精品毛片一区二区小说 | 国产激情第一页 | 久草网站 | 卡通动漫第一页 | 狠狠爱视频 | 欧美福利视频一区 | 欧美成人在线网站 | 97精品一区二区 | 国产精品久久久久久久久免费 | 91国在线高清视频 | 日韩精品视频一区二区三区 | 青青草一区二区 | 国产成人一区在线 | 日韩www | 久久国产精品99久久久大便 | 国产精品久久久久一区二区三区 | 不卡一区二区在线观看 | 中文字幕日韩一区 | 综合亚洲视频 | 91成人在线 | 精品一区二区三区免费视频 | 国产免费一级一级 | 国产一区二区三区视频 | a在线观看 | 欧美精品久久久久久久久久 | 91麻豆精品国产91久久久久久久久 | 日韩精品免费视频 | 97影院在线午夜 | www成人啪啪18 | 九色视频网站 | 久久成人精品视频 | 成人免费在线 | 天天操天天干天天爽 | 亚洲a网| 久草欧美视频 | 亚洲第一区国产精品 | 先锋资源在线 | 国产高清精品一区二区三区 | 久久大全| 婷婷色网|