欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機時鐘程序數碼管顯示會閃爍,怎么才可以解決閃爍問題啊 [打印本頁]

作者: 1431936576    時間: 2019-5-15 10:05
標題: 單片機時鐘程序數碼管顯示會閃爍,怎么才可以解決閃爍問題啊
#include "reg51.h"
typedef unsigned int u16;
typedef unsigned char u8;
int shi=0,fen=0,s0=0,s1=0,bittime=0,bitdisplay=0;
unsigned char Tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
//P2=Tab[s1];P3=0Xef;
void delay(u16 i)
{
while(i--);
}

void timer0(void) interrupt 1  using 0
{
TH0=(65536-50000)/256;TL0=(65536-50000)/256;
  switch(bitdisplay)
  {
    case 0:P2=Tab[s0];P3=0Xdf;break;
     case 1:P2=Tab[s1];P3=0Xef;break;
   
  
  }
  bitdisplay++;
  bittime++;
  if(bitdisplay==2){bitdisplay=0;}
  
}

void main(void)
{

  TMOD=0X01;TH0=(65536-50000)/256;TL0=(65536-50000)/256;
  EA=1;ET0=1;TR0=1;
  while(1)
  {
  
  if(bittime==20)
     {
   bittime=0;
    s0++;
   }
   if(s0==10)
     {
    s0=0;
     s1++;
   
   }
  }
}


作者: wulin    時間: 2019-5-15 12:28
本帖最后由 wulin 于 2019-5-15 16:40 編輯

把定時器中斷周期設置由50ms改為1~5ms即可消除閃爍
作者: jmkl128    時間: 2019-5-15 17:49
TH0=(65536-50000)/256;TL0=(65536-50000)/256;
這是刷新時間,50ms一次,太長了,改為TH0=(65536-5000)/256;TL0=(65536-5000)%256;或者更小
作者: fengyou    時間: 2019-5-15 22:02
延時長一點試試
作者: liushangming    時間: 2019-5-16 14:39
消影,中斷時間變短
作者: 達達尼安    時間: 2019-5-16 15:37
現實前要有消影操作就好了。
作者: zsj150    時間: 2019-5-16 15:53
加入消影,然后把終端的時間變短點就好了
作者: 三感    時間: 2019-5-16 16:07
延時函數不能設置太長,要短
作者: madao_kang    時間: 2019-5-16 17:44
中斷時間改短啊,要不是肯定會閃爍的,通常每個com有100hz差不多了
作者: 酸葡萄    時間: 2019-5-16 18:19
改一下延遲
作者: 雨落    時間: 2019-5-20 23:58
延時過短,也可能是電壓不穩




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1