找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

兩個2位數(shù)碼管動態(tài)顯示倒計時問題

[復(fù)制鏈接]
ID:350162 發(fā)表于 2018-6-12 12:04 | 顯示全部樓層 |閱讀模式
QQ截圖20180612120036.jpg 單一個數(shù)碼管倒計時,可以正常顯示,但另一個數(shù)碼管會有亂碼,兩個同時倒計時全部亂碼。
QQ截圖20180612115929.jpg
QQ截圖20180612115947.jpg
回復(fù)

使用道具 舉報

ID:320306 發(fā)表于 2018-6-12 12:30 | 顯示全部樓層
復(fù)用沒做好吧。。
回復(fù)

使用道具 舉報

ID:105364 發(fā)表于 2018-6-12 13:13 | 顯示全部樓層
顯示另一位時,上一位要消隱,就是發(fā)先滅掉
回復(fù)

使用道具 舉報

ID:350462 發(fā)表于 2018-6-12 17:25 | 顯示全部樓層
兩個管子都連一起的話,要想同時顯示,需要關(guān)閉(消隱)后打開另一個管子的控制段
回復(fù)

使用道具 舉報

ID:350162 發(fā)表于 2018-6-12 18:05 | 顯示全部樓層
47okey 發(fā)表于 2018-6-12 13:13
顯示另一位時,上一位要消隱,就是發(fā)先滅掉

試過在延時后加P3=0x00,那樣就整個不亮了
回復(fù)

使用道具 舉報

ID:350162 發(fā)表于 2018-6-12 18:10 | 顯示全部樓層
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar code table1[]={50,3,25};
uchar code table2[]={55,20,3};
uchar a=50,b=55,n=0,m=0;
uchar j,k,c3,c2,c1,c0;
uchar pp;

void delay(unsigned int i)
{
        int j;
        for(i;i>0;i--)
                for(j=20;j>0;j--);
}

void display(uchar x,uchar y,uchar o,uchar p)
{
        P2=0x02;
        P3=table[x];
        delay(5);
        P3=0xff;
       
        P2=0x01;
        P3=table[y];
        delay(5);
        P3=0xff;

        P2=0x04;
        P3=table[o];
        delay(5);
        P3=0xff;

        P2=0x08;
        P3=table[p];
        delay(5);
        P3=0x00;
}

void main()
{
        TMOD=0x01;                 
        TR0=1;                         
        TH0=(65536-46080)/256;
        TL0=(65536-46080)%256;
        ET0=1;                         
        EA=1;                       
        while(1)
        {
                if(TF0==1)                       
                {
                        TF0=0;
                        pp++;
                        TH0=(65536-46080)/256;
                        TL0=(65536-46080)%256;
                }
                if(pp==20)
                {       
                        pp=0;
                        a--;
                        b--;
                        if(a==0)
                        {
                                n++;
                                a=table1[n];
                                if(n==2)
                                {
                                        n=0;
                                }          
                        }
                        if(b==0)
                        {       
                                m++;
                                b=table2[m];                       
                                if(m==2)
                                {
                                        m=0;
                                }
                        }
                }
                c0=a%10;                 
                c1=a/10;
                c2=b%10;
                c3=b/10;
                display(c1,c0,c2,c3);
        }
}
回復(fù)

使用道具 舉報

ID:350162 發(fā)表于 2018-6-12 18:10 | 顯示全部樓層
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar code table1[]={50,3,25};
uchar code table2[]={55,20,3};
uchar a=50,b=55,n=0,m=0;
uchar j,k,c3,c2,c1,c0;
uchar pp;

void delay(unsigned int i)
{
        int j;
        for(i;i>0;i--)
                for(j=20;j>0;j--);
}

void display(uchar x,uchar y,uchar o,uchar p)
{
        P2=0x02;
        P3=table[x];
        delay(5);
        P3=0xff;
       
        P2=0x01;
        P3=table[y];
        delay(5);
        P3=0xff;

        P2=0x04;
        P3=table[o];
        delay(5);
        P3=0xff;

        P2=0x08;
        P3=table[p];
        delay(5);
        P3=0x00;
}

void main()
{
        TMOD=0x01;                 
        TR0=1;                         
        TH0=(65536-46080)/256;
        TL0=(65536-46080)%256;
        ET0=1;                         
        EA=1;                       
        while(1)
        {
                if(TF0==1)                       
                {
                        TF0=0;
                        pp++;
                        TH0=(65536-46080)/256;
                        TL0=(65536-46080)%256;
                }
                if(pp==20)
                {       
                        pp=0;
                        a--;
                        b--;
                        if(a==0)
                        {
                                n++;
                                a=table1[n];
                                if(n==2)
                                {
                                        n=0;
                                }          
                        }
                        if(b==0)
                        {       
                                m++;
                                b=table2[m];                       
                                if(m==2)
                                {
                                        m=0;
                                }
                        }
                }
                c0=a%10;                 
                c1=a/10;
                c2=b%10;
                c3=b/10;
                display(c1,c0,c2,c3);
        }
}
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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