<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

設計一個低頻信號發生器

multisim ? 來源:multisim ? 2023-11-28 09:50 ? 次閱讀

一、實驗目的

1、學習和運用keilC的C語言;

2、學習通過proteus軟件畫原理圖,并利用keilC軟件形成的HEX文件運行;

3、實現利用單片機AT98C51和8位D/A轉換芯片DAC0832共同實現方波、三角波、鋸齒波、梯形波這四種常見波形的發生。

4、進一步學習和利用protel軟件,畫出實驗原理圖,并生成PCB圖;

5、AT89S51為核心的單片機系統的軟硬件開發過程;

6、基本信號的產生原理及函數發生器系統的設計流程

二、實驗要求

設計一個低頻信號發生器:

1、查閱相關資料,完成原理圖設計;

2、編寫軟件,使該系統能輸出方波、三角波、鋸齒波和梯形波;波形頻率均為1khz,雙極性輸出。

3、用protel軟件完成系統的硬件設計,并通過電器規則檢查;

4、仿真實現;

5、畫pcb圖;

6、寫綜合課程設計報告。

三、器件清單

1、AT80C51一個;

2、DAC0832一個;

3、OPAMP兩個;

4、數碼管一個;

5、按鍵開關一個;

6、電阻、電感若干;

四、實驗原理

#include

unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66}// 0 1 2 3 4

unsigned char time1; //////延時函數參數///////

/////////////////////////////變量說明//////////////////////////////////////

unsigned char time2;

unsigned char time3;

unsigned char count;

unsigned char ms;

////////////////////////////////////////函數說明////////////////////////////////

void initial(void); ////初始化函數////

//void initial_time0(void); //////定時器0初始化///////

void anjian(void); ////////////按鍵函數////

void delay(unsigned char time1,time2,time3); ////延時函數////

void disp(unsigned char count); /////靜態顯示子函數/////

void delay1(char ms);

void fangbo(void); //方波函數//

void sanjiaobo(void); //三角波函數//

void juchibo(void); //鋸齒波函數//

void tixingbo(void); //正弦波函數//

void main (void)

{

initial();

while(1)

{

anjian();

}

}

/*************************************************************************

//函數名稱:void anjian(void)

//函數說明:按鍵函數

//函數功能:

// 注意:

*************************************************************************/

void anjian(void)

{

if(P3_7==0)

{delay(1,50,248);

if(P3_7==0)

{count=1;

disp(count);

fangbo();

}

}

while(P3_7==0);

count=0;

disp(count);

anjian();

}

/*************************************************************************

//函數名稱:void fangbo(void)

//函數說明:方波函數

//函數功能:

// 注意:

*************************************************************************/

void fangbo(void)

{

while(1)

{

unsigned char fangbo_1;

fangbo_1+=8;

if(fangbo_1>128&fangbo_1<256)?? {P0=0x00;}?? ?? ?? ?? ?

if(fangbo_1<128)?? ?? ?? ?? {P0=0xff;} ? ?

if(P3_7==0)

{delay(1,50,248);

if(P3_7==0)

{ count=2;

disp(count);

sanjiaobo();

}

}

while(P3_7==0);

}

}

/*************************************************************************

//函數名稱:void sanjiaobo(void)

//函數說明:三角波函數

//函數功能:

// 注意:

*************************************************************************/

void sanjiaobo(void)

{

while(1)

{

unsignedchar sanjiaobo_2;

if(sanjiaobo_2<=128)

{P0=sanjiaobo_2;}

else

{P0=255-sanjiaobo_2;}

sanjiaobo_2+=5;

if(sanjiaobo_2>=255)

{sanjiaobo_2=0x00;}

if(P3_7==0)

{

delay(1,50,248);

if(P3_7==0)

{count=3;

disp(count);

juchibo();

}

}

while(P3_7==0);

}

}

/*************************************************************************

//函數名稱:void juchibo(void)

//函數說明:鋸齒波函數

//函數功能:

// 注意:

*************************************************************************/

void juchibo(void)

{

while(1)

{

unsignedchar juchibo_3;

if(juchibo_3<180)?? {P0=juchibo_3;}??

juchibo_3+=4;

if(juchibo_3>=180) {juchibo_3=0x00;}

if(P3_7==0)

{

delay(1,50,248);

if(P3_7==0)

{count=4;

disp(count);

tixingbo();

}

}

while(P3_7==0);

}

}

/*************************************************************************

//函數名稱:void tixingbo(void)

//函數說明:梯形波函數

//函數功能:

// 注意:

*************************************************************************/

void tixingbo(void)

