版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 單片機(jī)課程設(shè)計(jì)報(bào)告</b></p><p> 題 目 波形生器的設(shè)計(jì) </p><p> 專(zhuān) 業(yè) 電氣工程及其自動(dòng)化 </p><p> 班 級(jí) 電氣093 </p><p> 學(xué) 號(hào)
2、 </p><p> 學(xué)生姓名 </p><p> 指導(dǎo)教師 </p><p><b> 一、設(shè)計(jì)目的</b></p><p> 培養(yǎng)學(xué)生理論聯(lián)系實(shí)際,用所學(xué)的知識(shí)和自身課外的拓展學(xué)習(xí)加深對(duì)專(zhuān)業(yè)課的理解
3、和學(xué)習(xí);訓(xùn)練綜合運(yùn)用電路設(shè)計(jì)及相關(guān)電子儀器,51單片機(jī)軟硬件結(jié)合的理論,結(jié)合生產(chǎn)實(shí)際分析和解決工程實(shí)際問(wèn)題的能力,鞏固,加深和擴(kuò)展有關(guān)電子類(lèi),匯編語(yǔ)言,相關(guān)電子線(xiàn)路和仿真軟件方面的知識(shí)和能力。</p><p> 通過(guò)本次課程設(shè)計(jì),應(yīng)加強(qiáng)培養(yǎng)學(xué)生如下的能力:</p><p> 1.加強(qiáng)自身獨(dú)立的動(dòng)手能力和思考解決問(wèn)題的能力</p><p> 2.提高學(xué)生的創(chuàng)造能
4、力</p><p> 3.學(xué)會(huì)使用PROTEUS軟件及其與keil軟件的聯(lián)合調(diào)試和仿真</p><p> 二、設(shè)計(jì)的主要內(nèi)容和要求</p><p><b> 1、題目要求</b></p><p> ?。?)設(shè)計(jì)一款能產(chǎn)生3種以三種以上波形的信號(hào)發(fā)生器</p><p> ?。?)設(shè)計(jì)波形選擇按
5、鈕</p><p> (3)LED/LCD顯示波形代號(hào)</p><p><b> ?。?)其他功能</b></p><p> 注:實(shí)現(xiàn)的功能有,共產(chǎn)生5種波形,1號(hào)鋸齒波、2號(hào)三角波、3號(hào)梯形波、4號(hào)方波、5號(hào)正弦波,分別對(duì)應(yīng)五個(gè)開(kāi)關(guān)K1、K2、K3、K4、K5,用三個(gè)LED燈二進(jìn)制數(shù)表示波形代號(hào)(亮為1滅為0),另增加了調(diào)幅調(diào)頻功能用開(kāi)關(guān)
6、K0控制</p><p> 2、設(shè)計(jì)的指標(biāo)和要求</p><p> (1)使用MSC-51單片機(jī)系統(tǒng)和相關(guān)電子器件,如:D/A,A/D轉(zhuǎn)換器,數(shù)碼管或液晶顯示器,運(yùn)算放大器,示波器等。</p><p> ?。?)設(shè)計(jì)電路使其能產(chǎn)生三角波,鋸齒波,方波,正弦波,并實(shí)現(xiàn)四者之間的轉(zhuǎn)換,且要求在產(chǎn)生相應(yīng)波形時(shí)用LED或LCD顯示對(duì)應(yīng)的波形編號(hào)。 <
7、/p><p> ?。?)編寫(xiě)匯編程序并進(jìn)行軟硬件聯(lián)合(調(diào)試也可用C語(yǔ)言,用PROTEUS和KEIL編程軟件聯(lián)合調(diào)試) </p><p><b> 三、總體設(shè)計(jì)思路</b></p><p><b> 1、總體功能框圖</b></p><p> 共用了六個(gè)開(kāi)關(guān),K1控制輸出鋸齒波、K2控制輸出三角波、
8、K3</p><p> 控制輸出梯形波、K4控制輸出方波、K5控制輸出正弦波、K0控</p><p> 制幅度和頻率的調(diào)節(jié),該設(shè)計(jì)總功能框圖如下:</p><p><b> 2、主要設(shè)計(jì)思想</b></p><p> ?。?)波形的產(chǎn)生方式:</p><p> a、產(chǎn)生鋸齒波:先給端口一個(gè)
9、初值00H,然后使其不斷加1,直到溢出自動(dòng)跳回00H,循環(huán)連續(xù)產(chǎn)生鋸齒波。</p><p> b、產(chǎn)生三角波:同樣先給端口初值00H,再不斷加1,到FFH再減1,循環(huán)即可產(chǎn)生連續(xù)三角波。</p><p> c、產(chǎn)生梯形波:給端口初值00H,加1直到EEH,不斷給端口送這一值,即產(chǎn)生一段時(shí)間的延遲,在減1形成下降部分,再延遲一段時(shí)間。若想產(chǎn)生不等腰梯形可使加、減的步長(zhǎng)不等。</p&
10、gt;<p> d、產(chǎn)生方波:給端口送不等的數(shù)值:如先給00H,再給FFH,延遲相同時(shí)間即可產(chǎn)生方波,倆數(shù)值不同波的幅度就不同。</p><p> e、產(chǎn)生正弦波:如果令單片機(jī)通過(guò)公式計(jì)算再輸出值的話(huà),計(jì)算會(huì)用去大量時(shí)間,會(huì)是頻率下降,影響波形精度。故預(yù)先采點(diǎn)計(jì)算其值再通過(guò)查表的方式一由端口輸出數(shù)值,這樣輸出的波形就比較精確且不會(huì)很耗時(shí),采點(diǎn)越多圖形就越精確,同間隔的去掉一些點(diǎn)就可以提高頻率,增
11、加一些點(diǎn)就降低頻率。查表則是通過(guò)改變地址修正量來(lái)實(shí)現(xiàn)。</p><p> f、調(diào)幅調(diào)頻:將步長(zhǎng)放在R5、R6中,調(diào)用調(diào)節(jié)程序時(shí)調(diào)節(jié)寄存器中值即可。</p><p> ?。?)這樣由端口輸出的是數(shù)字量,想得到相應(yīng)波形就緒將數(shù)字量轉(zhuǎn)化成模擬量這就需要一個(gè)數(shù)模轉(zhuǎn)換器。</p><p> (3)控制輸出波形種類(lèi):由開(kāi)關(guān)手動(dòng)控制想要的波形,再由單片機(jī)循環(huán)掃描查詢(xún)的方式接收
12、命令,再控制輸出相應(yīng)波形。</p><p> (4)顯示波形代號(hào):通過(guò)三個(gè)發(fā)光二極管用二進(jìn)制數(shù)表示5種波形。</p><p><b> 四、硬件電路設(shè)計(jì)</b></p><p><b> 以下按模塊說(shuō)明:</b></p><p> 1、核心控制模塊:用AT89C51做核心控制,</p&
13、gt;<p> 由于是已學(xué)芯片這里就不再贅述,值得指出的是MCS-51系列單片機(jī)片外引腳可以構(gòu)成如上圖所示的三總線(xiàn)結(jié)構(gòu):</p><p> 地址總線(xiàn)(AB) 數(shù)據(jù)總線(xiàn)(DB) 控制總線(xiàn)(CB)</p><p> 8031各個(gè)口的功能定義</p><p> P0口:雙向8位三態(tài)I/O口,此口為地址總線(xiàn)(低8位)及數(shù)據(jù)總線(xiàn)分時(shí)復(fù)用口,可
14、帶8個(gè)LSTTL負(fù)載。</p><p> P1口:8位準(zhǔn)雙向I/O口,可帶4個(gè) LSTTTL負(fù)載。</p><p> P2口:8位準(zhǔn)雙向I/O口,與地址總線(xiàn)(高8位)復(fù)用。</p><p> P3口:8位準(zhǔn)雙向I/O口,雙功能復(fù)用口。</p><p> 2、數(shù)模轉(zhuǎn)化模塊:我們用數(shù)模轉(zhuǎn)換器DAC0832來(lái)實(shí)現(xiàn),</p>&
15、lt;p> (1) DAC0832芯片:</p><p> DAC0832是8分辨率的D/A轉(zhuǎn)換集成芯片。與微處理器完全兼容。這個(gè)DA芯片以其價(jià)格低廉、接口簡(jiǎn)單、轉(zhuǎn)換控制容易等優(yōu)點(diǎn),在單片機(jī)應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用。D/A轉(zhuǎn)換器由8位輸入鎖存器、8位DAC寄存器、8位D/A轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成。</p><p> ?。?) DAC0832的主要特性參數(shù)如下:</p&g
16、t;<p><b> 分辨率為8位;</b></p><p> 電流穩(wěn)定時(shí)間1us;</p><p> 可單緩沖、雙緩沖或直接數(shù)字輸入;</p><p> 只需在滿(mǎn)量程下調(diào)整其線(xiàn)性度;</p><p> 單一電源供電(+5V~+15V);</p><p> 低功耗,200
17、mW。</p><p> ?。?) DAC0832結(jié)構(gòu): </p><p> D0~D7:8位數(shù)據(jù)輸入線(xiàn),TTL電平,有效時(shí)間應(yīng)大于90ns(否則鎖存器的數(shù)據(jù)會(huì)出錯(cuò));</p><p> ILE:數(shù)據(jù)鎖存允許控制信號(hào)輸入線(xiàn),高電平有效;</p><p> CS:片選信號(hào)輸入線(xiàn)(選通數(shù)據(jù)鎖存器),低電平有效;</p>&l
18、t;p> WR1:數(shù)據(jù)鎖存器寫(xiě)選通輸入線(xiàn),負(fù)脈沖(脈寬應(yīng)大于500ns)有效。由ILE、CS、WR1的邏輯組合產(chǎn)生LE1,當(dāng)LE1為高電平時(shí),數(shù)據(jù)鎖存器狀態(tài)隨輸入數(shù)據(jù)線(xiàn)變換,LE1的負(fù)跳變時(shí)將輸入數(shù)據(jù)鎖存;</p><p> XFER:數(shù)據(jù)傳輸控制信號(hào)輸入線(xiàn),低電平有效,負(fù)脈沖(脈寬應(yīng)大于500ns)有效;</p><p> WR2:DAC寄存器選通輸入線(xiàn),負(fù)脈沖(脈寬應(yīng)大于5
19、00ns)有效。由WR1、XFER的邏輯組合產(chǎn)生LE2,當(dāng)LE2為高電平時(shí),DAC寄存器的輸出隨寄存器的輸入而變化,LE2的負(fù)跳變時(shí)將數(shù)據(jù)鎖存器的內(nèi)容打入DAC寄存器并開(kāi)始D/A轉(zhuǎn)換。</p><p> IOUT1:電流輸出端1,其值隨DAC寄存器的內(nèi)容線(xiàn)性變化;</p><p> IOUT2:電流輸出端2,其值與IOUT1值之和為一常數(shù);</p><p>
20、Rfb:反饋信號(hào)輸入線(xiàn),改變Rfb端外接電阻值可調(diào)整轉(zhuǎn)換滿(mǎn)量程精度;</p><p> Vcc:電源輸入端,Vcc的范圍為+5V~+15V;</p><p> VREF:基準(zhǔn)電壓輸入線(xiàn),VREF的范圍為-10V~+10V;</p><p> AGND:模擬信號(hào)地</p><p> DGND:數(shù)字信號(hào)地</p><p
21、> ?。?) DAC0832的工作方式:</p><p> 根據(jù)對(duì)DAC0832的數(shù)據(jù)鎖存器和DAC寄存器的不同的控制方式,DAC0832有三種工作方式:直通方式、單緩沖方式和雙緩沖方式</p><p><b> 3、濾波模塊:</b></p><p> 通過(guò)二級(jí)運(yùn)放實(shí)現(xiàn)濾波功能。同時(shí)由于DAC0832的out1和out2輸出的是電
22、流值,需將其轉(zhuǎn)化為電壓幅度,從而得波形。</p><p> 4、顯示波形代號(hào)模塊:</p><p> 通過(guò)三個(gè)發(fā)光二極管的亮滅,亮為1滅為0,表示二進(jìn)制數(shù),從而表示波形代號(hào),如圖,D3、D2滅D1亮,為001,即是1號(hào)波形:鋸齒波。依此類(lèi)推。</p><p> 詳細(xì)硬件原理圖見(jiàn)附錄1!</p><p> 五、軟件設(shè)計(jì)及方框圖描述<
23、;/p><p> 1、鋸齒波的實(shí)現(xiàn)過(guò)程</p><p> 鋸齒波的實(shí)現(xiàn)過(guò)程是首先定義一個(gè)初值然后進(jìn)行加法操作,加的步數(shù)的多少則根據(jù)要求的頻率來(lái)進(jìn)行。然后加到某個(gè)數(shù)之后就再重新設(shè)置為初值,再重復(fù)執(zhí)行剛剛的操作,如此循環(huán)下去。流程圖如下所示:</p><p> 2、三角波的實(shí)現(xiàn)過(guò)程</p><p> 三角波的實(shí)現(xiàn)是設(shè)置一個(gè)初值,然后進(jìn)行加數(shù),
24、同樣是加到某個(gè)數(shù)之后再進(jìn)行減數(shù),減到初值之后就再返回到先前的操作,這個(gè)操作跟鋸齒波的實(shí)現(xiàn)是相似的。此程序輸入的VREF的電壓是+5V,因此該波形輸出的最大頻率是初值為00H和最終值為0FFH,且步數(shù)為1,這樣輸出的波形是最大的。</p><p> 程序流程圖如下圖所示:</p><p> 3、梯形波的實(shí)現(xiàn)過(guò)程</p><p> 梯形波輸出跟鋸齒波和三角波相似,
25、只不過(guò)當(dāng)加到頂峰后的一段時(shí)間內(nèi)不改變A的值,過(guò)了一段時(shí)間后再將減少A的值,不過(guò)先后的步數(shù)可以一樣也可以不一樣。然后減到初始的值后也要持續(xù)一段時(shí)間,然后再進(jìn)行加數(shù),如此循環(huán)下去。</p><p><b> 4、方波的實(shí)現(xiàn)過(guò)程</b></p><p> 此波形的實(shí)現(xiàn)更加簡(jiǎn)單,只需開(kāi)始的時(shí)候設(shè)置一個(gè)初值然后直接輸出這個(gè)值就行了,輸出一段時(shí)間后,然后再重新置一個(gè)數(shù)據(jù),然后
26、再輸出這個(gè)數(shù)據(jù)一段時(shí)間,但是此時(shí)的時(shí)間一定要等于前面那段時(shí)間。這樣才是一個(gè)方波,如果兩個(gè)時(shí)間不相同,那就相當(dāng)于一個(gè)脈沖波了。流程圖如下圖所示:</p><p> 5、正弦波的實(shí)驗(yàn)過(guò)程</p><p> 正弦波的實(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ù),這樣則可以
27、直接相加就行了。</p><p> 6、波形切換和調(diào)頻、調(diào)幅</p><p> 通過(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)是
28、否需要調(diào)頻或者調(diào)幅,如果需要?jiǎng)t轉(zhuǎn)入到相應(yīng)的程序中,最后再重新輸出波形。</p><p><b> 下面是調(diào)頻和調(diào)幅:</b></p><p> 下面要實(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輸出正弦波。</p><p&g
29、t;<b> 六、系統(tǒng)仿真:</b></p><p> 按照硬件接線(xiàn)在proteus中選相應(yīng)元件連線(xiàn)畫(huà)原理圖,再在keil中輸程序,將keil和proteus聯(lián)起來(lái)進(jìn)行仿真,連接步驟如下:</p><p> 進(jìn)入keil開(kāi)發(fā)環(huán)境,創(chuàng)建一個(gè)新工程project,會(huì)出現(xiàn)target1,輸入程序,以.asm格式保存,右擊target1中的source group 1,
30、選all files to group”souce group 1”將剛建的.asm文件包含其中,再點(diǎn),如下對(duì)話(huà)框,選中createHEX Fi,創(chuàng)建HEX文件。</p><p> 在編譯鏈接。后轉(zhuǎn)到proteus,雙擊單片機(jī),將剛建的HEX文件包含進(jìn)去,即可運(yùn)行仿真了。</p><p><b> 仿真結(jié)果如下:</b></p><p>&
31、lt;b> a、鋸齒波</b></p><p><b> b、三角波:</b></p><p><b> c、梯形波:</b></p><p><b> d、方波:</b></p><p><b> e、正弦波:</b><
32、/p><p> f、調(diào)幅、調(diào)頻對(duì)比圖:</p><p> 按下k0,改變步長(zhǎng),實(shí)現(xiàn)調(diào)幅調(diào)頻功能。</p><p> 七、系統(tǒng)調(diào)試及問(wèn)題分析總結(jié):</p><p> 1、最初發(fā)光二極管出現(xiàn)問(wèn)題,不能控制亮滅,后采用共陰接法,通過(guò)給控制端口清零和置一來(lái)控制燈,端口清零燈滅,置一燈亮。</p><p> 2、波形混亂,
33、后發(fā)現(xiàn)問(wèn)題:a、輸出端口的一級(jí)放大電路應(yīng)反饋到DAC0832的rfb端。b、運(yùn)算放大器負(fù)反饋,陽(yáng)極接地。c、要用二級(jí)運(yùn)算放大電路。</p><p> 3、最大的困難其實(shí)是對(duì)軟件不熟悉,耗費(fèi)了很大功夫,查閱大量資料,才會(huì)用。</p><p> 4、畫(huà)原理圖時(shí)一定要認(rèn)真細(xì)心,曾因?yàn)橐粋€(gè)接地沒(méi)有接上而耗費(fèi)了一天時(shí)間才查到錯(cuò)誤,所以,接線(xiàn)時(shí)不能嫌麻煩,不能投機(jī)取巧,一定要按部就班。</p
34、><p><b> 八、設(shè)計(jì)總結(jié):</b></p><p> 三天的單片機(jī)課設(shè)時(shí)間雖不長(zhǎng),但卻讓我們學(xué)到很多東西,最大膽收獲應(yīng)該是初步熟悉了keil和proteus的應(yīng)用,為以后的學(xué)習(xí)和研究打下了基礎(chǔ),同時(shí)也多了實(shí)驗(yàn)驗(yàn)證方法,proteus仿真確實(shí)好用。</p><p> 我們平時(shí)在課本上學(xué)到的只限于基礎(chǔ)知識(shí),要應(yīng)用、研究是遠(yuǎn)遠(yuǎn)不夠的,通過(guò)這
35、次課設(shè)我們每個(gè)人做一個(gè)課題,通過(guò)課題要求,在實(shí)現(xiàn)要求功能的同時(shí)不僅鞏固了基礎(chǔ)知識(shí),給豐富了理論知識(shí),也為理論知識(shí)得到了初步的驗(yàn)證,若時(shí)間充足能結(jié)合硬件應(yīng)該會(huì)有更大的收獲,和自身能力的提高。</p><p> 通過(guò)這次課設(shè)更讓我體會(huì)到研究的精神,一定要細(xì)心,耐心,有恒心,遇到問(wèn)題不是放棄不做也不是馬上去問(wèn)別人,自己專(zhuān)心思考查錯(cuò),最后解決問(wèn)題時(shí)的喜悅是無(wú)法比擬的,只有堅(jiān)持不放棄,才能得到成功!</p>
36、<p> ORG 0000H ;程序開(kāi)始</p><p> MOV SP,#60H ;設(shè)置堆棧</p><p> MOV DPTR,#8000H ;0832的地址</p><p><b> SETB P3.5</b></p><p> MOV R6,#
37、01H ;設(shè)置步長(zhǎng)</p><p> MOV R5,#03H </p><p> START:MOV P1,#00H ;令燈全滅</p><p> JNB P1.0,JCHI ;輸出鋸齒波程序</p><p> JNB P1.1,SJIAO ;輸出三角波程序</p&
38、gt;<p> JNB P1.2,TXING ;輸出梯形波程序</p><p> JNB P1.3,FBO ;輸出方波程序</p><p> JNB P1.4,ZXIAN ;輸出正弦波程序</p><p> LOP: JNB P3.5,TURN ;是否需要調(diào)頻 </p>
39、<p> SJMP START ;循環(huán)檢測(cè)</p><p> ;------------------------</p><p> JCHI:SETB P1.7 ;D1亮,001,鋸齒波代號(hào)為1</p><p><b> CLR P1.5</b></p><p&
40、gt;<b> CLR P1.6</b></p><p> MOV A,#00H ;設(shè)置初值</p><p> LOOP:MOVX @DPTR,A ;把數(shù)據(jù)送到端口轉(zhuǎn)換</p><p> ADD A,R6 ;通過(guò)步長(zhǎng)改變數(shù)據(jù),上升波形</p><p>
41、 CJNE A,#00H,LOOP ;A值是否到最高點(diǎn)</p><p> DJNZ R5,LOOP</p><p> SJMP LOP ;返回檢測(cè)開(kāi)關(guān)</p><p> ;-----------------------</p><p> SJIAO:SETB P1.6 ;
42、D2亮,010,三角波代號(hào)為2</p><p><b> CLR P1.5</b></p><p><b> CLR P1.7 </b></p><p> MOV A,#00H ;設(shè)置初值</p><p> LOOP3:MOVX @DPTR,A ;把數(shù)據(jù)送到端口
43、轉(zhuǎn)換</p><p> ADD A,R6 ;通過(guò)步長(zhǎng)改變數(shù)據(jù)上升波形</p><p> CJNE A,#00H,LOOP3 ; A值是否到最高點(diǎn)</p><p> DEC A ;減少步長(zhǎng)改變數(shù)據(jù)下降波形</p><p> LOOP2:MOVX @DPTR,A
44、;把數(shù)據(jù)送到端口轉(zhuǎn)換</p><p> DEC A ;減少步長(zhǎng)改變數(shù)據(jù)下降波形</p><p> CJNE A,#00H,LOOP2 ;A值是否到最低點(diǎn) </p><p> DJNZ R5,LOOP3 ;波形周期</p><p> SJMP LOP
45、 ;返回檢測(cè)開(kāi)關(guān)</p><p> ;---------------------------</p><p> TXING:SETB P1.7</p><p> SETB P1.6 ;D1 D2亮,011,梯形波代號(hào)3</p><p><b> CLR P1.5</b></p>
46、;<p> MOV A,#00H ;設(shè)置初值</p><p> LOOP4:MOVX @DPTR,A ;把數(shù)據(jù)送到端口轉(zhuǎn)換</p><p> ADD A,R6 ;增加步長(zhǎng)改變數(shù)據(jù)上升波形</p><p> CJNE A,#0EEH,LOOP4 ;A值是否到最高點(diǎn)</p>
47、;<p> MOV R7, 0EEH ;循環(huán)次數(shù)</p><p> LOP2: MOVX @DPTR,A ;進(jìn)行延時(shí)</p><p> DJNZ R7,LOP2</p><p> LOOP1:MOVX @DPTR,A ;把數(shù)據(jù)送到端口轉(zhuǎn)換</p><p><b>
48、 SUBB A,R6</b></p><p><b> DEC A</b></p><p> CJNE A,#00H,LOOP1 ;是否到最低點(diǎn)</p><p> MOV R7,0EEH ;循環(huán)次數(shù)</p><p> LOP1: MOVX @DPTR,A ;把
49、數(shù)據(jù)送到端口轉(zhuǎn)換</p><p> DJNZ R7,LOP1 ;進(jìn)行延時(shí)</p><p> SJMP LOP ;返回檢測(cè)開(kāi)關(guān)</p><p> ;---------------------------------</p><p> FBO: SETB P1.5 ;D3
50、亮,100,方波代號(hào)4</p><p><b> CLR P1.6</b></p><p><b> CLR P1.7</b></p><p> MOV A,#00H ;設(shè)置初值最低點(diǎn)</p><p> MOV R7,#0EEH ;循環(huán)次數(shù)</p>
51、<p> LOOP5:MOVX @DPTR,A ;進(jìn)行數(shù)據(jù)轉(zhuǎn)換</p><p> DJNZ R7,LOOP5 ;進(jìn)行延時(shí)</p><p> MOV A,#0FFH ;設(shè)置最高點(diǎn)</p><p> MOV R7,#0EEH ;循環(huán)次數(shù)</p><p> LOOP6:MO
52、VX @DPTR,A ;進(jìn)行數(shù)據(jù)轉(zhuǎn)換</p><p> DJNZ R7,LOOP6 ;進(jìn)行延時(shí)</p><p> MOV A,#00H </p><p> SJMP LOP ;返回檢測(cè)開(kāi)關(guān)變化</p><p> ;-------------------------------<
53、/p><p> ZXIAN: SETB P1.5</p><p> SETB P1.7 ;D3,D1亮,101,正弦波代號(hào)5</p><p><b> CLR P1.6</b></p><p> MOV A,#00H ;設(shè)置初值</p><p> LOO
54、P7: MOV R7,A ;保存當(dāng)前的數(shù)據(jù)</p><p> MOV DPTR,#SIN ;讀取表的地址</p><p> MOVC A,@A+DPTR ;讀取表中的數(shù)據(jù)</p><p> MOV DPTR,#8000H ;D/A0832的端口地址</p><p> MOVX @DPTR,A
55、 ;進(jìn)行數(shù)據(jù)轉(zhuǎn)換</p><p> MOV A,R7 ;恢復(fù)當(dāng)前數(shù)據(jù)</p><p> INC A ;為讀取表的下一個(gè)值做準(zhǔn)備</p><p> CJNE A,#00H,LOOP7 ;是否讀完表的數(shù)據(jù)</p><p> AJMP LOP ;返回檢測(cè)開(kāi)關(guān)&l
56、t;/p><p> TURN: MOV A,R6 ;改變調(diào)頻/調(diào)幅</p><p> ADD A,#01H</p><p><b> MOV R6,A</b></p><p><b> MOV A,R5</b></p><p> ADD A,#01
57、H</p><p> MOV R5,A </p><p> AJMP START ;返回檢測(cè)開(kāi)關(guān)</p><p> ;--------以下是通過(guò)正弦的值所建立的一個(gè)表</p><p> SIN: DB 80H,83H,86H,89H,8DH,90H,93H,96H</p><p> DB 9
58、9H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH</p><p> DB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H</p><p> DB 0C7H,0CAH,0CCH,0CFH,0D1H, 0D4H,0D6H,0D8H</p><p> DB 0DAH,0DDH,0DFH,0E1H,0E3H, 0E
59、5H,0E7H,0E9H</p><p> DB 0EAH,0ECH,0EEH,0EFH,0F1H, 0F2H,0F4H,0F5H</p><p> DB 0F6H,0F7H,0F8H,0F9H,0FAH, 0FBH,0FCH,0FDH</p><p> DB 0FDH,0FEH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH</p>
60、<p> DB 0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FEH,0FDH</p><p> DB 0FDH,0FCH,0FBH,0FAH,0F9H, 0F8H,0F7H,0F6H</p><p> DB 0F5H,0F4H,0F2H,0F1H,0EFH, 0EEH,0ECH,0EAH</p><p> DB 0E9H,0
61、E7H,0E5H,0E3H,0E1H, 0DEH,0DDH,0DAH</p><p> DB 0D8H,0D6H,0D4H,0D1H,0CFH, 0CCH,0CAH,0C7H</p><p> DB 0C5H,0C2H,0BFH,0BCH,0BAH, 0B7H,0B4H,0B1H</p><p> DB 0AEH,0ABH,0A8H,0A5H,0A2H, 9F
62、H, 9CH, 99H</p><p> DB 96H, 93H, 90H, 8DH, 89H, 86H, 83H, 80H</p><p> DB 80H, 7CH, 79H, 78H, 72H, 6FH, 6CH, 69H</p><p> DB 66H, 63H, 60H, 5DH, 5AH, 57H, 55H, 51H</p><p
63、> DB 4EH, 4CH, 48H, 45H, 43H, 40H, 3DH, 3AH</p><p> DB 38H, 35H, 33H, 30H, 2EH, 2BH, 29H, 27H</p><p> DB 25H, 22H, 20H, 1EH, 1CH, 1AH, 18H, 16H</p><p> DB 15H, 13H, 11H, 10H,
64、 0EH, 0DH, 0BH, 0AH</p><p> DB 09H, 08H, 07H, 06H, 05H, 04H, 03H, 02H</p><p> DB 02H, 01H, 00H, 00H, 00H, 00H, 00H, 00H</p><p> DB 00H, 00H, 00H, 00H, 00H, 00H, 01H, 02H</p>
65、;<p> DB 02H, 03H, 04H, 05H, 06H, 07H, 08H, 09H</p><p> DB 0AH, 0BH, 0DH, 0EH, 10H, 11H, 13H, 15H</p><p> DB 16H, 18H, 1AH, 1CH, 1EH, 20H, 22H, 25H,27H, 29H, 2BH, 2EH, 30H, 33H, 35H, 3
66、8H</p><p> DB 3AH, 3DH, 40H, 43H, 45H, 48H, 4CH, 4EH</p><p> DB 51H, 55H, 57H, 5AH, 5DH, 60H, 63H, 66H</p><p> DB 69H, 6CH, 6FH, 72H, 76H, 79H, 7CH, 80H</p><p><b
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)報(bào)告---基于單片機(jī)的波形發(fā)生器
- 單片機(jī)課程設(shè)計(jì)報(bào)告--波形發(fā)生器
- 單片機(jī)波形發(fā)生器課程設(shè)計(jì)報(bào)告
- 單片機(jī)波形發(fā)生器課程設(shè)計(jì)報(bào)告 (2)
- 單片機(jī)課程設(shè)計(jì)(波形發(fā)生器)
- 單片機(jī)課程設(shè)計(jì)---波形發(fā)生器
- 單片機(jī)實(shí)現(xiàn)波形發(fā)生器的課程設(shè)計(jì)報(bào)告
- 單片機(jī)課程設(shè)計(jì)—波形發(fā)生器
- 課程設(shè)計(jì)--單片機(jī)波形發(fā)生器
- 單片機(jī)課程設(shè)計(jì)-波形發(fā)生器
- 單片機(jī)課程設(shè)計(jì)--波形發(fā)生器的設(shè)計(jì)
- 波形發(fā)生器的設(shè)計(jì)單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--簡(jiǎn)易波形發(fā)生器
- 單片機(jī)課程設(shè)計(jì)--多波形發(fā)生器
- 單片機(jī)課程設(shè)計(jì)---函數(shù)波形發(fā)生器
- 單片機(jī)優(yōu)質(zhì)課程設(shè)計(jì)波形發(fā)生器報(bào)告
- 基于單片機(jī)的波形發(fā)生器課程設(shè)計(jì)
- 課程設(shè)計(jì)基于單片機(jī)之波形發(fā)生器的設(shè)計(jì)
- 課程設(shè)計(jì)基于單片機(jī)之波形發(fā)生器的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論