




已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1,第十三講 簡(jiǎn)易數(shù)字信號(hào)發(fā)生器,單片機(jī)程序設(shè)計(jì)實(shí)踐教程,2,13.0 項(xiàng)目演示效果,圖XP_13_01 步驟1-插接短接片連接示波器探針,3,圖XP_13_02 步驟2-開機(jī)后系統(tǒng)默認(rèn)進(jìn)入正弦波發(fā)生模式,4,圖XP_13_03 步驟3-系統(tǒng)的三角波發(fā)生模式,5,圖XP_13_04 步驟4-系統(tǒng)的鋸齒波發(fā)生模式,6,圖XP_13_05 步驟5-系統(tǒng)的方波發(fā)生模式,7,13.1 項(xiàng)目目標(biāo)設(shè)計(jì),掌握DAC0832的工作原理和控制方式; 熟練掌握STC89C52RC的總線控制方法; 掌握示波器的基本使用方法; 理解給出的C語言源程序的結(jié)構(gòu)和各語句所起作用; 在達(dá)到以上四點(diǎn)目標(biāo)之后,根據(jù)本章“項(xiàng)目擴(kuò)展任務(wù)”中提出的問題,以組或個(gè)人為單位,在規(guī)定時(shí)間里完成擴(kuò)展項(xiàng)目任務(wù)。,8,13.2 項(xiàng)目任務(wù),圖13-1 簡(jiǎn)易數(shù)字信號(hào)發(fā)生器項(xiàng)目的電路原理圖,9,簡(jiǎn)易數(shù)字信號(hào)發(fā)生器項(xiàng)目的電路原理圖如圖13-1所示,簡(jiǎn)易數(shù)字信號(hào)發(fā)生器主要是借助于DAC0832數(shù)模轉(zhuǎn)換芯片來實(shí)現(xiàn)。數(shù)字量由STC89C52RC給出,通過DAC0832轉(zhuǎn)換為模擬量并由參考電壓Vrbf端輸出。通過示波器,可以觀測(cè)到由DAC0832的8腳產(chǎn)生的4種波形,這4種波形分別為正弦波、三角波、鋸齒波和方波。 可以通過開發(fā)板上的按鍵S2、S3和S4選擇三角波、鋸齒波和方波的輸出波形,S1、S5S16為正弦波選擇按鍵,程序應(yīng)實(shí)現(xiàn)按壓S1S16鍵時(shí),在數(shù)碼管的1和2位置顯示相應(yīng)鍵值。即, 按壓S1S16鍵,數(shù)碼管1和2位置顯示01,外接端子J3的1腳輸出正弦波。 按壓S2鍵,數(shù)碼管1和2位置顯示02,外接端子J3的1腳輸出三角波。 按壓S3鍵,數(shù)碼管1和2位置顯示03,外接端子J3的1腳輸出鋸齒波。 按壓S4鍵,數(shù)碼管1和2位置顯示04,外接端子J3的1腳輸出方波。 外接端子J3的1腳輸出波形可以通過引入示波器來檢測(cè)和觀察,請(qǐng)讀者在項(xiàng)目實(shí)踐前準(zhǔn)備好示波器。,10,13.3 系統(tǒng)板上硬件連線,簡(jiǎn)易數(shù)字信號(hào)發(fā)生器項(xiàng)目的連接插線設(shè)置見圖13-2。,圖13-2 簡(jiǎn)易數(shù)字信號(hào)發(fā)生器項(xiàng)目的連接插線設(shè)置,11,13.4 程序流程圖,圖13-3 簡(jiǎn)易數(shù)字信號(hào)發(fā)生器項(xiàng)目的C語言程序流程圖,12,13.5 C語言源程序(略),13.6 系統(tǒng)構(gòu)成和程序分析,13.6.1 DAC0832內(nèi)部引腳功能和受控方式,DAC0832是8位的D/A轉(zhuǎn)換器,CMOS工藝,芯片內(nèi)有R-2R梯形電阻網(wǎng)絡(luò),用于對(duì)參考電壓產(chǎn)生的電流進(jìn)行分流完成模數(shù)轉(zhuǎn)換,轉(zhuǎn)換結(jié)果以一組差動(dòng)電流IOUT1和IOUT2輸出。 以下為DAC0832的主要參數(shù): 分辨率8位。 D/A轉(zhuǎn)換時(shí)間1s。 參考電壓(Verf)為10+10V。 單電源+5+15V供電。 滿量程誤差為1+11LSB,其中1LSB為Vref1/2n(n是D/A轉(zhuǎn)換的分辨率,此處為8位)。,13,圖13-4 DAC0832內(nèi)部結(jié)構(gòu)和引腳功能,14,DAC0832是20引腳的雙列直插式器件【26】,引腳分配如圖13-4所示。 各引腳的含義解釋如下: Vref 參考電壓輸入端,10+10V。 VCC 工作電壓輸入端,+5+15V。 DI7DI0 數(shù)字信號(hào)輸入,其中DI0為最低位,DI7為最高位。 IOUT1 模擬電流輸出端1,當(dāng)輸入數(shù)字為全1時(shí),輸出電流最大;全0時(shí),輸出電流為0。為了輸出模擬電壓,輸出端須加I/V(電流/電壓)轉(zhuǎn)換電路。 IOUT2 模擬電流輸出端2,規(guī)定IOUT1+IOUT2=常數(shù)。 Rfb 片內(nèi)反饋電阻引腳,與運(yùn)放配合構(gòu)成I/V轉(zhuǎn)換電路。 ILE 輸入鎖存使能信號(hào)輸入端,高電平有效。 nCS 片選信號(hào)端,低電平有效。 nWR1 寫信號(hào)1端,低電平有效。 nWR2 寫信號(hào)2端,低電平有效。 nXfer 傳輸控制信號(hào)輸入端,低電平有效。,15,當(dāng)ILE為高電平,nCS和nWR1同時(shí)為低電平時(shí),8位數(shù)字量可以通過DI0DI7引腳輸入寄存器;當(dāng)nCS或nWR1由低變高時(shí),數(shù)據(jù)被鎖存在輸入寄存器的輸出端。 對(duì)于DAC寄存器來講,當(dāng)nXfer和nWR2同時(shí)為低電平時(shí),DAC寄存器中的數(shù)據(jù)與輸入寄存器的輸出數(shù)據(jù)一致;當(dāng)nXfer或nWR2由低變高時(shí),輸入寄存器的數(shù)據(jù)被鎖存在DAC寄存器的輸出端,即可加到D/A轉(zhuǎn)換器去進(jìn)行轉(zhuǎn)換。 圖13-4還給出了DAC0832 內(nèi)部結(jié)構(gòu)功能圖,在DAC0832 內(nèi)部有1個(gè)8位的輸入寄存器和1個(gè)8位的DAC寄存器,根據(jù)前面給出的分析,它們可以分別被選通。這樣,CPU送來的數(shù)據(jù)先進(jìn)入輸入寄存器(由nCS控制),在需要進(jìn)行D/A轉(zhuǎn)換時(shí),再選通DAC 寄存器(由nXfer控制),實(shí)現(xiàn)D/A轉(zhuǎn)換,這種方式稱為雙緩沖方式。,16,圖13-5 DAC0832的雙緩沖控制方式,17,如圖13-5為DAC0832的雙緩沖控制方式構(gòu)成示意圖,地址譯碼可以由74HC138來實(shí)現(xiàn),當(dāng)CS0832A和CS0832B片選信號(hào)被分別給出,即可實(shí)現(xiàn)雙緩沖控制方式。 DAC0832也可以工作在單緩沖方式,這種方式下可將輸入寄存器設(shè)為直通狀態(tài),選通DAC 寄存器;也可將DAC寄存器設(shè)為直通狀態(tài),選通輸入寄存器。圖13-6給出了輸入寄存器工作于受控狀態(tài),DAC寄存器工作于直通狀態(tài)的單緩沖控制方式,對(duì)照?qǐng)D13-1可以看出PMY單片機(jī)開發(fā)板即采用了上述單緩沖控制方式。,18,圖13-6 DAC0832的單緩沖控制方式,19,13.6.2 為什么模擬輸出電壓從參考電壓輸入端Vref引出,正常情況下,DAC0832轉(zhuǎn)換后的模擬信號(hào)由IOUT1和IOUT2引腳輸出,為了得到輸出模擬電壓,輸出端須加I/V轉(zhuǎn)換電路,見圖13-5和圖13-6所示。但是圖13-1給出的開發(fā)板這一部分原理圖中并未采用上面提及的轉(zhuǎn)換電路,而是直接從參考電壓輸入端Vref引出了模擬輸出電壓,這是什么原因呢? 先來看看DAC0832內(nèi)部是如何進(jìn)行數(shù)模轉(zhuǎn)換的,DAC0832內(nèi)部數(shù)模轉(zhuǎn)換是由8位T型電阻網(wǎng)絡(luò)完成的【26】,其原理圖如圖13-7所示。,20,圖13-7 DAC0832的8位T型電阻網(wǎng)絡(luò)工作原理圖,21,由圖13-7可以看出,解碼網(wǎng)絡(luò)電阻只有兩種,即R和2R,且構(gòu)成T型,故又稱為R-2R型電阻網(wǎng)絡(luò)DAC。其中,S0S7為模擬開關(guān),表示了8位二進(jìn)制數(shù)DI0DI7,當(dāng)某一位數(shù)DIi=1,即表示Si接1,這時(shí)相應(yīng)電阻上通過電流Ii流向IOUT1;當(dāng)DIi=0,即表示Si接0,這時(shí)相應(yīng)電阻上通過電流Ii流向IOUT2。 由于用作分流的電阻網(wǎng)絡(luò)中各電阻值為R或2R,而IOUT1是流向運(yùn)算放大器的反相輸入端,其“虛地”可以看作0V。因此,電阻網(wǎng)絡(luò)從各節(jié)點(diǎn)A、B、C、H向右看的二端網(wǎng)絡(luò)的等效電阻為R,這與開關(guān)Si接0還是接1無關(guān),由任一個(gè)節(jié)點(diǎn)向右流出去的兩個(gè)支路電流Ii和ILi總是相等。 設(shè)基準(zhǔn)電壓源電壓為Vref,則總電流為I=Vref/R,則流過各開關(guān)支路(從左到右)的電流分別為I/2、I/4、I/128。經(jīng)過計(jì)算(此處省略),對(duì)于在圖13-7電路中輸入的每一個(gè)二進(jìn)制數(shù),均能在其輸出端Vout得到與之成正比的模擬電壓。,22,圖13-8 DAC0832的8位全1時(shí)T型電阻網(wǎng)絡(luò)等效電路示意圖,23,在分析完DAC0832的內(nèi)部解碼原理之后,接著討論圖13-1給出的DAC0832外部接法原理。按照開發(fā)板上的接法,討論兩個(gè)極端的情況,即給出數(shù)字量FFH和0,對(duì)于前一種情況,實(shí)際上型電阻網(wǎng)絡(luò)的8位二進(jìn)制數(shù)DI0DI7都為1,這時(shí)所有開關(guān)Si都接1,等效電路見圖13-8,反饋電阻Rfb與外接電阻R9并聯(lián),一端接電源VCC,另一端接R10和其它8個(gè)2R電阻的一端,由電路分析【27】中的基爾霍夫電流定律可以算出H點(diǎn)電流和電壓值,該點(diǎn)電壓即為Vref輸出電壓值,此時(shí)為最大輸出值。 當(dāng)數(shù)字量為0時(shí),所有開關(guān)Si都接0,等效電路見圖13-9。此時(shí)除了外接電阻R9、R10和反饋電阻Rfb中有電流流過之外,型電阻網(wǎng)絡(luò)內(nèi)無電流流過,因此H點(diǎn)電壓值為0。 數(shù)字量FFH0之間的電壓輸出呈線型變化,數(shù)字量中間值的T型電阻網(wǎng)絡(luò)原理圖分析請(qǐng)讀者自行完成。,24,圖13-9 DAC0832的8位全0時(shí)T型電阻網(wǎng)絡(luò)等效電路示意圖,25,13.6.3 DAC0832總線地址確定,在圖13-1所示電路原理圖中,三八譯碼器74HC138的Pin12引腳輸出與DAC0832的nCS引腳相連,74HC138的Pin12引腳為nY3輸出,低電平有效。因此,要求74HC138譯碼輸入端的CBA編碼為011,則STC89C52RC的P27P20的值為01111111B(7FH),P24P20懸空應(yīng)設(shè)為1;74HC373的地址引出腳A7A0的選取與DAC0832的地址確定無關(guān),取值為11111111B(FFH),所以DAC0832的地址最終確定為0x7fffH。 由第8章內(nèi)容可知,對(duì)DAC0832進(jìn)行總線控制前,必須使STC89C52RC的P16引腳設(shè)為低電平,該信號(hào)(CS138)使三八譯碼器74HC138被選中。,26,13.6.4 定時(shí)器0和外部中斷1的關(guān)系,在3.1小節(jié)和10.6小節(jié)中,已經(jīng)對(duì)外部中斷1的概念和程序進(jìn)行了詳盡地介紹和分析,本項(xiàng)目中的外部中斷1同樣是用來檢測(cè)由ZLG7290發(fā)出的按鍵中斷信號(hào),當(dāng)矩陣鍵盤中的任一鍵被按下時(shí),ZLG7290不但能夠記錄鍵值,而且還發(fā)出按鍵中斷信號(hào),請(qǐng)讀者復(fù)習(xí)相關(guān)內(nèi)容。 void time_t0() interrupt 1函數(shù)是定時(shí)器T0的中斷服務(wù)子程序,主要完成4個(gè)波形選擇和采樣計(jì)數(shù)的任務(wù),定時(shí)時(shí)間間隔(裝入值)為: 裝入值=65536要計(jì)算的脈沖數(shù)。,27,對(duì)于程序中的TH0=(65536div_value)/256,當(dāng)div_value70時(shí),16位定時(shí)器就是從(6553670)65466開始自加,加到65536就計(jì)滿,如果允許定時(shí)器中斷,就會(huì)產(chǎn)生定時(shí)器T0的中斷,所以16位方式裝入值的計(jì)算很簡(jiǎn)單。開發(fā)板的機(jī)器周期是12/晶振值,如果外接晶振是12MHZ,那么機(jī)器周期是1s,開發(fā)板的外接晶振實(shí)際上是11.0592MHZ,機(jī)器周期是1.1s左右,所以定時(shí)時(shí)間間隔大約是77us,由于這個(gè)原因,用單片機(jī)自己的定時(shí)器做數(shù)字鐘設(shè)計(jì),并不能準(zhǔn)確計(jì)時(shí),這里用11.0592MHZ的晶振主要是為了串行通信中便于產(chǎn)生所需波特率。,28,13.6.5 項(xiàng)目結(jié)果分析,在本項(xiàng)目中用到了外部中斷1和定時(shí)器T0的中斷,外部中斷1服務(wù)子程序void INT1_SVC() interrupt 2中的2代表在MCS-51單片機(jī)中外部中斷1的優(yōu)先級(jí)為第2級(jí);同樣,對(duì)于定時(shí)器T0中斷服務(wù)子程序中的1來說,就代表優(yōu)先級(jí)為第1級(jí)。因此,定時(shí)器T0可以打斷外部中斷1的正常執(zhí)行而進(jìn)行嵌套運(yùn)行,而外部中斷1卻不能打斷定時(shí)器T0的運(yùn)行。 這一點(diǎn)在將程序中的div_value值減小后將會(huì)顯現(xiàn)。實(shí)驗(yàn)表明,當(dāng)div_value50時(shí),定時(shí)器T0中斷間隔減小,加上定時(shí)器T0中斷服務(wù)程序的運(yùn)行時(shí)間,44鍵盤所產(chǎn)生的外部中斷1很難找到時(shí)間使得CPU對(duì)其進(jìn)行處理,幾乎所有的系統(tǒng)資源都被定時(shí)器T0所占用,有興趣的讀者可以修改給出的C語言程序源代碼,觀察開發(fā)板會(huì)出現(xiàn)何種現(xiàn)象。,29,按圖13-1給出的原理圖,通過引入示波器來觀察外接端子J3的1腳輸出波形。給開發(fā)板上電后,程序默認(rèn)是正弦波輸出,圖13-10(a)給出了由示波器實(shí)測(cè)的波形圖,截圖顯示正弦波的頻率在40.65Hz左右,最大幅值為1.82V,最小為140mV(包含測(cè)量誤差),最大幅值對(duì)應(yīng)數(shù)字量FFH,即對(duì)應(yīng)圖13-8給出的情況;最小幅值對(duì)應(yīng)數(shù)字量0,對(duì)應(yīng)圖13-9給出的情況。 圖13-10(b)和圖13-11(a)所示分別三角波和鋸齒波截圖,頻率和幅值情況與正弦波一樣。,30,圖13-10 簡(jiǎn)易數(shù)字信號(hào)發(fā)生器項(xiàng)目的正弦波和三角波波形圖,31,圖13-11(b)所示為方波的截圖,可以看出頻率比上述三種波形的頻率要大一倍左右(80.99Hz)。這是因?yàn)槌绦蛑械姆讲〝?shù)據(jù)表給出的是2個(gè)周期的數(shù)據(jù),因此頻率比一個(gè)周期的波形數(shù)據(jù)大一倍。 本項(xiàng)目的缺點(diǎn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年仙居縣人民醫(yī)院招聘工作人員考試真題
- 中標(biāo)后催業(yè)主簽合同范例
- 2024年新疆昌吉學(xué)院(團(tuán)隊(duì))引進(jìn)筆試真題
- 鄉(xiāng)村承包開發(fā)合同范本
- 人員反聘合同范本
- 云梯租賃合同范本
- app開發(fā)服務(wù)合同范本
- 勞務(wù)合同范例放牧
- 《五、標(biāo)明引用內(nèi)容的出處》教學(xué)設(shè)計(jì)教學(xué)反思-2023-2024學(xué)年初中信息技術(shù)人教版七年級(jí)上冊(cè)
- 農(nóng)村電器購銷合同范本
- DB43T 744-2012 錳水質(zhì)在線自動(dòng)分析儀
- QC課題提高金剛砂地面施工一次合格率
- 解讀2024年《學(xué)紀(jì)、知紀(jì)、明紀(jì)、守紀(jì)》全文課件
- 武漢版生命安全教育一年級(jí)-第19課《做好“四勤”防疾病》課件
- T-JMTX 022-2024 叉車安全使用與管理要求
- 安徽省合肥市2024年小升初英語試卷(含答案)
- 研學(xué)旅行基地評(píng)估認(rèn)定評(píng)分表
- 第5課 用發(fā)展的觀點(diǎn)看問題-【中職專用】2024年中職思想政治《哲學(xué)與人生》金牌課件(高教版2023·基礎(chǔ)模塊)
- 【鄉(xiāng)村振興背景下的鄉(xiāng)村治理改革探究:以S村為例8000字(論文)】
- 承包設(shè)備拆裝合同范本
- 水利水電工程單元工程施工質(zhì)量驗(yàn)收評(píng)定表及填表說明
評(píng)論
0/150
提交評(píng)論