<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 用集成芯片MAX038實(shí)現智能信號發(fā)生器

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

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

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

主要器件:

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

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

3、簡(jiǎn)單的按鍵選擇電路。

試驗流程圖:



試驗電路圖:

試驗程序代碼:

//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"

/*用于鍵消抖的延時(shí)函數*/

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();//延時(shí)去抖動(dòng)

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

{

scancode = 0xfe;

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

{

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

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

{

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

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

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

}

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

}

}

}

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

}

/*主程序*/

void main()

{

uchar key;

while(1)

{

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

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;

}

}

}



評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>