

下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、一、 題目的意義.1二、 本人所做的工作 .1三、 課設(shè)要求.2四、 課設(shè)所需設(shè)備及芯片功能介紹 .24.1、所需設(shè)備.24.2、芯片功能介紹.2五、. 總體功能圖及主要設(shè)計(jì)思路55.1、總體功能圖.55.2、主要設(shè)計(jì)思想.5六、.硬件電路設(shè)計(jì)及描述76.1、硬件原理圖.76.2、線路連接步驟.7七、.軟件設(shè)計(jì)流程及描述77.1、鋸齒波的實(shí)現(xiàn)過(guò)程 .77.2、三角波的實(shí)現(xiàn)過(guò)程.87.3、梯形波的實(shí)現(xiàn)過(guò)程.97.4、方波的實(shí)現(xiàn)過(guò)程.117.5、正弦波的實(shí)驗(yàn)過(guò)程.127.6通過(guò)開(kāi)關(guān)實(shí)現(xiàn)波形切換和調(diào)頻、調(diào)幅 .13八、 程序調(diào)試步驟與運(yùn)行結(jié)果 .158.1、調(diào)試步驟.158.2、運(yùn)行結(jié)果.15九、.
2、課程設(shè)計(jì)體會(huì)17十、參考文獻(xiàn).18十一、源代碼及注釋.18一、題目的意義(1) 、利用所學(xué)單片機(jī)的理論知識(shí)進(jìn)行軟硬件整體設(shè)計(jì),鍛煉學(xué)生理論聯(lián)系 實(shí)際、提高我們的綜合應(yīng)用能力。(2) 、 我們這次的課程設(shè)計(jì)是以單片機(jī)為基礎(chǔ), 設(shè)計(jì)并開(kāi)發(fā)能輸出多種波形 (正弦波、三角波、鋸齒波、方波、梯形波等)且頻率、幅度可變的函數(shù)發(fā)生器。(3) 、掌握各個(gè)接口芯片(如0832等的功能特性及接口方法,并能運(yùn)用其實(shí) 現(xiàn)一個(gè)簡(jiǎn)單的微機(jī)應(yīng)用系統(tǒng)功能器件。(4) 、在平時(shí)的學(xué)習(xí)中,我們所學(xué)的知識(shí)大都是課本上的,在機(jī)房的練習(xí)大 家也都是分散的對(duì)各個(gè)章節(jié)的內(nèi)容進(jìn)行練習(xí)。因此,缺乏一種系統(tǒng)的設(shè)計(jì)鍛煉。在 課程所學(xué)結(jié)束以后,這樣
3、的課程設(shè)計(jì)十分有助于學(xué)生的知識(shí)系統(tǒng)的總結(jié)到一起。(5) 、通過(guò)這幾個(gè)波形進(jìn)行組合形成了一個(gè)函數(shù)發(fā)生器,使得我對(duì)系統(tǒng)的整 個(gè)框架的設(shè)計(jì)有了一個(gè)很好的鍛煉。這不僅有助于大家找到自己感興趣的題目,更 可以鍛煉大家單片機(jī)知識(shí)的應(yīng)用。、本人所做的工作本次課設(shè)組員:劉正、鄧強(qiáng)、劉志組長(zhǎng):劉正經(jīng)過(guò)了這一個(gè)星期的時(shí)間,我們已經(jīng)基本完成了老師所提出的課程設(shè)計(jì)要求。 其中,我本人是組長(zhǎng)整個(gè)系統(tǒng)的設(shè)計(jì)框架和編寫(xiě)代碼由我親自完成。由于我們上課 沒(méi)有接觸過(guò)正弦波因此通過(guò)在圖書(shū)館和網(wǎng)絡(luò)上找資料已經(jīng)順利完成。然后通過(guò)上機(jī) 連接線路把電路板和PC機(jī)相連接之后對(duì)每一個(gè)波形單個(gè)調(diào)試完成后,再組合起來(lái) 通過(guò)開(kāi)關(guān)控制波形的輸出,最后
4、實(shí)現(xiàn)老師所要求的功能。三、課設(shè)要求1、 設(shè)計(jì)接口電路,將這些外設(shè)構(gòu)成一個(gè)簡(jiǎn)單的單片機(jī)應(yīng)用系統(tǒng),畫(huà)出接口的 連接圖。2、 編寫(xiě)下列控制程序(1)能輸出正弦波、三角波、鋸齒波、方波、梯形波。(2)由K0-K4鍵分別控制以上所述波形的產(chǎn)生。(3)根據(jù)開(kāi)關(guān)對(duì)輸出波形的頻率、幅度進(jìn)行控制調(diào)節(jié)。四、課設(shè)所需設(shè)備及芯片功能介紹4.1、所需設(shè)備單片機(jī)最小開(kāi)發(fā)系統(tǒng),DAC0832片,PC機(jī)一臺(tái),運(yùn)算放大器,其他器件任 選。4.2、芯片功能介紹(1)、DAC0832芯片介紹:DAC0832為一個(gè)8位D/A轉(zhuǎn)換器,單電源供電,在+5+15V范圍內(nèi)均可正常工 作?;鶞?zhǔn)電壓的范圍為 0V,電流建立時(shí)間為1卩s,CMOS
5、工藝,低功耗20mW。DAC0832的內(nèi)部結(jié)構(gòu)框圖如下圖所示。DAC0832的外部引腳及功能介紹圖如下:(2) 、DAC0832的應(yīng)用:DAC0832是用作單極性電壓輸出,二是用作雙極性電壓輸出,最后是用作 程控放大器。(3) 、DAC0832與8031的連接方式:DAC0832的與單片機(jī)的連接方式有三種方式:一、單緩沖、雙緩沖、三是直通方式。本程序采用的是方式一即單緩沖方式,為高電平,CS、WR1、WR2、XFER為低電平。電源及時(shí)鐘引腳:Vcc、Vss;XTAL1、XTAL2ILE控制引腳PSEN、ALE、EA、RESET(即RST).I/O口引腳:PO、P1、P2、P3為4個(gè)8位I/O口
6、的外部引腳.RST/VPD(9腳)RST:單片剛接上電源時(shí),其內(nèi)部各寄存器處于隨機(jī)狀態(tài),在此腳輸入24個(gè)時(shí)鐘周期寬度以上的高電平將使單片機(jī)復(fù)位。單片機(jī)正常工作時(shí),此腳應(yīng)為0.5V氐電平。VPD:備用電源輸入端。當(dāng)Vcc下降到低于規(guī)定的值,而VPD在其規(guī)定的電壓 范圍內(nèi)(5).5V)時(shí),VPD就向內(nèi)部RAM提供備用電源以保持內(nèi)部RAM的數(shù) 據(jù)。ALE/PROG(30引腳)ALE引腳輸出為地址鎖存允許信號(hào),當(dāng)單片機(jī)上電工 作后,ALE引腳不斷輸出正脈沖信號(hào).當(dāng)訪問(wèn)片外存儲(chǔ)器時(shí),ALE(地址鎖存允許信 號(hào)輸出脈沖的負(fù)跳沿用于16位地址的低8位鎖存信號(hào)。不訪問(wèn)片外存儲(chǔ)器,ALE端以時(shí)鐘振蕩器頻率的1/
7、6固定輸出正脈沖。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)(執(zhí)行MOVX指令),ALE會(huì)丟失一個(gè)ALE脈沖。MCS-51單片機(jī)的片外總線結(jié)構(gòu)MCS-51系列單片機(jī)片外引腳可以構(gòu)成如上圖所示的三總線結(jié)構(gòu):地址總線(AB)數(shù)據(jù)總線(DB)控制總線(CB)8031各個(gè)口的功能定義P0口 :雙向8位三態(tài)I/O口,此口為地址總線(低8位)及數(shù)據(jù)總線分時(shí)復(fù)用 口,可帶8個(gè)LSTTL負(fù)載。P1口:8位準(zhǔn)雙向I/O口,可帶4個(gè)LSTTTL負(fù)載P2口:8位準(zhǔn)雙向I/O口,與地址總線(高8位)復(fù)用。P3口:8位準(zhǔn)雙向I/O口,雙功能復(fù)用口。五、總體功能圖及主要設(shè)計(jì)思路5.1、總體功能圖5.2、主要設(shè)計(jì)思想從此題的要求我的設(shè)計(jì)思路分
8、以下幾步:(一)、課設(shè)需要各個(gè)波形的基本輸出。如輸出鋸齒波、三角波、梯形波、方 波、正弦波。這些波形的實(shí)現(xiàn)的具體步驟:鋸齒波實(shí)現(xiàn)很簡(jiǎn)單,只需要一開(kāi)始定義 一個(gè)初值,然后不斷的加1,當(dāng)溢出后又重初值開(kāi)始加起,就這樣循環(huán)下去。三角 波的實(shí)驗(yàn)過(guò)程是先加后減,我的一開(kāi)始的實(shí)現(xiàn)方法是先是從00H開(kāi)始加1直到溢出后就執(zhí)行減1操作,就這樣不斷調(diào)用這個(gè)循環(huán)。梯形波的實(shí)現(xiàn)過(guò)程是前后加和減 的速度不同而已,如你可以在上升加的步數(shù)大一些,減時(shí)少一些。方波的實(shí)現(xiàn)方法 是連續(xù)輸出一個(gè)數(shù),到某個(gè)時(shí)候就改變一下值,可以把值定義為正極性的,也可以 是負(fù)極性。正弦波的實(shí)現(xiàn)是非常麻煩的。它的實(shí)現(xiàn)過(guò)程是通過(guò)定義一些數(shù)據(jù),然后執(zhí)行時(shí)
9、直接輸出定義的數(shù)據(jù)就可以了。在設(shè)計(jì)之初,我一直都在 嘗試使用數(shù)學(xué)的泰勒級(jí)數(shù)展開(kāi)來(lái)計(jì)算輸出波形, 使用這種方法, 實(shí)現(xiàn)起來(lái)相對(duì)來(lái)說(shuō) 要比較困難一點(diǎn),而且會(huì)使得頻率會(huì)下降。要使得它達(dá)到更高的頻率,就得另辟蹊 徑了。分析一下為什么頻率上不去,主要原因在于,使用單片機(jī)進(jìn)行正弦函數(shù)的運(yùn) 算時(shí)占去了不少時(shí)間,如果去掉這一計(jì)算過(guò)程波形的頻率應(yīng)該大有提高,另外就是CPU時(shí)鐘頻率沒(méi)有調(diào)至最高,以及DAC轉(zhuǎn)換過(guò)程需要時(shí)間。為了達(dá)到更高的頻 率,首先就要免去單片機(jī)的計(jì)算負(fù)擔(dān),我使用的解決方法是人為計(jì)算出要輸出的 點(diǎn),然后建一個(gè)表通過(guò)查表來(lái)進(jìn)行輸出,這樣主要工作任務(wù)就落到了建表的過(guò)程 中。這樣做的好處在于,查表所耗費(fèi)
10、的時(shí)鐘周期相同,這樣輸出的點(diǎn)與點(diǎn)之間的距 離就相等了,輸出的波形行將更趨于完美,當(dāng)然更讓我們感到的高興的是它輸出波 形的頻率將近達(dá)到了100K赫茲,能夠滿足我們?cè)O(shè)計(jì)的擴(kuò)展要求了。為了實(shí)現(xiàn)頻率 的調(diào)整,我在一個(gè)正弦波周期里建了兩百個(gè)點(diǎn),如果我們隔一個(gè)取點(diǎn)的話,且在CPU時(shí)鐘頻率不改變的情形下,正弦波頻率將相對(duì)于前面的頻率提高將近一倍。 這樣我們就得到了解決頻率調(diào)整的方法,首先進(jìn)行CPU時(shí)鐘頻率選擇,再調(diào)整一個(gè)正弦函數(shù)一個(gè)周期輸出的點(diǎn)數(shù),幅度的調(diào)節(jié)是通過(guò)初始幅度設(shè)置再通過(guò)外部放大 電路來(lái)調(diào)節(jié),設(shè)計(jì)程序流程圖如圖所示。(二)、通過(guò)P3口和開(kāi)關(guān)K0-K5相連接來(lái)控制各個(gè)波形的輸出。能根據(jù)k0- k5鍵
11、狀態(tài)進(jìn)行波形切換,開(kāi)關(guān)鍵向上接 “1,產(chǎn)生波形,向下拔接“0,無(wú)波形輸 出。如K0鍵向上拔,K1-K4鍵向下拔,產(chǎn)生鋸齒波;K1鍵向上拔,K0、K2-K4鍵向下拔,產(chǎn)生三角波;,以此類(lèi)推。通過(guò)K5鍵來(lái)控制調(diào)頻/調(diào)幅。六、硬件電路設(shè)計(jì)及描述6.1、硬件原理圖6.2、線路連接步驟(1)D/A區(qū)0832片選信號(hào)CS插孔和譯碼輸出丫2插孔相連。(2) 用排線將D/A區(qū)D0D7連至U BUS2區(qū)XD0XD7。(3) 將0832的WR信號(hào)線連到BUS3區(qū)的XWR上。(4)D/A區(qū)的2V插孔分別與外置電源的2V端相連。(5)W2區(qū)的VIN接+12V,如果電源內(nèi)置,VIN插孔和D/A區(qū)的+12V插孔相連。(6
12、)D/A區(qū)的Vref接W2區(qū)Vref,并調(diào)節(jié)W2使Vref=+5V。(7)K0-K5開(kāi)關(guān)分別接到P3口的P3.0-P3.5七、軟件設(shè)計(jì)流程及描述7.1、鋸齒波的實(shí)現(xiàn)過(guò)程鋸齒波的實(shí)現(xiàn)過(guò)程是首先定義一個(gè)初值然后進(jìn)行加法操作,加的步數(shù)的多少則 根據(jù)要求的頻率來(lái)進(jìn)行。然后加到某個(gè)數(shù)之后就再重新設(shè)置為初值,再重復(fù)執(zhí)行剛剛的操作,如此循環(huán)下去。流程圖如下所示:7. 2、三角波的實(shí)現(xiàn)過(guò)程三角波的實(shí)現(xiàn)是設(shè)置一個(gè)初值,然后進(jìn)行加數(shù),同樣是加到某個(gè)數(shù)之后再進(jìn)行 減數(shù),減到初值之后就再返回到先前的操作, 這個(gè)操作跟鋸齒波的實(shí)現(xiàn)是相似的。此程序輸入的VREF的電壓是+5V,因此該波形輸出的最大頻率是初值為00H和 最
13、終值為0FFH,且步數(shù)為1,這樣輸出的波形是最大的。7.3、梯形波的實(shí)現(xiàn)過(guò)程梯形波輸出跟鋸齒波和三角波相似,只不過(guò)當(dāng)加到頂峰后的一段時(shí)間內(nèi)不改變A的值,過(guò)了一段時(shí)間后再將減少A的值,不過(guò)先后的步數(shù)可以一樣也可以不一 樣。然后減到初始的值后也要持續(xù)一段時(shí)間,然后再進(jìn)行加數(shù),如此循環(huán)下去。7.4、方波的實(shí)現(xiàn)過(guò)程此波形的實(shí)現(xiàn)更加簡(jiǎn)單,只需開(kāi)始的時(shí)候設(shè)置一個(gè)初值然后直接輸出這個(gè)值就 行了,輸出一段時(shí)間后,然后再重新置一個(gè)數(shù)據(jù),然后再輸出這個(gè)數(shù)據(jù)一段時(shí)間,但是此時(shí)的時(shí)間一定要等于前面那段時(shí)間。這樣才是一個(gè)方波,如果兩個(gè)時(shí)間不相 同,那就相當(dāng)于一個(gè)脈沖波了。流程圖如下圖所示:設(shè)箱也詢(xún)時(shí)聞F嵋出一厭時(shí)閶7.
14、5、正弦波的實(shí)驗(yàn)過(guò)程正弦波的實(shí)現(xiàn)則相對(duì)比較復(fù)雜,因?yàn)檎也ǖ膶?shí)現(xiàn)是輸出各個(gè)點(diǎn)的值就行了, 可是各個(gè)點(diǎn)值則要通過(guò)正弦函數(shù)來(lái)求出,不過(guò)這些值直接去網(wǎng)上下載下來(lái)使用就可 以了。輸出的數(shù)據(jù)剛好是256個(gè)數(shù)據(jù),這樣則可以直接相加就行了。7.6通過(guò)開(kāi)關(guān)實(shí)現(xiàn)波形切換和調(diào)頻、調(diào)幅通過(guò)開(kāi)關(guān)實(shí)現(xiàn)波形的切換比較簡(jiǎn)單只需通過(guò)輸出波形后不斷返回到檢測(cè)開(kāi)關(guān)的 子程序中,判斷是否有別的開(kāi)關(guān)撥動(dòng),如果有別的開(kāi)關(guān)撥動(dòng)則執(zhí)行別的程序,否則 輸出原來(lái)的波形,不過(guò)如果要能夠識(shí)別別的開(kāi)關(guān)發(fā)生變化,必須將此開(kāi)關(guān)關(guān)掉否則 會(huì)識(shí)別不了別的鍵按下。當(dāng)然開(kāi)關(guān)的調(diào)頻和調(diào)幅的實(shí)現(xiàn)也一樣,不過(guò)首先先輸出一 個(gè)波形,然后再檢測(cè)開(kāi)關(guān)是否需要調(diào)頻或者調(diào)幅,
15、如果需要?jiǎng)t轉(zhuǎn)入到相應(yīng)的程序 中,最后再重新輸出波形。F面是調(diào)頻和調(diào)幅:下面要實(shí)現(xiàn)的各種波形通過(guò)開(kāi)關(guān)的切換過(guò)程的流程圖,按下一個(gè)開(kāi)關(guān)通過(guò)P3.0為1則輸出鋸齒波,P3.1為1輸出三角波,P3.2為1輸出梯形波,P3.3為1輸出 方波,P3.4為1輸出正弦波。八、程序調(diào)試步驟與運(yùn)行結(jié)果8.1、調(diào)試步驟(1、按照實(shí)驗(yàn)原理圖及電路圖和接線步驟連好實(shí)驗(yàn)線路。(2、把設(shè)計(jì)好的程序放在兩個(gè)地方:一是在系統(tǒng)監(jiān)控中,二是在上位機(jī)實(shí)驗(yàn)系 統(tǒng)軟件中。(3、運(yùn)行“DVCC實(shí)驗(yàn)系統(tǒng)”稍后出現(xiàn)“DVCC實(shí)驗(yàn)系統(tǒng)”菜單。打開(kāi)存放的課 設(shè)程序。(4、打開(kāi)實(shí)驗(yàn)箱外置電源,顯示器顯示閃動(dòng)的“P.,按下“RSET復(fù)位鍵,然后按下“
16、PCDBG功能鍵,再點(diǎn)擊系統(tǒng)菜單中的 聯(lián)接”此時(shí)出現(xiàn) 寄存器窗口 ” 反匯編窗口 ”和 數(shù)據(jù)窗口 ”等,說(shuō)明聯(lián)機(jī)成功。再點(diǎn) 編譯”和調(diào)試”將目標(biāo)文件 傳送到實(shí)驗(yàn)系統(tǒng)的仿真RAM區(qū)。最后點(diǎn)擊運(yùn)行”將輸出端連接到示波器,觀察 波形是否滿足設(shè)計(jì)要求。8.2、運(yùn)行結(jié)果根據(jù)P3口內(nèi)容判斷波形輸出,P3.0=1時(shí),為鋸齒波;P3.1=1時(shí),為三角波;P3.2=1時(shí),為梯形波;P3.3=1時(shí),為方波;P3.4=1時(shí),為正弦波。根據(jù)P3.5的值 進(jìn)行頻率與振幅的改變,改變當(dāng)前波形頻率,改變當(dāng)前波形振幅。各個(gè)波形的運(yùn)行 情況如下:(1原始三角波振幅改變后(4、方波原始大小及調(diào)頻調(diào)幅后的波形:(4、梯形波原始大小
17、及調(diào)頻調(diào)幅后的波形:九、課程設(shè)計(jì)體會(huì)一個(gè)星期的課程設(shè)計(jì)很快就這樣過(guò)去了,經(jīng)過(guò)此課程設(shè)計(jì)我已經(jīng)了解了DAC0832的基本的功能的實(shí)現(xiàn)和開(kāi)關(guān)的操作。以此在實(shí)現(xiàn)這些功能時(shí),我遇到了 一些問(wèn)題,這些問(wèn)題困擾了我好久。我的實(shí)現(xiàn)步驟就是首先能夠讓示波器能夠輸出 一些基本的波形,首先檢查一下示波器是否是好的,檢測(cè)方法:將探頭插到示波器 的一個(gè)接口處,然后調(diào)示波器如果能夠出來(lái)一個(gè)矩形波則說(shuō)明示波器沒(méi)有問(wèn)題,下 面就可以編寫(xiě)程序,實(shí)現(xiàn)各個(gè)波形的輸出,不過(guò)在實(shí)現(xiàn)第二步時(shí)發(fā)現(xiàn)一個(gè)問(wèn)題就是 示波器沒(méi)有問(wèn)題,可是運(yùn)行程序時(shí)波形就是沒(méi)有輸出,我不斷的檢查電路,首先從 線開(kāi)始著手,檢查一下這些線內(nèi)部是否時(shí)導(dǎo)通的,后來(lái)發(fā)現(xiàn)沒(méi)
18、有問(wèn)題,接著就是檢 查8031單片機(jī)是否有問(wèn)題,檢測(cè)方法是將單片機(jī)的ALE端口作為輸出端,我檢測(cè) 到有波形輸出,這說(shuō)明單片機(jī)沒(méi)有問(wèn)題,最后就是檢查DAC0832是否有問(wèn)題,通過(guò)運(yùn)行系統(tǒng)自帶的程序,后來(lái)發(fā)現(xiàn)DAC0832的AOUT端口能夠輸出,這又檢測(cè)到 了DAC0832沒(méi)有問(wèn)題,后來(lái)我就無(wú)計(jì)可施了,只能請(qǐng)教老師,結(jié)果經(jīng)老師檢查發(fā) 現(xiàn)有一個(gè)根線接錯(cuò)了,D/A區(qū)的Vref應(yīng)該和+5V相連接,還有就是一個(gè)開(kāi)關(guān)給撥 動(dòng)了。當(dāng)然還有一些問(wèn)題就是系統(tǒng)設(shè)置的問(wèn)題,因?yàn)镈AC0832的使用要接線實(shí)現(xiàn),所以在運(yùn)行之前一定要修改系統(tǒng)設(shè)置,把它調(diào)成內(nèi)程序,外數(shù)據(jù)”,否則波形也不會(huì)輸出。后來(lái)調(diào)整一下就能夠輸出波形了。
19、就這樣我整整花1天的時(shí)間才解決了這個(gè)問(wèn)題。不過(guò)在運(yùn)行程序時(shí)必須知道怎樣調(diào)示波器,否則示波器不會(huì)調(diào)波形也 不會(huì)輸出。此次設(shè)計(jì)可以說(shuō)是理論知識(shí)與動(dòng)手能力的一次綜合演練,它要求我們不 但要掌握其設(shè)計(jì)原理,能編出相應(yīng)的源程序,還要求我們有一定的硬件知識(shí),能動(dòng) 手設(shè)計(jì)線路并搭建好。后來(lái)還有一個(gè)問(wèn)題就是調(diào)頻調(diào)幅的問(wèn)題,由于我開(kāi)始在程序當(dāng)中設(shè)置的值過(guò)小 導(dǎo)致后來(lái)我在示波器上看到的波形調(diào)頻后效果不是非常的明顯,后來(lái)我檢查完了之 后我又自己在電腦上進(jìn)行修改程序調(diào)試終于把這個(gè)問(wèn)題解決了。最后,我覺(jué)得一個(gè)星期的時(shí)間雖然過(guò)的很快但是非常的充實(shí)。在這里再一次感 謝周老師的指導(dǎo)和同學(xué)的幫助。十、參考文獻(xiàn)1、主編:張毅剛,
20、副主編:彭喜元,董繼成 育出版社。2、主編:胡輝單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與訓(xùn)練3、主編:周航慈單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù) 十一、源代碼及注釋波形輸出程序和切換:ORG 0000H;程序開(kāi)始MOV SP,#60H;設(shè)置堆棧MOV DPTR,#8000H;0832的地址LOP: JB P3.5,TIAO;是否需要調(diào)頻MOV R6,#01H;設(shè)置步長(zhǎng)MOV R5,#01HSTART:JB P3.0,JCHI ;輸出鋸齒波程序JB P3.1,SJIAO ;輸出三角波程序JB P3.2,TXING ;輸出梯形波程序JB P3.3,FBO ;輸出方波程序JB P3.4,ZXUAN ;輸出正弦波程序單片機(jī)原理及應(yīng)用,
21、高等教中國(guó)水利水電出版社北京航空航天大學(xué)出版社SJMP LOP;循環(huán)檢測(cè)JCHI:MOV A,#OOH;設(shè)置初值LOOP:MOVX DPTR,A;把數(shù)據(jù)送到端口轉(zhuǎn)換ADD A,R6;通過(guò)步長(zhǎng)改變數(shù)據(jù),上升波形CJNE A,#00H,LOOP;A值是否到最高點(diǎn);DJNZ R5,L OOPSJMP LOP;返回檢測(cè)開(kāi)關(guān)SJIAO:MOV A,#00H;設(shè)置初值LOOP3:MOVX DPTR,A;把數(shù)據(jù)送到端口轉(zhuǎn)換ADD A,R6;通過(guò)步長(zhǎng)改變數(shù)據(jù)上升波形CJNE A,#00H,LOOP3;A值是否到最高點(diǎn)DEC A;減少步長(zhǎng)改變數(shù)據(jù)下降波形LOOP2:MOVX DPTR,A;把數(shù)據(jù)送到端口轉(zhuǎn)換DE
22、C A;減少步長(zhǎng)改變數(shù)據(jù)下降波形CJNE A,#00H,LOOP2;A值是否到最低點(diǎn)DJNZ R5,LOOP3;波形周期SJMP LOP;返回檢測(cè)開(kāi)關(guān)TXING:MOV A,#00H;設(shè)置初值LOOP4:MOVX DPTR,A;把數(shù)據(jù)送到端口轉(zhuǎn)換ADD A,R6;增加步長(zhǎng)改變數(shù)據(jù)上升波形CJNE A,#00H,LOOP4;A值是否到最高點(diǎn);SUBB A,R6;下降波形做準(zhǔn)備DEC AMOV R7,0EEH;循環(huán)次數(shù)LOP2:MOVX DPTR,A;進(jìn)行延時(shí)DJNZ R7,LOP2LOOP1:MOVX DPTR,A;把數(shù)據(jù)送到端口轉(zhuǎn)換;SUBB A,R6DEC ACJNE A,#00H,LOOP
23、1;是否到最低點(diǎn)MOV R7,0EEH;循環(huán)次數(shù)LOP1:MOVX DPTR,A;把數(shù)據(jù)送到端口轉(zhuǎn)換DJNZ R7,LOP1;進(jìn)行延時(shí)SJMP LOP;返回檢測(cè)開(kāi)關(guān)FBO: MOV A,#00H;設(shè)置初值最低點(diǎn)MOV R7,#0EEH;循環(huán)次數(shù)LOOP5:MOVX DPTR,A;進(jìn)行數(shù)據(jù)轉(zhuǎn)換DJNZ R7,LOOP5;進(jìn)行延時(shí)MOV A,#0FFH;設(shè)置最高點(diǎn)MOV R7,#0EEH;循環(huán)次數(shù)LOOP6:MOVX DPTR,A;進(jìn)行數(shù)據(jù)轉(zhuǎn)換DJNZ R7,LOOP6;進(jìn)行延時(shí)MOV A,#00HSJMP LOP;返回檢測(cè)開(kāi)關(guān)變化單片機(jī)課程設(shè)計(jì)報(bào)告20;-ZXUAN: MOV A,#00H;設(shè)置
24、初值LOOP7: MOV R7,A;保存當(dāng)前的數(shù)據(jù)MOV DPTR,#SIN;讀取表的地址MOVCA,A+DPTR;讀取表中的數(shù)據(jù)MOV DPTR,#8000H;D/A0832的端口地 址MOVXDPTR,A;進(jìn)行數(shù)據(jù)轉(zhuǎn)換MOV A,R7;恢復(fù)當(dāng)前數(shù)據(jù)INC A;為讀取 表的下一個(gè)值做準(zhǔn)備CJNE A,#00H,LOOP7是否讀完表的數(shù)據(jù)SJMP START;返 回檢測(cè)開(kāi)關(guān)TIAO: MOVR6,#04H;改變調(diào)頻/調(diào)幅MOV R5,#02H SJMP START; 返回檢測(cè)開(kāi)關(guān);以下是通過(guò)正弦的值所建立的一個(gè)表SIN: DB80H,83H,86H,89H,8DH,90H,93H,96H DB
25、99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEHDBB1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5HDB0C7H,0CAH,0CCH,0CFH,0D1H, 0D4H,0D6H,0D8H DB0DAH,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 DB0FDH,0FEH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FDH DB 0FDH,0FCH,0FBH,0FAH,0F9H, 0F8H,0F7H,0F6H DB0F5H,0F4H,0F2H,0F1H,0EFH, 0EEH,0ECH,0EAH DB 0E9H,0E7H,0E5H,0E3H,0E1H,0DEH,0DDH,0DAH DB
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五國(guó)家土地征收合同
- 房屋所有權(quán)確認(rèn)協(xié)議書(shū)二零二五年
- 2024四川宜賓市南溪區(qū)千福實(shí)業(yè)發(fā)展有限責(zé)任公司招聘3人筆試參考題庫(kù)附帶答案詳解
- 2024中鋁鐵礦西芒杜項(xiàng)目公開(kāi)招聘13人筆試參考題庫(kù)附帶答案詳解
- 2024中國(guó)建筑一局(集團(tuán))有限公司總部項(xiàng)目管理部副經(jīng)理招聘筆試參考題庫(kù)附帶答案詳解
- 中醫(yī)護(hù)理經(jīng)典案例分享
- 塑木鋪地施工方案
- 露臺(tái)放水施工方案
- 隧洞排險(xiǎn)施工方案
- 康復(fù)科氣切護(hù)理
- 砌體結(jié)構(gòu)檢測(cè)試題及答案
- 跌倒墜床的預(yù)防及護(hù)理
- DB32T 5061.1-2025 中小學(xué)生健康管理技術(shù)規(guī)范 第1部分:心理健康
- 2025年寧波職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)審定版
- 2025年洛陽(yáng)科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及答案(考點(diǎn)梳理)
- 二零二五年度商業(yè)地產(chǎn)租賃合同模板:詳細(xì)條款與風(fēng)險(xiǎn)防范指南3篇
- 上海外服筆試題目
- 《伯努利方程》課件
- 2025年浙江廣播電視集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 初中生心理健康教育講座課件
- 品管圈PDCA案例-提高成人術(shù)后疼痛評(píng)估與護(hù)理規(guī)范率醫(yī)院品質(zhì)管理成果匯報(bào)
評(píng)論
0/150
提交評(píng)論