标题: 用定时器以间隔500MS在6位数码管上依次显示0、1、2、3….C、D、E、F,重复没有锁存器 [打印本页]

作者: 13922929552    时间: 2018-2-25 11:51
标题: 用定时器以间隔500MS在6位数码管上依次显示0、1、2、3….C、D、E、F,重复没有锁存器
#include<reg52.h>

unsigned char shumaguan[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
unsigned char time_num;
unsigned int time;

void delay(unsigned int i)
{
   while(i--);
}
void main()
{                  
   time_num=0;
   time=0;

   TMOD=1;
   TH0=0xec;
   TL0=0x77;
   ET0=1;
   EA=1;
   TR0=1;
                 
   while(1)
  {                   
        P0=shumaguan[time];       
  }      
}
void timer0()interrupt 1
{
   TH0=0xec;
   TL0=0x77;
   time_num++;
   if(time_num==50)
   {     
      time_num=0;
          time++;
          if(time==16)
          {
             time=0;
          }
   }                            
}       //有警告


作者: 海盗船    时间: 2018-2-25 13:27
楼主没写数码管显示的子函数
作者: 13922929552    时间: 2018-2-25 17:52
海盗船 发表于 2018-2-25 13:27
楼主没写数码管显示的子函数

我把子函数删了就好了
作者: jizi    时间: 2018-2-25 17:53
把delay子函数删了
你完全没用delay子函数
没有写了函数不用会报错的
作者: 海盗船    时间: 2018-2-25 18:27
13922929552 发表于 2018-2-25 17:52
我把子函数删了就好了

我看错了,以为你用的锁存器




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1