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

標(biāo)題: 編寫蜂鳴器程序時(shí) 單片機(jī)T2定時(shí)器中斷使用出現(xiàn)了問題 希望大家能給予我點(diǎn)指導(dǎo) [打印本頁]

作者: 我要51啦    時(shí)間: 2020-2-26 23:13
標(biāo)題: 編寫蜂鳴器程序時(shí) 單片機(jī)T2定時(shí)器中斷使用出現(xiàn)了問題 希望大家能給予我點(diǎn)指導(dǎo)
平時(shí)都是用T0,T1 這次兩個(gè)都用完了 所以必須使用T2了 ,所以使用T2時(shí)就出現(xiàn)了不少的問題

我根據(jù)網(wǎng)上的資料 寫了一個(gè)關(guān)于蜂鳴器的程序  但是實(shí)踐中 蜂鳴器無法正常運(yùn)行

單片機(jī)程序如下 , 希望大家能指導(dǎo)我一下   主要是關(guān)于T2定時(shí)器中斷的問題 謝謝大家了



  1. #include <REG52.H>
  2. #define uchar unsigned char

  3. sfr T2MOD=0xC9;
  4. sbit beepIO=P2^7;
  5. uchar m,n;
  6. uchar code T[49][2]={{0,0},
  7. {0xF8,0x8B},{0xF8,0xF2},{0xF9,0x5B},{0xF9,0xB7},{0xFA,0x14},{0xFA,0x66},{0xFA,0xB9},{0xFB,0x03},{0xFB,0x4A},{0xFB,0x8F},{0xFB,0xCF},{0xFC,0x0B},
  8. {0xFC,0x43},{0xFC,0x78},{0xFC,0xAB},{0xFC,0xDB},{0xFD,0x08},{0xFD,0x33},{0xFD,0x5B},{0xFD,0x81},{0xFD,0xA5},{0xFD,0xC7},{0xFD,0xE7},{0xFE,0x05},
  9. {0xFE,0x21},{0xFE,0x3C},{0xFE,0x55},{0xFE,0x6D},{0xFE,0x84},{0xFE,0x99},{0xFE,0xAD},{0xFE,0xC0},{0xFE,0x02},{0xFE,0xE3},{0xFE,0xF3},{0xFF,0x02},
  10. {0xFF,0x10},{0xFF,0x1D},{0xFF,0x2A},{0xFF,0x36},{0xFF,0x42},{0xFF,0x4C},{0xFF,0x56},{0xFF,0x60},{0xFF,0x69},{0xFF,0x71},{0xFF,0x79},{0xFF,0x81}
  11. };
  12. uchar code music[][2]={{0,4},
  13. {22,6},{23,12},{43,6},{22,6},{23,12},{43,6},{22,6},{23,12},{43,6},{22,6},{23,12},{43,6},{22,6},{23,12},
  14. {0xFF,0xFF}};
  15. uchar s;
  16. void delay(uchar p)  //延遲函數(shù)
  17. {
  18.     uchar i,j;
  19.     for(;p>0;p--)
  20.     for(i=181;i>0;i--)
  21.     for(j=181;j>0;j--);
  22. }
  23. void pause()  //延遲函數(shù)
  24. {
  25.     uchar i,j;
  26.     for(i=150;i>0;i--)
  27.     for(j=150;j>0;j--);
  28. }
  29. void T2_int() interrupt 5  //中斷函數(shù)
  30. {
  31. TF2=0;
  32. beepIO=!beepIO;
  33. RCAP2H=T[m][0];
  34. RCAP2L=T[m][1];
  35. TH0=RCAP2H;
  36. TL0=RCAP2L;
  37. }
  38. void main()
  39. {
  40. uchar  i=0;
  41. TCLK=0;
  42. RCLK=0;
  43. T2MOD=0X00;
  44. ET2=1;
  45. EA=1;
  46. while(1)
  47. {
  48.     m=music[i][0];n=music[i][1];
  49.     if(m==0x00)
  50.      {TR2=0;delay(n);i++;}
  51.     else if(m==0xFF)
  52.      {TR2=0;delay(30);i=0;}
  53.     else if(m==music[i+1][0])
  54.      {TR2=1;delay(n);TR2=0;pause();i++;}
  55.     else
  56.      {TR2=1;delay(n);i++;}
  57. }
  58. }
復(fù)制代碼


作者: wulin    時(shí)間: 2020-2-27 09:53
void T2_int() interrupt 5  //中斷函數(shù)
{
        TF2=0;
        beepIO=!beepIO;
        RCAP2H=T[m][0];
        RCAP2L=T[m][1];
        TH2=RCAP2H;
        TL2=RCAP2L;
}
void main()
{
        uchar i=0;
        T2MOD = 0;
        T2CON = 0;
        TR2=1;
        ET2=1;
        EA=1;
        while(1)
        {
            ......




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