版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、成績 南京工程學(xué)院課程設(shè)計說明書(論文)題 目 函數(shù)波形發(fā)生器 課 程 名 稱 單片機與接口技術(shù) 院 系 電力工程學(xué)院 專 業(yè) 電氣工程及自動化 班 級 學(xué) 生 姓 名 學(xué) 號 設(shè) 計 地 點 指 導(dǎo) 教 師 設(shè)計起止時間:2011年6月20日至2011年6月24日 目 錄課程設(shè)計說明書 1第一章 前言7第二章 設(shè)計目的7第三章 設(shè)計要求7第四章 具體設(shè)計74.1 設(shè)計思路·.74.2 硬件設(shè)計·.84.2.1 設(shè)計所用元件84.2.2 硬件接線圖104.3 軟件設(shè)計 .114.3.1 各功能模塊之間的銜接關(guān)系114.3.2 程序流程圖114.3.3 程序設(shè)計134.3.4
2、 波形產(chǎn)生過程174.4 運行效果·.184.4.1 星研程序截圖184.4.2 示波器輸出波形及頻率變化對波形的響 194.4.3 數(shù)碼顯示 20第五章 心得體會 21第六章 參考文獻 22南京工程學(xué)院課程設(shè)計任務(wù)書題目 函數(shù)波形發(fā)生器 課 程 名 稱 單片機與接口技術(shù) 院(系、部、中心) 電力工程學(xué)院 專 業(yè) 電氣工程及其自動化 班 級 電氣081 起 止 日 期 2011.6.202010.6.24 指 導(dǎo) 教 師 王 曼 1課程設(shè)計應(yīng)達(dá)到的目的本課程設(shè)計是在學(xué)生學(xué)習(xí)完單片機與接口技術(shù)課程后進行的一次全面的綜合練習(xí)。通過本次課程設(shè)計進一步鞏固和加深對單片機課程的基本知識的理解,
3、掌握使用單片機的基本技能,了解有關(guān)單片機應(yīng)用系統(tǒng)開發(fā)的過程與方法,提高利用單片機軟硬件解決實際問題的能力。2課程設(shè)計題目及要求本課題要求使用51單片機及可編程并行da轉(zhuǎn)換芯片dac0832等外圍接口電路芯片實現(xiàn)一個函數(shù)波形發(fā)生器。要求:系統(tǒng)可以輸出正弦波、方波、三角波和鋸齒波;輸出波形的選擇通過4只按鍵加以選擇,其對應(yīng)關(guān)系為:按鍵1234輸出波形正弦波方波三角波鋸齒波每種波形的周期可以通過可調(diào)電壓控制;輸出波形可以在示波器上正確顯現(xiàn);波形編號在led數(shù)碼管有顯示;可適當(dāng)增加其它類型函數(shù)波形。說明:實驗箱硬件電路連接圖如下:1、g6區(qū):按鍵電路 jp74:按鍵控制接口;按下0信號,松開1信號 2
4、、d2區(qū):05v電壓輸出3、g5區(qū):鍵盤&led(led為共陰極數(shù)碼管)a:按鍵的列線b:數(shù)碼管段碼c:數(shù)碼管選擇腳d:按鍵的行線4、f3區(qū):dac0832數(shù)模轉(zhuǎn)換5、g4區(qū):adc0809模數(shù)轉(zhuǎn)換,adc0809輸入時鐘clk(10k1280khz),可從b2區(qū)選用 6、星研實驗儀中引出的p0和p2口只能作地址/數(shù)據(jù)總線使用,不能做i/o口使用;需擴8255a7、a3區(qū)a0、a1是地址鎖存器對應(yīng)p0.0、p0.1輸出引腳;a3區(qū)片選信號線地址范圍:片選地址范圍片選地址范圍cs10f000h0ffffhcs50b000h0bfffhcs20e000h0efffhcs60a000h0af
5、ffhcs30d000h0dfffhcs709000h09fffhcs40c000h0cfffhcs808000h08fffh3課程設(shè)計任務(wù)及工作量的要求包括課程設(shè)計計算說明書、圖紙、實物樣品等要求按照課程設(shè)計說明書的格式規(guī)范撰寫課程設(shè)計說明書,正文部分包括:(1)功能描述:對系統(tǒng)要實現(xiàn)的功能進行簡明扼要的描述。(2)硬件設(shè)計:畫系統(tǒng)硬件結(jié)構(gòu)圖,并簡單描述。(3)軟件設(shè)計:將系統(tǒng)劃分功能模塊,并用框圖表示各功能模塊之間的銜接關(guān)系;詳細(xì)說明各軟件模塊的實現(xiàn)過程,流程圖等。(4)運行效果:說明系統(tǒng)的運行效果(附運行界面圖片、系統(tǒng)運行結(jié)果照片)。(5)心得體會:談?wù)勛约涸谡n程設(shè)計過程中的心得體會、存
6、在哪些不足以及預(yù)期的解決辦法。說明:(1)課程設(shè)計說明書用a4紙統(tǒng)一打印,按電力學(xué)院課程設(shè)計說明書規(guī)范統(tǒng)一要求書寫并裝訂。(2)課程設(shè)計的程序上交,文件夾名稱為學(xué)生姓名及學(xué)號的組合。(3)答辯:未經(jīng)指導(dǎo)教師許可或無故不到者,缺勤率達(dá)50%的學(xué)生不能參加答辯。 答辯時,設(shè)計者在闡述自己的設(shè)計過程和結(jié)果,突出設(shè)計中遇到的主要問題和解決方法,回答教師提問。4主要參考文獻1、 胡漢才.單片機原理及其接口技術(shù).北京:清華大學(xué)出版社,20045課程設(shè)計進度安排起 止 日 期工 作 內(nèi) 容6月20日21日6月22 日23日6月24日需求分析,系統(tǒng)總體設(shè)計系統(tǒng)軟、硬件調(diào)試驗收考核6成績考核辦法課程設(shè)計成績的組
7、成: 課程總評成績分項比例表工作表現(xiàn)設(shè)計成果考核測評30%40%30%課程設(shè)計成績評定需綜合考慮以下因素:(1)工作表現(xiàn):獨立工作能力及設(shè)計過程的表現(xiàn)。占總成績的30%。(2)設(shè)計成果:設(shè)計說明書(計算書、論文)、圖紙、程序、作品等的質(zhì)量。占總成績的40%。(3)考核測評:課程設(shè)計結(jié)束前,指導(dǎo)教師應(yīng)采用考試或答辯等形式對所指導(dǎo)的學(xué)生進行測評。如采用答辯形式,需填寫課程設(shè)計答辯記錄,測評成績占總成績的30%。(4)有創(chuàng)新的設(shè)計可以根據(jù)情況適當(dāng)加分。教研室審查意見:教研室主任簽字: 年 月 日院(系、部、中心)意見:主管領(lǐng)導(dǎo)簽字: 年 月 日函數(shù)波形發(fā)生器課程設(shè)計第一章 前言當(dāng)今世界在以電子信息技
8、術(shù)為前提下推動了社會跨越式的發(fā)展,科學(xué)技術(shù)的飛速發(fā)展帶動 了國家生產(chǎn)力的大幅度提高,由此可見,電子信息技術(shù)在人們生活中所占的重要地位,特別是單片機,在各行各業(yè)的生產(chǎn)實踐中都占有很大的比重。目前單片機滲透我們生活的各個領(lǐng)域。導(dǎo)彈的導(dǎo)航裝置,飛機上各種儀表的控制,計算機的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種ic卡,民用豪華轎車的安全保障系統(tǒng),錄像機、攝像機、全自動洗衣機的控制,以及程控玩具、電子寵物等,這些都離不開單片機。更不用說自動控制領(lǐng)域的機器人、智能儀表、醫(yī)療器械了。因此,單片機的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計算機應(yīng)用于智能化控制的科學(xué)家、工程師??萍荚桨l(fā)達(dá),
9、智能化的東西就越多,使用的單片機就越多??磥韺W(xué)習(xí)單片機是社會發(fā)展的需求。據(jù)統(tǒng)計,我國的單片機年容量已達(dá)1-3億片,且每年以大約16%的速度增長,但相對于世界市場我國的占有率還不到1%。這說明單片機的應(yīng)用在我國還處于起步階段,有著廣闊的前景。培養(yǎng)單片機人才,特別是在工程技術(shù)人員中普及單片機知識有著重要的現(xiàn)實意義。第二章 設(shè)計目的本課程設(shè)計是在學(xué)生學(xué)習(xí)完單片機與接口技術(shù)課程后進行的一次全面的綜合練習(xí)。通過本次課程設(shè)計進一步鞏固和加深對單片機課程的基本知識的理解,掌握使用單片機的基本技能,了解有關(guān)單片機應(yīng)用系統(tǒng)開發(fā)的過程與方法,提高利用單片機軟硬件解決實際問題的能力。第三章 設(shè)計要求本課題要求使用5
10、1單片機及可編程并行da轉(zhuǎn)換芯片dac0832等外圍接口電路芯片實現(xiàn)一個函數(shù)波形發(fā)生器。要求:1、系統(tǒng)可以輸出正弦波、方波、三角波和鋸齒波;2、輸出波形的選擇通過4只按鍵加以選擇,其對應(yīng)關(guān)系為:按鍵1234輸出波形正弦波方波三角波鋸齒波3、每種波形的周期可以通過可調(diào)電壓控制;4、輸出波形可以在示波器上正確顯現(xiàn);5、波形編號在led數(shù)碼管有顯示;6、可適當(dāng)增加其它類型函數(shù)波形。第四章 具體設(shè)計4.1設(shè)計思路 按照本設(shè)計的要求,選擇元件at89s51、8255a、adc0809、dac0832及一些旁路元件設(shè)計本函數(shù)波形發(fā)生器。 按照設(shè)計要求,由按鍵決定輸出波形的形狀,關(guān)于這一點,可以通過在at8
11、9s51芯片的p1口的p1.0,p1.1,p1.2,p1.3四個口接4個按鈕,分別對應(yīng)1,2,3,4四個按鍵,按下不同的按鈕以實現(xiàn)不同波形的輸出。對于波形的周期用可調(diào)電壓控制,可以在adc0809模塊的輸入端接可調(diào)電阻,可調(diào)電阻接電源來得到不同的電壓幅值,通過a/d轉(zhuǎn)換實現(xiàn)頻率(周期)的調(diào)節(jié)。對于輸出波形在示波器上顯示,可以通過將dac0832經(jīng)d/a轉(zhuǎn)換后的值輸出到示波器來觀察得到。對于波形編號在led數(shù)碼管由顯示,可以在8255a的并口i/o輸出口接數(shù)碼管,通國相應(yīng)程序控制實現(xiàn)。4.2硬件設(shè)計4.2.1設(shè)計所用元件(1)dac0832 數(shù)模轉(zhuǎn)換模塊 1)硬件結(jié)構(gòu)圖dac0832結(jié)構(gòu)圖及引腳
12、排列2)各引腳功能如下:電源輸入端,在 范圍內(nèi)。dgnd:數(shù)字信號地。 agand:模擬信號地,最好與基準(zhǔn)電壓共地。di0di7:8位數(shù)字信號輸入端,di7為最高位,di0為最低位。使用時與單片機的數(shù)據(jù)總線端口相連。:片選信號輸入端,低電平有效,當(dāng)=0時,芯片被選中。ile:數(shù)據(jù)鎖存控制輸入端,高電平有效。:第一級輸入寄存器寫選通控制輸入端,低電平有效。當(dāng)=0,ile=1,=0時,待轉(zhuǎn)換的數(shù)據(jù)被鎖存到第一級8位寄存器中。:數(shù)據(jù)傳送控制輸入端,低電平有效。:dac寄存器寫選通控制輸入端,低電平有效。當(dāng)=0,=0時,輸入寄存器中的待轉(zhuǎn)換數(shù)據(jù)被送入8位dac寄存器中。:外部反饋信號輸入端。:d/a轉(zhuǎn)
13、換器電流輸出1端,當(dāng)輸入數(shù)字量全為“1”時,輸出電流達(dá)到最大值,輸入數(shù)值量全為“0”時,輸出電流達(dá)到最小值。:d/a轉(zhuǎn)換器電流輸出2端,+=常數(shù)。(2)adc0809模數(shù)轉(zhuǎn)換模塊1)硬件結(jié)構(gòu)圖adc0809結(jié)構(gòu)圖及引腳排列2)各引腳功能如下adc0809為一種逐次比較型a/d轉(zhuǎn)換器,都有以下引腳:in0in7:8路模擬信號輸入端。每個瞬間轉(zhuǎn)換一個模擬信號,各路之間的切換由軟件改變c,b,a引腳上的編碼來實現(xiàn)。,gnd:電源與地引腳,由單一的+5v電源供電。d0d7:8位數(shù)字量輸入端。start:a/d轉(zhuǎn)換啟動信號輸入端,加上正脈沖后啟動a/d轉(zhuǎn)換。clk:時鐘信號輸入端。ale:地址鎖存信號控
14、制端。eoc:轉(zhuǎn)換結(jié)束輸出信號,高電平有效。在a/d轉(zhuǎn)換結(jié)束后,eoc引腳輸出低電平信號,表示正在進行a/d轉(zhuǎn)換,a/d轉(zhuǎn)換結(jié)束時,eoc引腳輸出高電平,表示a/d轉(zhuǎn)換結(jié)束。使用時,eoc信號可以作為a/d轉(zhuǎn)換器的狀態(tài)信號進行查詢,也可以直接作為中斷請求信號。(3)可編程并行接口芯片8255a1)硬件結(jié)構(gòu)圖8255a結(jié)構(gòu)圖及引腳排列2)各引腳功能如下d7d0:雙向,三態(tài)數(shù)據(jù)線,和cpu系統(tǒng)系統(tǒng)總線相連。:片選信號,輸入,低電平有效。a0,a1:端口地址選擇信號,輸入。:讀信號,輸入,低電平有效。:寫信號,輸入,低電平有效。reset:復(fù)位信號,輸入,高電平有效。pa7pa0:端口a的輸入/輸出
15、線,雙向,三態(tài)。pb7pb0:端口a的輸入/輸出線,雙向,三態(tài)。pc7pc0:端口a的輸入/輸出線,雙向,三態(tài)。4.2.2硬件接線圖接線圖說明:在接線圖中,at89s51的p1.0,p2.0,p3.0,p4.0四個口分別皆有四個按鈕1,2,3,4,p0口的p0.0p0.7口同時與74ls373譯碼器的d0d7,dac0832的di0di7,adc0809的out1out8,8255a的d0d7口相連,74ls373的輸出端q0,q1分別接8255a的a0和a1口來實現(xiàn)數(shù)據(jù)信號的傳遞,這只是仿真圖的連線,具體試驗臺上的連線與其有所差異。在試驗臺上,集成的模塊之間的聯(lián)系可以省略,具體的接線是a3區(qū)
16、的p1口用排線接到g6區(qū)的jp74上,8255a的片選端接a3區(qū)的cs2,dac0832的片選端接a3區(qū)的cs3,adc0809的片選端接a3區(qū)的cs4,片選的接線由程序來確定。a3區(qū)的a0,a1接8255a的a0,a1,而8255a的輸出pa口及pb口分別用排線連接數(shù)碼管顯示區(qū)g5區(qū)的b和c。adc0809的輸入in0接到d2區(qū)的05v可調(diào)電阻上,clk接到b2區(qū)的時鐘clk處,選擇125khz(可改變),adda,addb,addc分別接地,而eoc口接到a3區(qū)的p3.3 int1中斷口。dac0832的out出口接示波器。到此,實驗臺接線完畢。4.3 軟件設(shè)計4.3.1 各功能模塊之間的
17、銜接關(guān)系如圖所示為各個功能模塊之間的關(guān)系,從源頭的按下不同的按鍵,中間經(jīng)過at89s51,8255a,dac0832,adc0809這幾個大模塊以及一些小的元件,最終得到理想的波形并且在數(shù)碼管上顯示相應(yīng)波形的編號。中間在adc0809模塊上,由外部電壓信號輸入,經(jīng)過a/d轉(zhuǎn)換,最終變成對于波形頻率改變的控制信號,完成整個流程。4.3.2 程序流程圖 主程序流程圖 鋸齒波程序流程圖 三角波程序流程圖 方波程序流程圖 正弦波程序流程圖 數(shù)碼顯示子程序流程圖 延時程序1 流程圖 延時程序2 流程圖 延時程序3流程圖4.3.3 程序設(shè)計org 0000hsjmp mainorg 0030hmain:
18、mov sp,#60h ;設(shè)置堆棧 mov a,#00h ;設(shè)置a初值 mov dptr,#0e000h ;初始化 movx dptr,a mov dptr,#0efffh ;賦8255a片選地址 mov a,#80h ;將8255a控制字寫入寄存器a movx dptr,a ;寫入控制字,設(shè)置pa,pb,pc口為輸出口mov r2,#00h ;賦r2初值為00hclr 00hclr 01hclr 02hclr 03h acall play ;調(diào)用數(shù)碼顯示程序顯示start:jnb p1.0,zxuan ;判斷p1.0口狀態(tài),為低電平轉(zhuǎn)移 jnb p1.1,fbo ;判斷p1.1口狀態(tài),為低電
19、平轉(zhuǎn)移 jnb p1.2,sjiao ;判斷p1.2口狀態(tài),為低電平轉(zhuǎn)移 jnb p1.3,jchi ;判斷p1.3口狀態(tài),為低電平轉(zhuǎn)移 jb 00h,zxuan ;判斷標(biāo)志位00h狀態(tài),為高電平轉(zhuǎn)移 jb 01h,fbo ;判斷標(biāo)志位01h狀態(tài),為高電平轉(zhuǎn)移 jb 02h,sjiao ;判斷標(biāo)志位02h狀態(tài),為高電平轉(zhuǎn)移 jb 03h,jchi ;判斷標(biāo)志位03h狀態(tài),為高電平轉(zhuǎn)移 ajmp start jchi::setb 03h ;鋸齒波程序 clr 00h clr 01h clr 02h mov r2,#04h lcall play ;跳轉(zhuǎn)數(shù)碼管顯示程序 mov dptr,#0d000
20、h ;寫入dac0832片選地址#0d000h mov a,#00h ;賦a初值#00hloop:mov dptr,#0d000h ;寫入dac0832片選地址#0d000h movx dptr,a inc a ;a自增1 lcall lop3 ;調(diào)用延時子程序3 jnz loop ;判斷a中是否為0,非0轉(zhuǎn)移loop ajmp start ;回到主程序sjiao:setb 02h ;三角波程序 clr 00h clr 01h clr 03h mov r2,#03h lcall play ;調(diào)用數(shù)碼顯示程序 mov dptr,#0d000h ;寫入dac0832片選地址#0d000h mov
21、a,#00h ;賦a初值#00h mov r6,#0ffh ;最高點值loop1:mov dptr,#0d000h ;寫入dac0832片選地址#0d000h movx dptr,a inc a ;a自增1 lcall lop3 ;調(diào)用延時程序3 djnz r6,loop1 ;輸出寬度 mov a,#0ffh ;重新給值,保護現(xiàn)場 mov r6,#0ffhloop2:mov dptr,#0d000h ;寫入dac0832片選地址#0d000h movx dptr,a dec a ;a自減1 lcall lop3 ;調(diào)用延時程序3 djnz r6,loop2 ;輸出寬度 sjmp start ;
22、返回主程序zxuan:ljmp zxuan1fbo:setb 01h ;方波程序 clr 00h clr 02h clr 03h mov r2,#02h lcall play ;調(diào)用數(shù)碼顯示程序 mov a,#00h ;賦a初值#00h mov dptr,#0d000h ;寫入dac0832片選地址#0d000h movx dptr,a lcall lop1 ;調(diào)用延時程序1 mov a,#0ffh ;賦a最大值 mov dptr,#0d000h ;寫入dac0832片選地址#0d000h movx dptr,a lcall lop1 ;調(diào)用延時程序1 mov a,#00h ;a重新賦值#00
23、h ljmp start ;返回主程序zxuan1:setb 00h ;正弦波程序 clr 01h clr 02h clr 03h mov r2,#01h lcall play ;調(diào)用數(shù)碼顯示程序 mov a,#00h ;賦a初值#00hloop5:mov r7,a ;保護a mov dptr,#sin ;將表sin寫入dptr movc a,a+dptr ;查表 mov dptr,#0d000h ;寫入dac0832片選地址#0d000h movx dptr,a lcall lop ;調(diào)用延時程序 mov a,r7 ;返回a值 inc a ;a自增1 cjne a,#00h,loop5 ;判
24、斷a中值是否為0,非0轉(zhuǎn)移 ljmp start ;返回主程序lop: mov dptr,#0c000h ;延時程序 jnb p3.3,$ ;判斷p3.3口狀態(tài) movx a,dptr jz skip ;判斷a中值是否為0 djnz acc,$ ;根據(jù)a/d轉(zhuǎn)換值延遲skip:movx dptr,a ;啟動0809ret ;延遲程序結(jié)束lop1:mov r7,#0ffh ;延時程序1 mov dptr,#0c000h ;寫入dac0832片選地址#0d000h jnb p3.3,$ ;判斷p3.3口狀態(tài) movx a,dptr jz skip1 ;判斷a中值是否為0lop2:djnz r7,l
25、op2 ;增大延時長度 mov r7,#0ffh djnz acc,lop2 ;根據(jù)a/d轉(zhuǎn)換值延遲skip1:movx dptr,a ;啟動0809 ret ;延遲程序結(jié)束lop3:mov r5,a ;延時程序3,保護r5 mov dptr,#0c000h ;寫入dac0832片選地址#0d000h jnb p3.3,$ ;判斷p3.3口狀態(tài) movx a,dptr jz skip2 ;判斷a中值是否為0 djnz acc,$ ;根據(jù)a/d轉(zhuǎn)換值延遲skip2:movx dptr,a ;啟動0809 mov a,r5 ;返回r5 ret ;延遲程序結(jié)束 play:mov a,#0feh ;將
26、pb口的位碼控制數(shù)據(jù)寫入寄存器a mov dptr,#0effdh ;寫入8255a pb口片選地址 movx dptr,a ;向pb口輸出位碼控制數(shù)據(jù) mov a,r2 ;給a賦r2中的值 mov dptr,#led ;指向字型碼表 movc a,a+dptr ;用查表法輸出數(shù)碼 mov dptr,#0effch ;寫入8255a pa口片選地址 movx dptr,a ;啟動8255a ret ;返回主程序led:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,78h,6fh,00h ;數(shù)碼顯示位碼表sin:db 80h,83h,86h,89h,8dh,90h,93h
27、,96h ;正弦波位碼表 db 99h,9ch,9fh,0a2h,0a5h,0a8h,0abh,0aeh db 0b1h,0b4h,0b7h,0bah,0bch,0bfh,0c2h,0c5h db 0c7h,0cah,0cch,0cfh,0d1h,0d4h,0d6h,0d8h db 0dah,0ddh,0dfh,0e1h,0e3h,0e5h,0e7h,0e9h db 0eah,0ech,0eeh,0efh,0f1h,0f2h,0f4h,0f5h db 0f6h,0f7h,0f8h,0f9h,0fah,0fbh,0fch,0fdh db 0fdh,0feh,0ffh,0ffh,0ffh,0ffh
28、,0ffh,0ffh db 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0feh,0fdh db 0fdh,0fch,0fbh,0fah,0f9h,0f8h,0f7h,0f6h db 0f5h,0f4h,0f2h,0f1h,0efh,0eeh,0ech,0eah db 0e9h,0e7h,0e5h,0e3h,0e1h,0deh,0ddh,0dah db 0d8h,0d6h,0d4h,0d1h,0cfh,0cch,0cah,0c7h db 0c5h,0c2h,0bfh,0bch,0bah,0b7h,0b4h,0b1h db 0aeh,0abh,0a8h,0a5h,0a2h,9fh
29、, 9ch, 99h db 96h,93h,90h,8dh,89h,86h,83h,80h db 80h,7ch,79h,78h,72h,6fh,6ch,69h db 66h, 63h, 60h, 5dh, 5ah, 57h, 55h, 51h db 4eh, 4ch, 48h, 45h, 43h, 40h, 3dh, 3ah db 38h, 35h, 33h, 30h, 2eh, 2bh, 29h, 27h db 25h, 22h, 20h, 1eh, 1ch, 1ah, 18h, 16h db 15h, 13h, 11h, 10h, 0eh, 0dh, 0bh, 0ah db 09h, 0
30、8h, 07h, 06h, 05h, 04h, 03h, 02h db 02h, 01h, 00h, 00h, 00h, 00h, 00h, 00h db 00h, 00h, 00h, 00h, 00h, 00h, 01h, 02h db 02h, 03h, 04h, 05h, 06h, 07h, 08h, 09h db 0ah, 0bh, 0dh, 0eh, 10h, 11h, 13h, 15h db 16h, 18h, 1ah, 1ch, 1eh, 20h, 22h, 25h db 27h, 29h, 2bh, 2eh, 30h, 33h, 35h, 38h db 3ah, 3dh, 40
31、h, 43h, 45h, 48h, 4ch, 4eh db 51h, 55h, 57h, 5ah, 5dh, 60h, 63h, 66h db 69h, 6ch, 6fh, 72h, 76h, 79h, 7ch, 80h end 4.3.4 波形產(chǎn)生過程說明 由接線圖說明,在實驗臺通電,pc與試驗臺通訊完成之后,點擊運行,看到示波器并無輸出波形,這時系統(tǒng)處于待機狀態(tài)。在按下p1口的任何一個按鈕后,系統(tǒng)查詢檢測到p1.0,p1.1,p1.2,p1.3中有一個口發(fā)生電平跳變,則程序中跳轉(zhuǎn)執(zhí)行相應(yīng)的子程序,這部分跳轉(zhuǎn)執(zhí)行的子程序是波形產(chǎn)生程序,依次分別為正弦波,方波,三角波,鋸齒波。對于正弦波的產(chǎn)生
32、,以用查表法來實現(xiàn)。把初始值00h賦給寄存器a,表示從零點開始,再由查給定的正弦波上的點的數(shù)值來描繪正弦波的曲線,后在經(jīng)過dac0832的數(shù)模轉(zhuǎn)換作用,將數(shù)字信號轉(zhuǎn)換為模擬信號,最后在示波器上輸出正弦波的圖形。對于方波的產(chǎn)生,先給定一個初值,延時,再給定另一個不同的初值,延時,重復(fù)可以實現(xiàn)數(shù)字信號輸出,后在經(jīng)過dac0832的數(shù)模轉(zhuǎn)換作用,將數(shù)字信號轉(zhuǎn)換為模擬信號,最后在示波器上輸出方波的圖形。對于三角波的產(chǎn)生,先給寄存器初值,再給定到達(dá)最大值時的寬度,讓寬度數(shù)值做自減1循環(huán),每自減一次,寄存器中的值就自增1,知道到最大值,完成上升段的數(shù)字輸出,下降段給寄存器賦最大值,再以同樣寬度數(shù)值做自減1
33、循環(huán),每自減一次,寄存器中數(shù)值自減1,最后回到零,在執(zhí)行大循環(huán),到此,一個完整的三角波數(shù)字輸出完畢,再經(jīng)過dac0832的數(shù)模轉(zhuǎn)換作用,將數(shù)字信號轉(zhuǎn)換為模擬信號,最后在示波器上輸出三角波的圖形。對于鋸齒波的輸出,鋸齒波其實是三角波的一半,只要先向寄存器賦初值,再讓寄存器中數(shù)據(jù)自增1,增到最大值后發(fā)生溢出,自動回到初值,實現(xiàn)一個鋸齒波的數(shù)字輸出。再經(jīng)過dac0832的數(shù)模轉(zhuǎn)換作用,將數(shù)字信號轉(zhuǎn)換為模擬信號,最后在示波器上輸出鋸齒波的圖形。課題中還要求對輸出波形的頻率可以調(diào)整,這可以用adc0809,通過其中的a/d轉(zhuǎn)換延時來實現(xiàn)。所以就在每一次輸出一個點后調(diào)用一次延時子程序,無數(shù)個輸出被延時,在
34、輸出時就相當(dāng)于增大了波形的周期,也就是改變了頻率,同時改變頻率的波形還能在示波器上正確顯示。在延時程序中,由adc0809的工作過程:首先選擇adc0809的一個模擬輸入通道(由adda,addb,addc三個引腳的狀態(tài)決定),當(dāng)執(zhí)行“movx dptr,a”指令后,單片機的號有效,從而產(chǎn)生一個啟動脈沖信號給adc0809的strat引腳,開始對選中的模擬信號進行轉(zhuǎn)換,當(dāng)轉(zhuǎn)換結(jié)束后,adc0809的轉(zhuǎn)換結(jié)束信號eoc=1,當(dāng)執(zhí)行“movx a,dptr”指令時,單片機發(fā)出讀控制信號,通過邏輯電路控制oe端為高電平,把轉(zhuǎn)換完畢的數(shù)字量讀入到寄存器中。在這個過程中,當(dāng)有模擬量信號輸入時,就進行延時操作,以來實現(xiàn)用外部可調(diào)電壓控制輸出波形的頻率這一要求。對于輸出波形同時顯示該波形對應(yīng)編號這一功能,可用8255a擴展i/o連接8段數(shù)碼管來實現(xiàn)。在程序中,每執(zhí)行一個波形程序,都在程序開頭加入把該波形對應(yīng)標(biāo)號寫入工作寄存器r2中,同時調(diào)用數(shù)碼顯示子程序。在數(shù)碼顯示子程序中,把r2通過查表法得出的值送入寄存器中,
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年某咨詢公司與某企業(yè)咨詢服務(wù)合同
- 2024年物業(yè)買賣信息保密合同
- 鎂鉻質(zhì)耐火產(chǎn)品行業(yè)行業(yè)發(fā)展趨勢及投資戰(zhàn)略研究分析報告
- 高中語文教案模板
- 輔導(dǎo)員個人年終工作總結(jié)5篇范文
- 八年級生物教學(xué)工作總結(jié)【10篇】
- 教師個人工作辭職報告(合集15篇)
- 員工辭職報告(合集15篇)
- 計算機畢業(yè)實習(xí)報告合集五篇
- 2021年國慶節(jié)主題活動總結(jié)五篇
- 應(yīng)用數(shù)理統(tǒng)計知到智慧樹章節(jié)測試課后答案2024年秋中國農(nóng)業(yè)大學(xué)
- 文藝復(fù)興史學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 二級公立醫(yī)院績效考核三級手術(shù)目錄(2020版)
- 6人小品《沒有學(xué)習(xí)的人不傷心》臺詞完整版
- 活套法蘭計算表
- 年產(chǎn)十萬噸苯乙烯工藝設(shè)計
- 儲罐受限空間作業(yè)方案DOC
- 壓力容器耐壓試驗
- 課程設(shè)計---年產(chǎn)5.6萬噸乙醇精餾塔的設(shè)計
- 部編本小學(xué)五年級上冊語文期末考試(選擇題)專項訓(xùn)練題及答案
- 化工生產(chǎn)車間人員配置方案(精編版)
評論
0/150
提交評論