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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

請大神看看,為什么數碼管只有一個位在變化

[復制鏈接]
跳轉到指定樓層
樓主
ID:235857 發表于 2017-10-31 20:57 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

我真的盡力了,請幫我看下問題出在哪,這是一個38譯碼器的數碼管。謝謝了。

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uint i,a;
uint dis[4];
sbit aa=P2^2;
sbit bb=P2^3;
sbit cc=P2^4;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
                                        0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//顯示0~F的值
  void delays(uchar xms)
  {
  uchar i,j;
  for(i=xms;i>0;i--)
  for(j=110;j>0;j--);
  }

       
                void display()
                {
                         
                        for(a=0;a<3;a++)
                        {
                        switch(a)
                                {
                                case 0:aa=0;bb=0;cc=0;break;
                                case 1:aa=1;bb=0;cc=0;break;
                                case 2:aa=0;bb=1;cc=0;break;
                                }       
                                   P0=dis[a];
                                delays(10);       
                        }


                }
                void datapros()
                {
                dis[0]=table[i/100];
                dis[1]=table[i/100%10];
                dis[2]=table[i%10];
                }

                  void main()
                          {
                        TMOD=0x01;
                        TH0=(65536-50000)/256;
                        TL0=(65536-50000)%256;
                        ET0=1;
                        EA=1;
                        TR0=1;
                        while(1)
                        {
                        datapros();
                        display();
               
                        }
                        }
                                   void T0_time()interrupt 1
                                        {       
                                        uchar k;
                                        TH0=(65536-50000)/256;
                                        TL0=(65536-50000)%256;
                                        k++;
                                        if(k==20)
                                    {k=0;i++;}
                                        }

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

使用道具 舉報

沙發
ID:123289 發表于 2017-10-31 23:11 | 只看該作者
畫出方框圖,在畫的過程中你就知道了。
回復

使用道具 舉報

板凳
ID:213173 發表于 2017-11-1 09:18 | 只看該作者
你試試看:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit aa=P2^2;
sbit bb=P2^3;
sbit cc=P2^4;
uint i=0,k=0;
uchar a=0;
bit b=0;
//uint dis[4];
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
                    0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//顯示0~F的值
/*
void delays(uchar xms)
{
        uchar i,j;
        for(i=xms;i>0;i--)
                for(j=110;j>0;j--);
}
*/
void display()
{
        switch(a)
        {
                case 0:aa=0;bb=0;cc=0;
                                P0=table[i/100];
                                a=1;break;
                case 1:aa=1;bb=0;cc=0;
                                P0=table[i%100/10];
                                a=2;break;
                case 2:aa=0;bb=1;cc=0;
                                P0=table[i%10];
                                a=0;break;
        }        
}

/*
void datapros()
{
        dis[0]=table[i/100];
        dis[1]=table[i/100%10];
        dis[2]=table[i%10];
}
*/
void main()
{
        TMOD=0x01;
        TH0=(65536-1000)/256;
        TL0=(65536-1000)%256;
        ET0=1;
        EA=1;
        TR0=1;
        while(1)
        {
//                datapros();
                if(b==1)
                {
                        b=0;
                        display();
                }
        }
}
void T0_time()interrupt 1
{        
        TH0=(65536-1000)/256;
        TL0=(65536-1000)%256;
        k++;
        if(k>=1000)
        {
                k=0;
                if(i<1000)
                        i++;
                else i=0;
        }
        b=1;
}

回復

使用道具 舉報

地板
ID:235857 發表于 2017-11-1 13:08 | 只看該作者
wulin 發表于 2017-11-1 09:18
你試試看:
#include
#define uchar unsigned char

我天吶,大神啊。果然可以了。話說我那樣寫到底哪里不對了呢?
回復

使用道具 舉報

5#
ID:244913 發表于 2017-11-1 13:21 | 只看該作者
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit aa=P2^2;
sbit bb=P2^3;
sbit cc=P2^4;
uint i=0,k=0;
uchar a=0;
bit b=0;
//uint dis[4];
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
                    0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//顯示0~F的值
/*
void delays(uchar xms)
{
        uchar i,j;
        for(i=xms;i>0;i--)
                for(j=110;j>0;j--);
}
*/
void display()
{
        switch(a)
        {
                case 0:aa=0;bb=0;cc=0;
                                P0=table[i/100];
                                a=1;break;
                case 1:aa=1;bb=0;cc=0;
                                P0=table[i%100/10];
                                a=2;break;
                case 2:aa=0;bb=1;cc=0;
                                P0=table[i%10];
                                a=0;break;
        }        
}

/*
void datapros()
{
        dis[0]=table[i/100];
        dis[1]=table[i/100%10];
        dis[2]=table[i%10];
}
*/
void main()
{
        TMOD=0x01;
        TH0=(65536-1000)/256;
        TL0=(65536-1000)%256;
        ET0=1;
        EA=1;
        TR0=1;
        while(1)
        {
//                datapros();
                if(b==1)
                {
                        b=0;
                        display();
                }
        }
}
void T0_time()interrupt 1
{        
        TH0=(65536-1000)/256;
        TL0=(65536-1000)%256;
        k++;
        if(k>=1000)
        {
                k=0;
                if(i<1000)
                        i++;
                else i=0;
        }
        b=1;
}
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人久久网 | 国产一级特黄真人毛片 | 国产一级一级毛片 | 成人精品一区二区三区中文字幕 | 美女视频一区二区 | 91在线区| 国产成人免费在线观看 | 亚洲国产aⅴ成人精品无吗 欧美激情欧美激情在线五月 | 玖玖国产| 色资源站| 中文一区二区视频 | 久久69精品久久久久久国产越南 | 久久国产精品99久久久久 | 精品久久久久一区二区国产 | 久久一区视频 | 欧美黑人体内she精在线观看 | 成年人在线观看视频 | 国产精品国产三级国产aⅴ原创 | 久久国产精品一区二区三区 | 国产精品久久久亚洲 | 亚洲网站在线观看 | 91福利网址| 五月婷婷色 | 超碰最新在线 | 婷婷五月色综合香五月 | 成人国产精品久久久 | 日日操夜夜操天天操 | 亚洲精品乱码久久久久久久久 | 久久婷婷麻豆国产91天堂 | 羞羞视频在线观看网站 | 欧美日韩在线高清 | 欧美日韩国产一区二区 | 久久久天堂| 影音av | 午夜日韩视频 | 视频一区在线 | av网站在线看 | 久久91精品国产一区二区三区 | 亚洲一区二区三区免费在线 | 在线观看国产网站 | 欧美人成在线视频 |