微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 为什么有一个数码管不亮?

为什么有一个数码管不亮?

时间:10-02 整理:3721RD 点击:
#include <reg52.h>
sbit dula=P2^6;
sbit wela=P2^7;
#define uchar unsigned char
#define uint  unsigned  int
#define  dearpot  P0
uchar code temap[]={0x3F,0x06,0x5B,0x4F,
                              0x66,0x6D,0x7D,0x07,
                                0x7F,0x6F,0x77,0x7C,
                                0x39,0x5E,0x79,0x71,
                                 0};
uchar code  weiz[]={0xfe,0xfd,0xfb,0x7f,0xef,0xdf};
uchar TempData[8];
void delay (uint z);
void display(uchar tt,uchar aa);
uchar cc;
uint num;
                 void exmerpt0() interrupt 1
           {
                   TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
                cc++;
           }
void main()
{
        uint num=9999;
  TMOD=0X01;
  TH0=(65536-50000)/256;
  TL0=(65536-50000)%256;
  EA=1;
  TR0=1;
  ET0=1;

        while(1)
        {
          if(cc==10)
          {
                cc=0;
          if(num>0)
          {
          num--;
          }
          if(num==0)
          {
          num=9999;
          }
          }
        TempData[0]=temap[num/1000];
        TempData[1]=temap[(num%1000)/100];
        TempData[2]=temap[((num%1000)%100)/10];
        TempData[3]=temap[((num%1000)%100)%10];
         display(2,4);
        }
}
  void delay (uint z)
  {
  uint x,y;
  for(x=z;x>0;x--)
  for(y=110;y>0;y--);
  }
     void display(uchar tt,uchar aa)
         {
           uchar i;
           for(i=0;i<aa;i++)
           {
            dearpot=0;
            dula=1;
            dula=0;
                dula=1;
            dearpot =TempData[i];
            dula=0;
                dearpot=0xff;
            wela=1;
            dearpot=weiz[i+tt];
            wela=0;
            delay(2);
           }
         }
          

你先检查数码管是否是好的

是好的 我用其他程序检测了  这一个数码管是好的  我想还是程序有问题吧   请教一下那里出问题了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top