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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

單片機怎么實現(xiàn)1位數(shù)碼管按鍵下的靜態(tài)顯示0-9 我寫的程序有問題

查看數(shù): 8237 | 評論數(shù): 10 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2018-4-24 22:26

正文摘要:

這個代碼有問題,按下按鍵不是按順序從0-9的顯示,是跳著顯示,幫看看哪里錯了。 單片機源程序: #include "reg52.h" #define uint unsigned int #define uchar unsigned char uchar code table[]={0x3f,0x06 ...

回復(fù)

ID:317386 發(fā)表于 2018-4-26 21:37
共陽數(shù)碼管段碼不對吧
ID:213173 發(fā)表于 2018-4-26 20:34
fenger112 發(fā)表于 2018-4-26 19:16
謝謝了,不過P0=~table;這句要改成P0=~table;才行

這是與你使用的數(shù)碼管是共陰或共陽來確定的
ID:311604 發(fā)表于 2018-4-26 19:48
對啦,我也剛看明白,學(xué)習(xí)了
ID:311951 發(fā)表于 2018-4-26 19:16
wulin 發(fā)表于 2018-4-26 07:12
#include "reg52.h"
#define uint unsigned int
#define uchar unsigned char

謝謝了,不過P0=~table;這句要改成P0=~table;才行
ID:213173 發(fā)表于 2018-4-26 07:12
fenger112 發(fā)表于 2018-4-25 20:43
現(xiàn)在是正常了,可是怎么按下按鍵,直接從0跳到2,怎么回事啊,大家在幫我看看哪里出問題了。

#include " ...

#include "reg52.h"
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,                     
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //共陰數(shù)碼管碼表0~F
sbit key_s1 = P3^2;  //獨立按鍵S1
//uchar num;
void delay(uint z);
void main()
{
        uchar i=0;
        P2 = 0xff;
        P0=~table;
        while(1)
        {
                if(key_s1 == 0)
                {
                        delay(20); //按鍵消抖
                        if(key_s1 == 0)
                        {
                                i++;
                                if(i>9)
                                        i=0;
                                P0=~table;
                                while(!key_s1); //松手檢測
//                                num++;
//                                if(num == 10)
//                                num = 0;
                        }
                }
        }
}
void delay(uint z)
{
        uint x,y;         
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}
ID:311951 發(fā)表于 2018-4-25 20:43
現(xiàn)在是正常了,可是怎么按下按鍵,直接從0跳到2,怎么回事啊,大家在幫我看看哪里出問題了。

#include "reg52.h"
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
                     0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //共陽數(shù)碼管碼表
sbit key_s1 = P3^2;  //獨立按鍵S1
uchar num;
void delay(uint z);
void main()

{
        uchar i;
        P2 = 0xff;
        while(1)
        {
           if(key_s1 == 0)
         {
           P0=~table[i];
           i++;
           if (i>9)
       i=0;
           delay(20); //按鍵消抖
           if(key_s1 == 0)
           num++;
           if(num == 10)
           num = 0;
           while(!key_s1); //松手檢測
         }
        }
}
        void delay(uint z)
        {
         uint x,y;         for(x=z;x>0;x--)
         for(y=110;y>0;y--);
        }

ID:213173 發(fā)表于 2018-4-25 14:28

數(shù)碼管數(shù)組用反了吧?
ID:315830 發(fā)表于 2018-4-25 12:01
邏輯混亂了
你現(xiàn)在實現(xiàn)的是0-f的抽獎顯示吧

1.你的16次for循環(huán)應(yīng)該去掉
2.要顯示的應(yīng)該是num,不是i
3.delay(1000)影響消抖,且你不按按鍵數(shù)碼管顯示數(shù)字不會變,這句應(yīng)該去掉
暫時看到那么多
ID:164602 發(fā)表于 2018-4-25 08:42
你的程序思路不對啊。

你先for,你知道你按鍵時,for到哪里了?所以,你按下鍵時,真的是碰運氣,for到哪,就是哪兒,所以,不會跟你設(shè)想的按一下,走一個字。

我是這樣改你的程序的
void main()

{
        uchar i;
        P2 = 0xff;
        while(1)
        {
           if(key_s1 == 0)
         {
           delay(1000);
           P0=table[i];
           i++;
                   if (i>9)
                   i=0;
           delay(20); //按鍵消抖
           if(key_s1 == 0)
           num++;
           if(num == 10)
           num = 0;
           while(!key_s1); //松手檢測
         }
        }
}

另外,我還不明白,你的num變量是干什么的,沒什么用啊。

評分

參與人數(shù) 1黑幣 +5 收起 理由
luntandianzi + 5

查看全部評分

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美精品一区二区在线观看 | 国产激情91久久精品导航 | 精品欧美一区二区三区久久久小说 | 欧美三区在线观看 | 亚洲高清视频一区二区 | 免费观看av| 国产aⅴ爽av久久久久久久 | 91麻豆产精品久久久久久夏晴子 | 伊人久久综合 | 国产一区二区三区在线 | 正在播放国产精品 | 久久久久国产成人精品亚洲午夜 | 免费观看日韩av | 一区二区三区四区五区在线视频 | 亚洲区在线 | 国产精品片aa在线观看 | 精品中文字幕一区二区三区 | 亚洲一区二区黄 | 免费播放一级片 | 国产精品欧美精品 | 久久久久精 | 色综合久久天天综合网 | 成人毛片视频在线播放 | 欧美色综合网 | 奇米四色在线观看 | 北条麻妃视频在线观看 | 色偷偷人人澡人人爽人人模 | 久久国产精品视频 | 男人的天堂中文字幕 | 999精品视频在线观看 | 欧美1区| 日韩综合网 | 日本在线看片 | 日韩在线免费视频 | 国产精品视频一区二区三区 | 欧美亚洲另类在线 | 日本视频一区二区 | 99热这里有精品 | 99精品久久久久久中文字幕 | 国产成人精品久久 | 日韩欧美三级 |