![信號發(fā)生器設(shè)計(jì)_第1頁](http://file.renrendoc.com/FileRoot1/2015-5/27/cd968a83-3715-4493-b1e5-6866789a154e/cd968a83-3715-4493-b1e5-6866789a154e1.gif)
![信號發(fā)生器設(shè)計(jì)_第2頁](http://file.renrendoc.com/FileRoot1/2015-5/27/cd968a83-3715-4493-b1e5-6866789a154e/cd968a83-3715-4493-b1e5-6866789a154e2.gif)
![信號發(fā)生器設(shè)計(jì)_第3頁](http://file.renrendoc.com/FileRoot1/2015-5/27/cd968a83-3715-4493-b1e5-6866789a154e/cd968a83-3715-4493-b1e5-6866789a154e3.gif)
![信號發(fā)生器設(shè)計(jì)_第4頁](http://file.renrendoc.com/FileRoot1/2015-5/27/cd968a83-3715-4493-b1e5-6866789a154e/cd968a83-3715-4493-b1e5-6866789a154e4.gif)
![信號發(fā)生器設(shè)計(jì)_第5頁](http://file.renrendoc.com/FileRoot1/2015-5/27/cd968a83-3715-4493-b1e5-6866789a154e/cd968a83-3715-4493-b1e5-6866789a154e5.gif)
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
波形發(fā)生器是一種常用的信號源,廣泛地應(yīng)用于電子電路、自動控制系統(tǒng)和教學(xué)實(shí)驗(yàn)等領(lǐng)域。本次課程設(shè)計(jì)使用的 AT89S51 單片機(jī)構(gòu)成的發(fā)生器可產(chǎn)生鋸齒波、三角波、正弦波等多種波形,波形的周期可以用程序改變,并可根據(jù)需要選擇單極性輸出或雙極性輸出,具有線路簡單、結(jié)構(gòu)緊湊等優(yōu)點(diǎn)。在本設(shè)計(jì)的基礎(chǔ)上,加上按鈕控制和 LED 顯示器,則可通過按鈕設(shè)定所需要的波形頻率,并在 LED 上顯示頻率、幅值電壓,波形可用示波器顯示。 二、系統(tǒng)設(shè)計(jì) 波形發(fā)生器原理方框圖如下所示。波形的產(chǎn)生是通過 AT89S51 執(zhí)行某一波形發(fā)生程序,向D/A 轉(zhuǎn)換器的輸入端按一定的規(guī)律發(fā)生數(shù)據(jù),從而在 D/A 轉(zhuǎn)換電路的輸出端得到相應(yīng)的電壓波形。在 AT89S51 的 P2 口接 5 個(gè)按扭 ,通過軟件編程來選擇各種波形、幅值電壓和頻率,另有 3 個(gè) P2 口管腳接 TEC6122 芯片,以驅(qū)動數(shù)碼管顯示電壓幅值和頻率,每種波形對應(yīng)一個(gè)按鈕。此方案的有點(diǎn)是電路原理比較簡單,實(shí)現(xiàn)起來比較容易。缺點(diǎn)是,采樣頻率由單片機(jī)內(nèi)部產(chǎn)生故使整個(gè)系統(tǒng)的頻率降低。 1、波形發(fā)生器技術(shù)指標(biāo) 1)波形:方波、正弦波、鋸齒波; 2)幅值電壓: 1V、 2V、 3V、 4V、 5V; 3)頻率: 10HZ、 20HZ、 50HZ、 100HZ、 200HZ、 500HZ、 1KHZ; 2、操作設(shè)計(jì) 1)上電后,系統(tǒng)初始化,數(shù)碼顯示 6 個(gè) ,等待輸入設(shè)置命令。 2)按鈕分別控制 “幅值 ”、 “頻率 ”、 “方波 ”、 “正弦波 ”、 “鋸齒波 ”。 3) “幅值 “鍵初始值是 1V,隨后再次按下依次增長 1V,到達(dá) 5V 后在按就回到 1V。 4) “頻率 “鍵初始值是 10HZ,隨后在按下依次為 20HZ、 50HZ、 100HZ、 200HZ、 500HZ、1000HZ 循環(huán)。 三、硬件設(shè)計(jì) 本系統(tǒng)由單片機(jī)、顯示接口電路,波形轉(zhuǎn)換( D/A)電路和電源等四部分構(gòu)成。電路圖 2 附在后 1、單片機(jī)電路 功能:形成掃描碼,鍵值識別、鍵處理、參數(shù)設(shè)置;形成顯示段碼;產(chǎn)生定時(shí)中斷;形成波形的數(shù)字編碼,并輸出到 D/A 接口電路和顯示驅(qū)動電路。 AT89S51 外接 12M 晶振作為時(shí)鐘頻率。并采用電源復(fù)位設(shè)計(jì)。復(fù)位電路采用上電復(fù)位,它的工作原理是,通電時(shí),電容兩端相當(dāng)于短路,于是 RST 引腳上為高電平,然后電源通過對電容充電。 RST 端電壓慢慢下降,降到一定程序,即為低電平,單片機(jī)開始工作。 AT89S51 的 P2 口作為功能按鈕和 TEC6122 的接口。 P1 口做為 D/A 轉(zhuǎn)換芯片 0832 的接口。用定時(shí) /計(jì)數(shù)器作為中斷源。不同的頻率值對應(yīng)不同的定時(shí)初值,允許定時(shí)器溢出中斷。定時(shí)器中斷的特殊功能寄存器設(shè)置如下: 定時(shí)控制寄存器 TCON 20H; 工作方式選擇寄存器 TMOD=01H; 中斷允許控制寄存器 IE=82H。 2、顯示電路 功能:驅(qū)動 6 位數(shù)碼管顯示,掃描按鈕。 由集成驅(qū)動芯片 TEC6122、 6 位共陰極數(shù)碼管和 5 個(gè)按鈕組成。當(dāng)某一按鈕按下時(shí),掃描程序掃描到之后,通過 P2 口將數(shù)字信號發(fā)送到 TEC6122 芯片。 TEC6122 是一款數(shù)字集成 芯片。它的外接電壓也是 +5V,并且由于數(shù)碼管的載壓較小,為了保護(hù)數(shù)碼管,必須在兩者間接電阻,大約是 560 歐。 掃描利用軟件程序?qū)崿F(xiàn),當(dāng)某一按鍵按下時(shí),掃描程序立即檢測到,隨后調(diào)用子程序,執(zhí)行相應(yīng)的功能。 3、 D/A 電路 功能:將波形樣值的編碼轉(zhuǎn)換成模擬值,完成雙極性的波形輸出。 由一片 0832 和兩塊 LM358 運(yùn)放組成。 DAC0832 是一個(gè)具有兩個(gè)輸入數(shù)據(jù)寄存器的 8 位DAC。目前生產(chǎn)的 DAC 芯片分為兩類,一類芯片內(nèi)部設(shè)置有數(shù)據(jù)寄存器,不需要外加電路就可以直接與微型計(jì)算機(jī)接口。另一類芯片內(nèi)部沒有 數(shù)據(jù)寄存器,輸出信號隨數(shù)據(jù)輸入線的狀態(tài)變化而變化,因此不能直接與微型計(jì)算機(jī)接口,必須通過并行接口與微型計(jì)算機(jī)接口。DAC0832 是具有 20 條引線的雙列直插式 CMOS 器件,它內(nèi)部具有兩級數(shù)據(jù)寄存器,完成8 位電流 D/A 轉(zhuǎn)換,故不需要外加電路。 0832 是電流輸出型,示波器上顯示波形,通常需要電壓信號,電流信號到電壓信號的轉(zhuǎn)換可以由運(yùn)算放大器 LM358 實(shí)現(xiàn),用兩片 LM358可以實(shí)現(xiàn)雙極性輸出。 單片機(jī)向 0832 發(fā)送數(shù)字編碼,產(chǎn)生不同的輸出。先利用采樣定理對各波形進(jìn)行抽樣,然后把各采樣值進(jìn)行編碼,的到的數(shù)字量存入 各個(gè)波形表,執(zhí)行程序時(shí)通過查表方法依次取出,經(jīng)過 D/A 轉(zhuǎn)換后輸出就可以得到波形。假如 N 個(gè)點(diǎn)構(gòu)成波形的一個(gè)周期,則 0832 輸出 N個(gè)樣值點(diǎn)后,樣值點(diǎn)形成運(yùn)動軌跡,即一個(gè)周期。重復(fù)輸出 N 個(gè)點(diǎn),成為第二個(gè)周期。利用單片機(jī)的晶振控制輸出周期的速度,也就是控制了輸出的波形的頻率。這樣就控制了輸出的波形及其幅值和頻率。 四、 軟件設(shè)計(jì) 主程序和子程序都存放在 AT89S51 單片機(jī)中。 主程序的功能是:開機(jī)以后負(fù)責(zé)查鍵,即做鍵盤掃描及顯示工作,然后根據(jù)用戶所按的鍵轉(zhuǎn)到相應(yīng)的子程序進(jìn)行處理,主程序框圖如圖 1 所示。 子程序的功能有:幅值輸入處理、頻率輸入處理、正弦波輸出、鋸齒波輸出、方波輸出、顯示等。 下面是程序 include #define uchar unsigned char #define uint unsigned int sbit LCP=P22; sbit SCP=P21; sbit SI=P20; sbit S1=P23; sbit S2=P24; sbit S3=P25; sbit S4=P26; sbit S5=P27; sbit DA0832=P33; sbit DA0832_ON=P32; uchar fun=0,b=0,c=0,d=0,tl,th; uchar code tab10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; uchar code tosin256=0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5 ,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5 ,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd ,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda ,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99 ,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51 ,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16 ,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02 ,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15 ,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e ,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80 ; void display(unsigned char command) unsigned char i; LCP=0; for(i=8;i0;i-) SCP=0; if(command & 0x80)=0) SI=0; else SI=1; command=1; SCP=1; LCP=1; void key1(void) fun+; if(fun=4) fun=0x00; void key2(void) tl+; if(tl=0x1f) th+; void key3(void) tl-; if(tl=0x00) th-; void key4(void) double t; int f; TR0=0; t=(65535-th*256-tl)*0.4; f=(int)(1000/t); S3=tabf%10; f=f/10; S2=tabf%10; f=f/10; if(f=0) S1=0; else S1=tabf; TR0=1; void key5(void) tl-; if(tl=0x00) th+; void judge(void) uchar line,row,de1,de2,keym; P1=0x0f; keym=P1; if(keym=0x0f)return; for(de1=0;de1200;de1+) for(de2=0;de2125;de2+); P1=0x0f; keym=P1; if(keym=0x0f)return; P1=0x0f; line=P1; P1=0xf0; row=P1; line=line+row; /*存放特征鍵值 */ if(line=0xde)key1(); if(line=0x7e)key2(); if(line=0xbd)key3(); if(line=0x7d)key4(); void time0_int(void) interrupt 1 /中斷服務(wù)程序 TR0=0; if(fun=1) DA0832=tosinb; /正弦波 b+; else if(fun=2) /鋸齒波 if(c128) DA0832=c; else DA0832=255-c; c+; else if(fun=3) / 方波 d+; if(d=128) DA0832=0x00; else DA0832=0xff; TH0=th; TL0=tl; TR0=1; void main(void) TMOD=0X01; TR0=1; th=0xff; tl=0xd0; TH0=th; TL0=tl; ET0=1; EA=1; while(1) display(); judge(); 五、心得體會 開始的時(shí)候由于沒有經(jīng)驗(yàn),不知如何下手,所以就去圖書管找了一些書看,盡管有許多的設(shè)計(jì)方案,可是總感覺自己還是有許多的東西弄不太清楚,于是就 請教同學(xué)。他常做一些設(shè)計(jì),有一些經(jīng)驗(yàn)。經(jīng)過他的解釋分析各方案之后,決定用查表的方法來做。這樣可以降低一些硬件設(shè)計(jì)的難度,初次設(shè)計(jì)應(yīng)切合自己的水平。用 8031 需要擴(kuò)展 ROM,這樣還要進(jìn)行存儲器擴(kuò)展。而且現(xiàn)在 8031 實(shí)際中已經(jīng)基本上不再使用,實(shí)際用的 AT89S51 芯片有 ROM,這樣把經(jīng)過采樣得到的數(shù)值制成表,利用查表來做就簡單了。我認(rèn)為程序應(yīng)該不大,片內(nèi) ROM應(yīng)該夠用的。用 LED 顯示頻率和幅值,現(xiàn)有集成的接口驅(qū)動芯片,波形可通過示波器進(jìn)行顯示,單片機(jī)接上 D/A 轉(zhuǎn)換芯片即可,這樣硬件很快就搭好了。 我以為這些 做好了,構(gòu)思也有了,寫程序應(yīng)該是相對容易的。誰知道,寫起程序來,才想到功能鍵要有掃描程序才行呀,我真的感到很難。那時(shí)真的有點(diǎn)想放棄?于是就去請教了老師,老師幫忙分析了一下,自己又查閱
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年醫(yī)用衛(wèi)生材料敷料合作協(xié)議書
- 2025年雷達(dá)車合作協(xié)議書
- 2025年國土資源普查核儀器合作協(xié)議書
- 人教版 八年級英語下冊 Unit 3 單元綜合測試卷(2025年春)
- 2025年氯磺化聚乙烯合作協(xié)議書
- 2025年九年級第二學(xué)期班主任德育工作總結(jié)(二篇)
- 2025年互聯(lián)網(wǎng)科技公司股東合作協(xié)議模板(2篇)
- 2025年產(chǎn)品配送委托合同(三篇)
- 2025年產(chǎn)品總代理合同參考模板(2篇)
- 2025年產(chǎn)品年度區(qū)域銷量合同(三篇)
- 《梅大高速茶陽路段“5·1”塌方災(zāi)害調(diào)查評估報(bào)告》專題警示學(xué)習(xí)
- 2024年09月北京中信銀行北京分行社會招考(917)筆試歷年參考題庫附帶答案詳解
- 《大健康解讀》課件
- 2025年度交通運(yùn)輸規(guī)劃外聘專家咨詢協(xié)議3篇
- 專項(xiàng)債券培訓(xùn)課件
- 《會務(wù)的組織和管理》課件
- 物理調(diào)查問卷
- 給排水管道工程分項(xiàng)、分部、單位工程劃分
- 《傻子上學(xué)》臺詞
- 高中英語新課程標(biāo)準(zhǔn)解讀 (課堂PPT)
- 石灰石石膏濕法脫硫化學(xué)分析方案
評論
0/150
提交評論