标题: 紧急求助!!!动态数码管不能正常显示!我做的是频率计,0到999999HZ,低频时直接计数,高频时经过16分频再计。 [打印本页]

作者: suwen    时间: 2008-6-18 10:02
标题: 紧急求助!!!动态数码管不能正常显示!我做的是频率计,0到999999HZ,低频时直接计数,高频时经过16分频再计。


计数时开始都是0,可是不久后就显示乱码,
有哪位高手帮助一下,小弟在这感激不尽了,
急呀,过两天就要交板了!!
我Q是170074505,这两天我会一直在线!!

#include <AT89x51.h>
/*********************************
全局变量定义
 *********************************/
unsigned char code pcode[]={215,17,205,93,27,94,222,21,223,95};//无小数点
unsigned char code chom[]={8,64,32,16,4,128};    //数码管选择
unsigned char temp[6]={0,0,0,0,0,0};   
unsigned char T0count;
unsigned char timecount;
bit flag;
unsigned long x;
/******************************************************
子函数定义
*******************************************************/    
void t0(void) interrupt 1 using 1
{
  T0count++;
}

void t1(void) interrupt 3 using 1    //定时2m
{
  TH1=(65536-15536)/256;
  TL1=(65536-15536)%256;
  timecount++;
  if(timecount==40) 
    {
      TR0=0;                //T0停止计数
      timecount=0;
      flag=1;
    }
 
}
  void get_1()
  {
  x=(T0count*65536+TH0*256+TL0)/2;             //低频
  }
 void get_2()
   {
   x=(T0count*65536+TH0*256+TL0)*8;        //高频
   }
 void deal()                             //存六位数码值
  {
    int i;
    for(i=0;i<6;i++)
     { 
      temp=x%10;
   x=x/10;
   }
  }
  void delay(unsigned dly)
    {
      unsigned i;
     for(;dly>0;dly--)
     for(i=50;i>0;i--);
    }
 void play()               
   { int i;
    for(i=0;i<6;i++)
   {
    P1=pcode[temp];  //数码显示
 P2=chom;         //数码管选择
    delay(10);
   }
   }
  
  
    /**************************
 主函数,定时器0对外部脉冲计数,定时器1定时50m*40=2s;
    ****************************/
void main(void)
 {
  int a;
  TMOD=0x15;
  TH0=0;
  TL0=0;
  TH1=(65536-15536)/256;
  TL1=(65536-15536)%256;
  TR1=1;
  TR0=1;
  ET0=1;
  ET1=1;
  EA=1;
  while(1)
    {
 
 if(flag==1)
 {  a=P3&0x80;
   
   if(a==0x80)
      get_2();
     else 
  get_1();
      deal();
      TR0=1;      //重启T0计数
   flag=0;
  }
     play();
  }
 }

 

 


作者: suwen    时间: 2008-6-18 13:59
唉,咋就没人帮忙?
难道就没有可以解决问题高手来过?

作者: dafengche    时间: 2014-9-26 15:34
可能高手不屑回答吧
作者: a89588038    时间: 2018-8-2 09:49
我来帮你,我加你Q了
作者: 罗文杰    时间: 2018-8-5 21:52
a89588038 发表于 2018-8-2 09:49
我来帮你,我加你Q了

十年了,这是刚通网呢
作者: hjj1019389748    时间: 2018-8-6 10:44
解决了吗
作者: DANFISH    时间: 2018-8-7 15:54
10年问题,还能被找出来
作者: 111252    时间: 2018-8-7 18:02
我感觉可能是短接片的问题,我记得我也出现过




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