在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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) > 設計應用 > 用集成芯片MAX038實現智能信號發(fā)生器

            用集成芯片MAX038實現智能信號發(fā)生器

            作者: 時間:2016-11-18 來源:網絡 收藏
            單片機不僅在控制系統(tǒng)有很大的應用,在信號的產生方面也有獨特的應用。在現代電子學的各個領域中,常常需要高精度切頻率方便可調節(jié)的信號發(fā)生器,可以利用單片集成芯片實現函數信號發(fā)生器,這種信號發(fā)生器風產生多種波形信號,達到較高的頻率,且易于調試。在參考有關資料下,學習設計了利用集成芯片MAX038實現智能信號發(fā)生器。

            本文引用地址:http://www.biyoush.com/article/201611/315969.htm

            主要器件:

            1、AT89C52單片機芯片,用于控制信號發(fā)生芯片,實現不同波形的選擇和輸出。

            2、高頻波形發(fā)生器MAX038,具有高頻率、高精度、低輸出電阻、驅動能力強等特點。

            3、簡單的按鍵選擇電路。

            試驗流程圖:



            試驗電路圖:

            試驗程序代碼:

            //SignalGen.h程序

            #ifndef_SIGNALGEN_H//防止SignalGen.h被重復引用

            #define_SIGNALGEN_H

            #include //引用標準庫的頭文件

            #define uchar unsigned char

            uchar key;//按鍵值

            sbit A0 = P2^0;// MAX038的波形選擇位A0

            sbit A1 = P2^1;// MAX038的波形選擇位A1

            void delay();

            uchar keyscan();

            #endif

            //SignalGen.c程序

            #include "SignalGen.h"

            /*用于鍵消抖的延時函數*/

            void delay()

            {

            uchar i;

            for (i=400;i>0;i--);

            }

            /*鍵掃描函數*/

            uchar keyscan(void)

            {

            uchar scancode,tmpcode;

            P1 = 0xf0;//發(fā)全0行掃描碼

            if ((P1&0xf0)!=0xf0)//若有鍵按下

            {

            delay();//延時去抖動

            if ((P1&0xf0)!=0xf0)//延時后再判斷一次,去除抖動影響

            {

            scancode = 0xfe;

            while((scancode&0x10)!=0)//逐行掃描

            {

            P1 = scancode;//輸出行掃描碼

            if ((P1&0xf0)!=0xf0)//本行有鍵按下

            {

            tmpcode = (P1&0xf0)|0x0f;

            /*返回特征字節(jié)碼,為1的位即對應于行和列*/

            return((~scancode)+(~tmpcode));

            }

            else scancode = (scancode<<1)|0x01;//行掃描碼左移一位

            }

            }

            }

            return(0);//無鍵按下,返回值為0

            }

            /*主程序*/

            void main()

            {

            uchar key;

            while(1)

            {

            key = keyscan();//調用鍵盤掃描函數

            delay();

            switch(key)

            {

            case 0x11://第1行第1列,選擇正弦波輸出

            A0 = 0;

            A1 = 1;

            break;

            case 0x21://第1行第2列,選擇矩形波輸出

            A0 = 0;

            A1 = 0;

            break;

            case 0x41://第1行第3列,選擇三角波輸出

            A0 = 1;

            A1 = 0;

            break;

            default:break;

            }

            }

            }



            評論


            技術專區(qū)

            關閉