欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

數碼管如何高位滅0啊?

[復制鏈接]
跳轉到指定樓層
樓主
ID:112090 發表于 2016-4-3 20:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
最近在啃51里的程序,用中斷寫了數碼管的動態顯示程序,但顯示1它會顯示000001,請問前輩們如何做到高位滅0,大概思路是檢查最高位,為0則輸出高電平并檢查下一個高位以此下去,但程序不會寫的(c語言)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:160658 發表于 2017-10-8 15:32 | 只看該作者
                for(j=5; j>=1; j--)
                {
                        if(buf[j])
                                break;       
                        else
                                LedBuff[j] = 0xFF;
                }
                for(; j>=0; j--)
                        LedBuff[j] = LedChar[buf[j]];
回復

使用道具 舉報

板凳
ID:160658 發表于 2017-10-8 15:32 | 只看該作者
                for(j=5; j>=1; j--)                 {                         if(buf[j])                                 break;                                 else                                 LedBuff[j] = 0xFF;                 }                 for(; j>=0; j--)                         LedBuff[j] = LedChar[buf[j]];        
回復

使用道具 舉報

地板
ID:170270 發表于 2017-10-8 16:09 | 只看該作者
LED_Disp_Buf[0]=(long)Weight_Shi%1000000/100000;
                                                if(LED_Disp_Buf[0]==0x00) {LED_Disp_Buf[0]=10;}
                                                LED_Disp_Buf[1]=(long)Weight_Shi%100000/10000;
                                                if((LED_Disp_Buf[0]==10)&&(LED_Disp_Buf[1]==0)) {LED_Disp_Buf[1]=10;}
                                                LED_Disp_Buf[2]=(long)Weight_Shi%10000/1000;
                                                if((LED_Disp_Buf[1]==10)&&(LED_Disp_Buf[2]==0)) {LED_Disp_Buf[2]=10;}
                                                LED_Disp_Buf[3]=(long)Weight_Shi%1000/100;
                                                if((LED_Disp_Buf[2]==10)&&(LED_Disp_Buf[3]==0)) {LED_Disp_Buf[3]=10;}
                                                LED_Disp_Buf[4]=(long)Weight_Shi%100/10;
                                                if((LED_Disp_Buf[3]==10)&&(LED_Disp_Buf[4]==0)) {LED_Disp_Buf[4]=10;}
                                                LED_Disp_Buf[5]=(long)Weight_Shi%10;
回復

使用道具 舉報

5#
ID:237812 發表于 2017-10-8 16:14 | 只看該作者
不是很明白你的意思,是不是輸出0xff時,數碼管不顯示。
回復

使用道具 舉報

6#
ID:111634 發表于 2017-10-9 15:49 | 只看該作者
先從最高位開始,檢測到0就暗顯示。然后,若上一位0暗顯示了,本位檢測到0就再暗顯示,直至末位。若上一位未0暗顯示,就不需檢測后位0暗顯示了。
回復

使用道具 舉報

7#
無效樓層,該帖已經被刪除
8#
ID:238046 發表于 2017-10-9 16:26 | 只看該作者
void sc(uchar bai, uchar shi, uchar ge)
{
        bai = tmp/100;
        shi = tmp%100/10;
        ge = tmp%10;
        if(tmp ==0)
                while(1)
                {
                P22 = 0;
                P23 = 0;
                P15 = 0;
                        if(tmp != 0)
                                break;
                }
        Number(ge);
        P22 = 0;
        P23 = 0;
        P15 = 1;
        Delay_ms(10);
                P22 = 0;
                P23 = 0;
                P15 = 0;
               
        Number(shi);
        P22 = 0;
        P23 = 1;
        P15 = 0;
        Delay_ms(10);
                P22 = 0;
                P23 = 0;
                P15 = 0;
       
        Number(bai);
        P23 = 0;
        P22 = 1;
        P15 = 0;
        Delay_ms(10);
                P22 = 0;
                P23 = 0;
                P15 = 0;
}
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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