{

while(1)

{

unsignedchar tixingbo_4;

if(tixingbo_4<120)

{P0=tixingbo_4;}

elseif(tixingbo_4==120)

delay1(1);

else if(tixingbo_4<240)

{P0=240-tixingbo_4;}

if(tixingbo_4==240)

{delay1(1);}

if(tixingbo_4>240)

{

tixingbo_4=0x00;

}

tixingbo_4+=10;

if(P3_7==0)

{delay(1,50,248);

if(P3_7==0)

{ count=0;

disp(count);

anjian();

}

}

while(P3_7==0);

}

}

/*************************************************************************

//函數名稱:void initial(void)

//函數說明:初始化函數

//函數功能:

// 注意:

*************************************************************************/

void initial(void)

{

P0=0xff;

P1=0xff;

P2=0xff;

P3=0xff;

}

/*************************************************************************

//函數名稱:delay(unsigned char time1,time2,time3)

//函數說明:延時函數

//函數功能:

//入口參數:unsigned char time1,time2,time3

//出口參數:

// 注意:延時時間的計算:(time1*time2*time3*8us)us

time1,time2,time3可以不進行變量說明

*************************************************************************/

void delay(unsigned char time1,time2,time3)

{

unsignedchar i,j,k;

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

{ for(j=time2;j>0;j--)

{

for(k=time3;k>0;k--);

}

}

}

/*************************************************************************

//函數名稱:disp(unsigned char count)

//函數說明:靜態顯示子函數

//函數功能:

//入口參數:unsigned char count

//出口參數:

// 注意:

*************************************************************************/

void disp(unsigned char count)

{

P2=table[count];

delay(1,5,248);

}

voiddelay1(char ms)

{

char ti;

while(ms--)

{

for(ti=0;ti<16;ti++){}

}

}

5c30ae3a-8d8f-11ee-939d-92fbcf53809c.png

5c30ae3a-8d8f-11ee-939d-92fbcf53809c.png ? ?

5c6cca1e-8d8f-11ee-939d-92fbcf53809c.png

5c869066-8d8f-11ee-939d-92fbcf53809c.png ? ?

5c9ef8ae-8d8f-11ee-939d-92fbcf53809c.png

5c9ef8ae-8d8f-11ee-939d-92fbcf53809c.png

5cf2ed38-8d8f-11ee-939d-92fbcf53809c.png

5cf2ed38-8d8f-11ee-939d-92fbcf53809c.png

5d321990-8d8f-11ee-939d-92fbcf53809c.png

5d321990-8d8f-11ee-939d-92fbcf53809c.png ? ?

5d69090a-8d8f-11ee-939d-92fbcf53809c.png

5d69090a-8d8f-11ee-939d-92fbcf53809c.png

5d9f58de-8d8f-11ee-939d-92fbcf53809c.png

5d9f58de-8d8f-11ee-939d-92fbcf53809c.png

5dc2dd22-8d8f-11ee-939d-92fbcf53809c.png

5dc2dd22-8d8f-11ee-939d-92fbcf53809c.png ? ?

5dc2dd22-8d8f-11ee-939d-92fbcf53809c.png

5dc2dd22-8d8f-11ee-939d-92fbcf53809c.png

5e2fcfe0-8d8f-11ee-939d-92fbcf53809c.png

5e2fcfe0-8d8f-11ee-939d-92fbcf53809c.png

5e5ce6b0-8d8f-11ee-939d-92fbcf53809c.png

5e5ce6b0-8d8f-11ee-939d-92fbcf53809c.png

5e89b38e-8d8f-11ee-939d-92fbcf53809c.png

5e89b38e-8d8f-11ee-939d-92fbcf53809c.png? ??

實驗心得

通過該課題的設計掌握以AT89S51為核心的單片機系統的軟硬件開發過程和基本信號的產生原理、測量及誤差分析方法,同時掌握函數發生器系統的設計流程;培養我們綜合運用所學的基本知識、基本理論和基本技能的能力,學習解決一般工程技術和有關專業問題的能力,學習工程設計和科學研究的基本方法,完成對所學知識的綜合訓練。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 原理圖
    +關注

    關注

    1272

    文章

    6183

    瀏覽量

    227270
  • 單片機
    +關注

    關注

    6008

    文章

    44062

    瀏覽量

    622631
  • C語言
    +關注

    關注

    180

    文章

    7542

    瀏覽量

    131032
  • 低頻信號發生器

    關注

    1

    文章

    11

    瀏覽量

    11097

原文標題:低頻信號發生器

