在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)做信號發(fā)生器實(shí)例編程

            51單片機(jī)做信號發(fā)生器實(shí)例編程

            作者: 時(shí)間:2014-01-16 來源:網(wǎng)絡(luò) 收藏

            //用,同時(shí)輸出四種頻率的方波。
            //要求:晶振為12MHz,用T0做定時(shí)器,在P1的低四位輸出四種頻率的方波:

            // P1.3 = 1.25kHz、P1.2 = 2.5kHz、P1.1 = 5kHz、P1.0 = 10kHz

            //另外,上述四個(gè)頻率要求用一個(gè)四選一數(shù)據(jù)選擇器,再選出其中的一個(gè)輸出出去。
            //P1.6、P1.7的輸出用來控制四選一數(shù)據(jù)選擇器的選擇位,它們由P3.0按鍵控制。
            //懸賞分:10 - 解決時(shí)間:2009-12-5 10:45
            //===================================================
            //最佳答案:
            //本題目早在一年前就回答完畢,現(xiàn)在增加了PROTEUS仿真圖片發(fā)上博客。
            //題目要求在相鄰四條接口線輸出的四種頻率,恰有二倍的關(guān)系,這就可以利用一個(gè)定時(shí)中斷來完成。
            //題目還要求使用一個(gè)數(shù)據(jù)選擇器,通過按鍵選擇一個(gè)頻率來輸出。
            //利用PROTEUS仿真的截圖如下所示。
            //圖中在輸出端接上了一個(gè)頻率計(jì)和一個(gè)揚(yáng)聲器,進(jìn)行頻率檢測。
            //當(dāng)按下按鍵時(shí),輸出頻率可以輪番轉(zhuǎn)換。
            //圖中把四種頻率的檢測結(jié)果都截圖顯示,可以看出,輸出的頻率十分理想。
            //PC的揚(yáng)聲器也能聽到聲音,10kHz的頻率,比較刺耳。

            //以下程序已經(jīng)仿真成功。
            //---------------------------------------------------
            #include reg52.h>
            #define uchar unsigned char
            #define TL_0SET (256 - 50) //定時(shí)時(shí)間選為50us
            //輸出的方波周期將為100us, 10kHz
            sbit P3_2 = P3^2; //用于按鍵
            sbit P1_0 = P1^0; //四個(gè)頻率輸出
            sbit P1_1 = P1^1; //
            sbit P1_2 = P1^2; //
            sbit P1_3 = P1^3; //
            sbit P1_6 = P1^6; //兩個(gè)選擇控制輸出
            sbit P1_7 = P1^7; //

            bdata uchar x = 0;
            sbit p16 = x^0;
            sbit p17 = x^1;

            uchar i, j;
            //---------------------------------------------------
            void e0int() interrupt 0 //外部中斷0作開關(guān),控制四選一數(shù)據(jù)選擇器
            {
            while(P3_2 == 0) {;} //等待按鍵釋放
            x++;
            if(x == 4) x = 0; //改變當(dāng)前輸出的選擇
            P1_7 = p16;
            P1_6 = p17;
            }
            //---------------------------------------------------
            void time0() interrupt 1 //T0的中斷服務(wù)程序
            { //T0工作在方式2,自動(dòng)裝入初始值
            i++;
            j = i % 16; //?。榈牡退奈?BR>j += x 6; //組合上數(shù)據(jù)選擇器的控制信號
            P1 = j; //輸出四種頻率的方波以及控制信號
            }
            //---------------------------------------------------
            void main()
            {
            TMOD = 0x02; //T0定時(shí)方式2
            TH0 = TL_0SET; //自裝入式的定時(shí)初始值
            TR0 = 1; //啟動(dòng)T0
            ET0 = 1;
            IT0 = 1; //外部中斷0由下降沿觸發(fā)
            EX0 = 1; //外部中斷0允許
            EA = 1;
            while(1) {;}
            }
            //---------------------------------------------------

            信號發(fā)生器



            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