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

標題: 單片機數(shù)碼管顯示不穩(wěn) [打印本頁]

作者: 可愛萌萌噠    時間: 2020-7-4 10:39
標題: 單片機數(shù)碼管顯示不穩(wěn)
把數(shù)碼管顯示放在中斷里面,然后再開一個定時器(定時一秒,用于蜂鳴器計時)按下一號按鍵,數(shù)碼管亮,按下二號按鍵蜂鳴器響一秒(此時數(shù)碼管還亮,)復位后都不反應(yīng),程序?qū)懲曛螅蜷_數(shù)碼管的時候,顯示不穩(wěn),閃爍,這是怎么了
作者: 不要黑    時間: 2020-7-4 13:09
數(shù)碼管閃爍可能是因為動態(tài)顯示延時過長
作者: 可愛萌萌噠    時間: 2020-7-4 16:04
不要黑 發(fā)表于 2020-7-4 13:09
數(shù)碼管閃爍可能是因為動態(tài)顯示延時過長

我試了一下,只打開t0中斷,數(shù)碼管正常,再開一個定時器,設(shè)置好蜂鳴器,就不行了
作者: daiya    時間: 2020-7-5 07:52
定時器定時時間太長
作者: 劉二狗    時間: 2020-7-5 13:40
加快刷新頻率
作者: 源代碼    時間: 2020-7-5 15:31
樓主你好,基于你這個問題,有可能是以下原因:1、定時器定時時間過長導致數(shù)碼管整體掃描時間過長;2、開啟T0后在開啟T1時,單片機定時器相關(guān)寄存器設(shè)置錯誤;3、程序本身存在不合理之處。這些問題都能導致數(shù)碼管顯示不穩(wěn)定、閃爍等問題。希望能幫助到你。
作者: 可愛萌萌噠    時間: 2020-7-5 20:02
源代碼 發(fā)表于 2020-7-5 15:31
樓主你好,基于你這個問題,有可能是以下原因:1、定時器定時時間過長導致數(shù)碼管整體掃描時間過長;2、開啟 ...

這是有關(guān)程序,您看一下
#include<reg51.h>
#define uchar unsigned char
uchar  smg[]={0xc0,0xf9,0xa4,0xb0};
sbit a1=P2^0;
sbit a2=P2^1;
sbit a3=P2^2;
sbit a4=P2^3;
sbit feng=P2^5;
sbit jian0=P3^2;
sbit jian1=P3^3;

void delay1()
{
uchar k;
for(k=20;k>0;k--)
{
                    TH1=(65536-50000)/256;
             TL1=(65536-50000)%256;
                 while(TF1==0);
                 TF1=0;
                 }
}
void delay()
{
       int i;
           for(i=600;i>0;i--);
}
void main()
{
TMOD=0X11;
         TH0=(65536-5)/256;
         TL0=(65536-5)%256;
         TH1=(65536-50000)/256;
         TL1=(65536-50000)%256;

         TR1=1;
         EA=1;
         ET0=1;
   while(1)
   {
     
                         if(jian1==0)
         {
           delay();
           if(jian1==0)
         {
           while(!jian1);
              TR0=1;
         }
          }

                         if(jian0==0)
         {
           delay();
           if(jian0==0)
         {
           while(!jian0);
            feng=0;
                delay1();
                feng=1;
         }
          }
        }
}
void t0(void) interrupt 1        
{
                     a1=0;
                P0=smg[2];
          delay();
          a1=1;
         
                     a2=0  ;
                P0=smg[0];
         delay();
          a2=1;
         
                     a3=0;
                P0=smg[0];
          delay();
          a3=1;
         
                     a4=0;
                P0=smg[3];
           delay();
          a4=1;
作者: kris2323    時間: 2020-7-5 20:24
考慮一下刷新頻率問題
作者: 桃子君    時間: 2020-7-5 21:12
數(shù)碼管動態(tài)顯示這種太費時的操作做好放在定時器外邊兒,定時器里可以放一些標志變量,這樣不會影響定時器的定時精度,如果顯示數(shù)碼管就需要刷新頻率取適中,太快太慢都不合適,正常幾十us刷新一次。
作者: 小黑的大表舅    時間: 2020-7-7 12:06
數(shù)碼管動態(tài)顯示這種不推薦直接放在定時器里邊,定時器里邊可以放一些標志位,然后數(shù)碼管動態(tài)顯示另外存放,當標志位為1數(shù)碼管就動態(tài)顯示等等
作者: yanlei_0    時間: 2020-7-7 13:39
數(shù)碼管顯示刷新頻率低了。




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