久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2944|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)+數(shù)碼管顯示不穩(wěn)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:711481 發(fā)表于 2020-7-4 22:06 來自觸屏版 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
把數(shù)碼管顯示放在中斷里面,然后再開一個定時器(定時一秒,用于蜂鳴器計時)按下一號按鍵,數(shù)碼管亮,按下二號按鍵蜂鳴器響一秒(此時數(shù)碼管還亮,)復(fù)位后都不反應(yīng),程序?qū)懲曛螅蜷_數(shù)碼管的時候,顯示不穩(wě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;
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:419968 發(fā)表于 2020-7-4 23:53 | 只看該作者
t0,中斷顯示寫的不對
回復(fù)

使用道具 舉報

板凳
ID:91521 發(fā)表于 2020-7-5 07:48 | 只看該作者
掃描頻率太低導(dǎo)致頻閃
回復(fù)

使用道具 舉報

地板
ID:711481 發(fā)表于 2020-7-5 11:06 來自觸屏版 | 只看該作者
adject 發(fā)表于 2020-7-4 23:53
t0,中斷顯示寫的不對

能不能指導(dǎo)一下,這個地方,困擾好久了,謝謝啊
回復(fù)

使用道具 舉報

5#
ID:711481 發(fā)表于 2020-7-5 17:10 來自觸屏版 | 只看該作者
daiya 發(fā)表于 2020-7-5 07:48
掃描頻率太低導(dǎo)致頻閃

能不能指導(dǎo)一下
回復(fù)

使用道具 舉報

6#
ID:213173 發(fā)表于 2020-7-6 06:32 | 只看該作者
樓主要實現(xiàn)的功能:
1.開機(jī)不顯示,數(shù)碼管不亮,蜂鳴器不響。
2.按下一號按鍵,數(shù)碼管亮,顯示01233.按下二號按鍵,蜂鳴器響此時數(shù)碼管還亮,一秒后復(fù)位,數(shù)碼管不亮,蜂鳴器不響。
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar  smg[]={0xc0,0xf9,0xa4,0xb0};
  5. sbit a1=P2^0;
  6. sbit a2=P2^1;
  7. sbit a3=P2^2;
  8. sbit a4=P2^3;
  9. sbit feng=P2^5;
  10. sbit jian0=P3^2;
  11. sbit jian1=P3^3;

  12. uchar i;
  13. uint  j;

  14. void delay()
  15. {
  16.         int i;
  17.         for(i=600;i>0;i--);
  18. }
  19. void main()
  20. {
  21.         TMOD=0X01;
  22.         TH0=(65536-1000)/256;
  23.         TL0=(65536-1000)%256;       
  24. //        TR0=1;
  25.         EA=1;
  26.         ET0=1;
  27.         P2=0xf0;
  28.         while(1)
  29.         {       
  30.                 if(jian1==0)
  31.                 {
  32.                         delay();
  33.                         if(jian1==0)
  34.                         {
  35.                                 while(!jian1);
  36.                                 TR0=1;
  37.                         }
  38.                 }       
  39.                 if(jian0==0)
  40.                 {
  41.                         delay();
  42.                         if(jian0==0)
  43.                         {
  44.                                 while(!jian0);
  45.                                 feng=0;
  46.                         }
  47.                 }
  48.         }
  49. }
  50. void t0(void) interrupt 1        
  51. {//重裝初值
  52.         TH0=(65536-1000)/256;
  53.         TL0=(65536-1000)%256;       
  54. //數(shù)碼管顯示
  55.         P2&=0xf0;
  56.         P0=smg[i];
  57.         P2|=0x01<<i;
  58.         i++;i%=4;
  59. //蜂鳴器計時
  60.         if(feng==0)
  61.         {
  62.                 j++;
  63.                 if(j>=1000)//1s
  64.                 {
  65.                         j=0;
  66.                         P0=0xff;
  67.                         P2&=0xf0;
  68.                         feng=1;
  69.                         TR0=0;
  70.                 }
  71.         }
  72. }
復(fù)制代碼



回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩欧美中文字幕在线视频 | 日韩精品在线观看一区二区 | 亚洲自拍偷拍欧美 | 亚洲福利网 | 日韩欧美大片在线观看 | 99热精品在线| 欧美一区二区三区在线播放 | 国产精品96久久久久久 | 精品亚洲一区二区三区四区五区 | 亚洲欧美日本在线 | 免费a国产 | 亚洲一区二区三区免费在线观看 | 亚洲先锋影音 | 久久久www成人免费无遮挡大片 | 久久天堂 | 亚洲日日| 综合久久av| 国产日产精品一区二区三区四区 | 欧美福利专区 | 精品一区二区三区免费视频 | 特级黄一级播放 | 欧美天堂| 精品9999| 精品一区国产 | 99久久久国产精品 | 爱爱无遮挡 | 91色视频在线观看 | 一区二区三区国产好 | 日韩精品一区二 | www.精品一区| 亚洲视频一区二区三区 | 成人在线视频一区 | 中文字幕av免费 | 狠狠干影院| 理伦毛片 | 色综合久久久久 | 国产精品久久久久aaaa樱花 | 9久久 | 精品国产一区二区三区性色av | av电影一区二区 | 色婷婷av一区二区三区软件 |