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

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

單片機(jī)連續(xù)按鍵檢測(cè)C51程序

作者:佚名   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2010年06月03日   【字體:

        這幾天閑來(lái)無(wú)事,翻騰出以前的仿真器和編程器,找出幾片STC12c2052。寫(xiě)了個(gè)修改中繼功能的小程序,主要實(shí)現(xiàn):

1、在5秒內(nèi)連續(xù)按三下發(fā)射鍵才能打開(kāi)中繼。

2、打開(kāi)中繼后,中繼在每一句話后延時(shí)10s,10s內(nèi)沒(méi)有說(shuō)話的,中繼關(guān)閉。

3、每一句語(yǔ)音后面自動(dòng)加上“滴滴”,每一組語(yǔ)音結(jié)束自動(dòng)加上“滴滴滴”。

       用華為450C試了試,發(fā)現(xiàn)450C的靜噪點(diǎn)不好取,明天用2K電阻連接插頭第一腳試試能不能模擬出低電平靜噪信號(hào)。控制的話應(yīng)該是把PNP三極管的上面一腳(B)拉低即可。

       單片機(jī)附帶上無(wú)語(yǔ)音靜音控制輸出和“滴滴”聲音輸出。

       不能加附件,就把源程序貼上:
 

/* 本程序主要實(shí)現(xiàn)功能: 1、2s之內(nèi)連續(xù)按鍵3次打開(kāi)中繼。 2、接收到一次信號(hào)后延時(shí)8s后關(guān)閉發(fā)射機(jī)。*/
/* 3、每次語(yǔ)音結(jié)束 滴滴 ,每個(gè)循環(huán)結(jié)束 滴滴滴滴*/

           #include 
           #include 

     #define FV  100
     #define MC  400

           void delay(int);
           void didi(int);

     void timer0();
     void timer1();

           bit CHAOSHI,ZHOUQI;
          
     sbit P1_6 = P3^4;
     sbit P1_7 = P1^7;
     sbit P1_5 = P1^5;

     int YSJ;
     int CSJ;

/* ------------------- 主程序入口------------------------*/
           main()
            {
              CHAOSHI=0;                  /* 發(fā)射超時(shí)標(biāo)志*/
              ZHOUQI=0;                   /* 一組通話周期標(biāo)志*/
             
     YSJ=0;
     CSJ=0;
                         
              P1=0x80;
              P3=0x00;
     

     TMOD=0x11;      /*  定時(shí)器0、1皆工作于方式1 */
              

     EA=1;
     ET0=1;
     ET1=1 ;   

aaa:          while(P1_7==1)              /* 等待 接收到信號(hào)  */
              {   }
              if (ZHOUQI==0)              /* 接收到信號(hào),周期標(biāo)志為0 */
              {
                    TH1=0x3c;        /* 12M晶振,定時(shí)0.05s */
           TL1=0xb0;
     TR1=1;      /*開(kāi)啟超時(shí)計(jì)時(shí)*/
         while(P1_7==0 && CHAOSHI==0) { }    /*等待松鍵高電平*/
     while(P1_7==1 && CHAOSHI==0) { }    /*等待掐鍵低電平*/
     while(P1_7==0 && CHAOSHI==0) { }    /*等待松鍵高電平*/
     while(P1_7==1 && CHAOSHI==0) { }    /*等待掐鍵低電平*/
     while(P1_7==0 && CHAOSHI==0) { }    /*等待松鍵高電平*/
    
     if(CHAOSHI==1) 
       { CHAOSHI=0;
         goto aaa;
        }
    
     P1_6=1;
     
bbb:     TH0=0x3c;                                /*延時(shí)定時(shí)器啟動(dòng)*/
      TL0=0xb0;
      TR0=1;
      
      while(ZHOUQI==0 && P1_7==1) { }

      if (P1_7==0)  
        {         
       TR0=0;
       while(P1_7==0){ }    /* 松鍵時(shí)開(kāi)始計(jì)時(shí)*/
       YSJ=0;   
       didi(2);                   /*一個(gè)周期內(nèi),一句話完成,響兩聲*/
       goto bbb;
        }

      if(ZHOUQI==1)
         {
        didi(3);       /*一個(gè)周期完成,響三聲*/
        P1_6=0;
        TR0=0;
        ZHOUQI=0;
        goto aaa;
      }
    }
    
   } 
/*--------------------------delay()延時(shí)程序--------------------*/    
    
   

  void delay(int x)      
    {
  int a;

  for (a=0;a

	  
	  
  
  
關(guān)閉窗口

相關(guān)文章