文章出處:【微信號:A1411464185,微信公眾號:multisim】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    低頻信號發生器的使用

    低頻信號發生器是為進行電子測量提供滿足一定技術要求電信號的儀器設備。下面以FJ-XD22PS 低頻信號發生器為例,介紹
    發表于 03-08 10:50 ?168次下載

    低頻信號發生器電路及制作

    低頻信號發生器電路及制作
    發表于 04-13 17:18 ?35次下載
    高<b class='flag-5'>低頻信號</b><b class='flag-5'>發生器</b>電路及制作

    低頻信號發生器電路圖

    低頻信號發生器電路圖
    發表于 04-11 12:14 ?1457次閱讀
    高<b class='flag-5'>低頻信號</b><b class='flag-5'>發生器</b>電路圖

    基于Matlab與聲卡的低頻信號發生器的設計

    介紹了用Matlab與聲卡來實現低頻信號發生器的設計過程。在普通的電子技術實驗室中,要求的則是頻率可調、性價比合適,而對精度要求不是太高,在這種情況,本著資源充分利用的考
    發表于 11-09 09:48 ?67次下載
    基于Matlab與聲卡的<b class='flag-5'>低頻信號</b><b class='flag-5'>發生器</b>的設計

    數字低頻信號發生器的軟件設計方案

    采用一片8751 單片機和兩片DAC0832 數模轉換器組成數字式低頻信號發生器, 該裝置采用鍵盤操作控制輸出方波、正弦波、三角波, 可用鍵盤方便地控制頻率和幅值的變化, 并將幅值和頻率用
    發表于 11-09 09:54 ?91次下載
    數字<b class='flag-5'>低頻信號</b><b class='flag-5'>發生器</b>的軟件設計方案

    新型低頻信號發生器的設計原理

    根據信號發生器的工作原理及工作特點,設計一款超低頻信號發生器,該信號發生器可輸出自定義波形,如正
    發表于 11-09 09:57 ?119次下載
    新型<b class='flag-5'>低頻信號</b><b class='flag-5'>發生器</b>的設計原理

    基于multisim的高低頻信號發生器的設計與仿真

    低頻信號發生器 低頻信號發生器又稱為音頻信號發生器,用來產生頻率范圍為1Hz~1MHz的
    發表于 08-27 14:38 ?184次下載
    基于multisim的高<b class='flag-5'>低頻信號</b><b class='flag-5'>發生器</b>的設計與仿真

    低頻信號發生器介紹_低頻信號發生器結構解析

    低頻信號發生器組成主要包括主振器、電壓放大器、輸出衰減器、功率放大器、阻抗變換器和指示電壓表等。
    發表于 01-08 14:09 ?2.8w次閱讀
    <b class='flag-5'>低頻信號</b><b class='flag-5'>發生器</b>介紹_<b class='flag-5'>低頻信號</b><b class='flag-5'>發生器</b>結構解析

    低頻信號發生器的程序和工程文件免費下載

    本文檔的主要內容詳細介紹的是低頻信號發生器的程序和工程文件免費下載。
    發表于 06-04 17:39 ?13次下載
    <b class='flag-5'>低頻信號</b><b class='flag-5'>發生器</b>的程序和工程文件免費下載

    17-基于單片機的函數信號發生器低頻信號發生器

    低頻信號發生器系統主要由CPU、D/A轉換電路、電流/電壓轉換電路、按鍵和波形指示電路、電源等電路組成。
    發表于 11-04 17:51 ?25次下載
    17-基于單片機的函數<b class='flag-5'>信號</b><b class='flag-5'>發生器</b>(<b class='flag-5'>低頻信號</b><b class='flag-5'>發生器</b>)

    低頻信號發生器測試微機消諧的諧振

    發生器分為正弦信號發生器、低頻信號發生器、高頻信號發生器
    發表于 05-18 08:01 ?401次閱讀

    精密低頻信號發生器開源

    電子發燒友網站提供《精密低頻信號發生器開源.zip》資料免費下載
    發表于 08-05 11:09 ?1次下載
    精密<b class='flag-5'>低頻信號</b><b class='flag-5'>發生器</b>開源

    JJG 602 -2004低頻信號發生器

    本規程是以GB12181-1990《低頻信號發生器通用技術條件》和GB12180-1990《低頻信號發生器通用測試方法》為基礎,參考JJG230-1980《XFD-7A型
    發表于 02-17 13:41 ?1次下載

    低頻信號發生器如何調節電壓?

    低頻信號發生器是一種用于產生不同頻率、幅度和波形類型的信號的儀器。調節低頻信號發生器的電壓變化是指改變輸出
    的頭像 發表于 12-26 15:07 ?879次閱讀
    <b class='flag-5'>低頻信號</b><b class='flag-5'>發生器</b>如何調節電壓?

    低頻信號發生器如何調節電壓?

    低頻信號發生器是一種用于產生不同頻率、幅度和波形類型的信號的儀器。調節低頻信號發生器的電壓變化是指改變輸出
    的頭像 發表于 04-26 09:07 ?137次閱讀
    <b class='flag-5'>低頻信號</b><b class='flag-5'>發生器</b>如何調節電壓?
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>