版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1學(xué)學(xué) 號:號: 51湖南文理學(xué)院機械工程學(xué)院機械工程學(xué)院課課 程程 設(shè)設(shè) 計計題題 目目基于基于 AT89C52 單片機的單片機的簡易函數(shù)信號發(fā)生器設(shè)計簡易函數(shù)信號發(fā)生器設(shè)計專專 業(yè)業(yè)機械電子工程機械電子工程班班 級級機電機電 08101 班班姓姓 名名譚鵬輝譚鵬輝指導(dǎo)教師指導(dǎo)教師陳衛(wèi)國陳衛(wèi)國2011 年12 月07日2課程設(shè)計任務(wù)書課程設(shè)計任務(wù)書姓 名譚鵬輝學(xué) 號51班 級機電 08101 班課程名稱單片機課程設(shè)計課程性質(zhì)必修設(shè)計時間2011 年 11 月 28 日 2011 年 12 月 9 日設(shè)計名稱基于 AT89C52 單片機的簡易函數(shù)信號發(fā)生器設(shè)計設(shè)計要求1)以單片機為核心,經(jīng)過
2、D/A 轉(zhuǎn)換和放大電路的處理,最后輸出信號;2)要求能輸出正弦波、三角波、鋸齒波和方波四種信號;3)輸出信號可以通過按鍵來改變4)完成系統(tǒng)電路設(shè)計;5)完成系統(tǒng)軟件設(shè)計;6)完成系統(tǒng) Proteus 下的仿真。5)完成課程設(shè)計報告。 計劃與進度時間:二周1)方案設(shè)計 2 天2)電路設(shè)計 2 天3)軟件設(shè)計 3 天 4)軟、硬件聯(lián)調(diào) 2 天 5)系統(tǒng)仿真 2 天6)答辯 1 天7)完成報告 2 天任課教師意 見年年 月月 日日教研室主任簽 名年年 月月 日日說明平時考勤:20% 設(shè)計:30% 仿真:20% 答辯:10%設(shè)計報告:20% 共計 100 分。3 目目 錄錄目 錄 .摘 要 .4第一章
3、 緒論 .51.1 單片機概述 .51.2 信號發(fā)生器的分類 .51.3 研究內(nèi)容 .5第二章 函數(shù)信號發(fā)生器設(shè)計 .62.1課程設(shè)計的目的.62.2 課程設(shè)計要求 .6第三章 設(shè)計方案 .73.1 系統(tǒng)主要功能 .73.2 系統(tǒng)硬件構(gòu)成及功能 .7 2.2.1 AT89C52 單片機及其說明 .7 3.2.2 資源分配 .10 3.2.3 D/A 轉(zhuǎn)換模件部件 .11 3.2.4 外部控制模塊部件 74LS22 .12 3.2.5 放大部分.123.3 系統(tǒng)軟件設(shè)計及接口電路 .13 3.3.1 信號頻率數(shù)據(jù)采集.13 3.3.2 正弦波產(chǎn)生程序.13 3.3.3 三角波產(chǎn)生程序.14 3.
4、3.4 方波產(chǎn)生程序 .14 3.3.5 鋸齒波產(chǎn)生程序.15 3. 3. 6 信號放大模塊設(shè)計.15 3. 3. 7 數(shù)模轉(zhuǎn)換模塊設(shè)計.16第四章 仿真圖及及結(jié)果分析.17 4.1 波形發(fā)生器的調(diào)試與測試.17 4.2 仿真結(jié)果圖.18第五章 總結(jié)與展望.20參考文獻.21附錄一 元器件清單.22附錄二 程序清單.23附錄三 電路原理圖.304摘要摘要本次作品是一個基于單片機設(shè)計的函數(shù)信號發(fā)生器。函數(shù)信號發(fā)生器的設(shè)計方法有多種,利用單片機設(shè)計的函數(shù)信號發(fā)生器具有編程靈活,功能更以擴充等實際的優(yōu)點。利用單片機設(shè)計的函數(shù)信號發(fā)生器能夠產(chǎn)生正弦波,鋸齒波,三角波,方波,并實現(xiàn)對頻率和占空比的調(diào)節(jié),
5、以及液晶屏顯示波形名稱和波形頻率,波形的切換和頻率的調(diào)節(jié)以及占空比的改變都可以用按鍵實現(xiàn)。在編程語言上,我們選擇自身比較熟悉的C 語言,這樣在后期波形的調(diào)試及與硬件銜接方面更容易發(fā)揮出自身優(yōu)勢。經(jīng)過設(shè)計及后期長時間的調(diào)試,設(shè)計的所有功能均已實現(xiàn)。關(guān)鍵詞:單片機,函數(shù)發(fā)生器,液晶 LCD 5 第一章第一章 緒論緒論1.1 單片機概述隨著大規(guī)模集成電路技術(shù)的發(fā)展,中央處理器(CPU)、隨機存取存儲器(RAM)、只讀存儲器(ROM)、(I/O)接口、定時器/計數(shù)器和串行通信接口,以及其他一些計算機外圍電路等均可集成在一塊芯片上構(gòu)成單片微型計算機,簡稱為單片機。單片機具有體積小、成本低,性能穩(wěn)定、使用
6、壽命長等特點。其最明顯的優(yōu)勢就是可以嵌入到各種儀器、設(shè)備中,這是其他計算機和網(wǎng)絡(luò)都無法做到的9,10。1.2 信號發(fā)生器的分類信號發(fā)生器應(yīng)用廣泛,種類繁多,性能各異,分類也不盡一致。按照頻率范圍分類可以分為:超低頻信號發(fā)生器、低頻信號發(fā)生器、視頻信號發(fā)生器、高頻波形發(fā)生器、甚高頻波形發(fā)生器和超高頻信號發(fā)生器。按照輸出波形分類可以分為:正弦信號發(fā)生器和非正弦信號發(fā)生器,非正弦信號發(fā)生器又包括:脈沖信號發(fā)生器,函數(shù)信號發(fā)生器、掃頻信號發(fā)生器、數(shù)字序列波形發(fā)生器、圖形信號發(fā)生器、噪聲信號發(fā)生器等。按照信號發(fā)生器性能指標可以分為一般信號發(fā)生器和標準信號發(fā)生器。前者指對輸出信號的頻率、幅度的準確度和穩(wěn)定
7、度以及波形失真等要求不高的一類信號發(fā)生器。后者是指其輸出信號的頻率、幅度、調(diào)制系數(shù)等在一定范圍內(nèi)連續(xù)可調(diào),并且讀數(shù)準確、穩(wěn)定、屏蔽良好的中、高檔信號發(fā)生器。1.3 研究內(nèi)容本文是做基于單片機的信號發(fā)生器的設(shè)計,將采用編程的方法來實現(xiàn)三角波、鋸齒波、矩形波、正弦波的發(fā)生。根據(jù)設(shè)計的要求,對各種波形的頻率和幅度進行程序的編寫,并將所寫程序裝入單片機的程序存儲器中。在程序運行中,當(dāng)接收到來自外界的命令,需要輸出某種波形時再調(diào)用相應(yīng)的中斷服務(wù)子程序和波形發(fā)生程序,經(jīng)電路的數(shù)/模轉(zhuǎn)換器和運算放大器處理后,從信號發(fā)生器的輸出端口輸出6第二章:函數(shù)信號發(fā)生器的設(shè)計第二章:函數(shù)信號發(fā)生器的設(shè)計設(shè)計一個基于單片
8、機的函數(shù)信號發(fā)生器,該函數(shù)信號發(fā)生器可以輸出四種波形,有正弦波,鋸齒波,三角波,方波。在此基礎(chǔ)上進一步實現(xiàn)對波形頻率和占空比的調(diào)節(jié),并用液晶屏分兩行顯示波形名稱和波形頻率。2.1 課程設(shè)計的目的:1、鞏固、加深和擴大單片機應(yīng)用的知識面,提高綜合及靈活運用所學(xué)知識解決實際課題設(shè)計的能力。2、培養(yǎng)針對課題需要,選擇和查閱有關(guān)手冊、圖表及文獻資料的能力,提高組成系統(tǒng)、編程、調(diào)試的動腦動手能力。3、通過對課題設(shè)計方案的分析、選擇、比較,熟悉運用單片機系統(tǒng)開發(fā)、軟硬件設(shè)計的方法內(nèi)容及步驟。4、掌握 DAC0832,LM324,74LS22 的接口電路,及使用方法。5、熟悉掌握函數(shù)信號發(fā)生器的工作原理。2
9、.2 課程設(shè)計要求:1、熟悉組成系統(tǒng)中的實驗?zāi)K原理,畫出實驗原理圖。2、 寫出完整的設(shè)計任務(wù)書:課題的名稱、系統(tǒng)的功能、硬件原理圖、軟件框圖、元件清單、程序清單、參考資料。3、輸出幾種波形,實現(xiàn)對頻率和占空比的調(diào)節(jié),以 1HZ 作為步進進行調(diào)節(jié)。7第三章:設(shè)計方案第三章:設(shè)計方案3.1 系統(tǒng)主要功能該函數(shù)信號發(fā)生器可以輸出四種波形,有正弦波,鋸齒波,三角波,方波。在此基礎(chǔ)上進一步實現(xiàn)對波形頻率和占空比的調(diào)節(jié),并用液晶屏分兩行顯示波形名稱和波形頻率。3.2 系統(tǒng)硬件構(gòu)成及功能函數(shù)信號發(fā)生器的設(shè)計總體框圖如圖所示,主要有單片機 AT89C52,電源,鍵盤模塊,LCD1602 顯示模塊構(gòu)成。按案件
10、模塊:由 5 個復(fù)位開關(guān)與 74LS21 組成的系統(tǒng)通過對單片機傳輸中斷信號來實現(xiàn)波形切換及頻率和占空比的調(diào)節(jié)。顯示模塊:用 LCD1602,分行顯示波形類型和波形頻率的顯示。電源模塊:電源模塊有 220V 市變電壓經(jīng)變壓,整流,穩(wěn)壓得到+ -5V, + -12V 的電壓,維持系統(tǒng)正常工作。系統(tǒng)的總體框圖如圖 1 所示:圖 1 系統(tǒng)總體框圖 3.2.1 AT89C52 單片機及其說明數(shù)數(shù)據(jù)據(jù)存存儲儲器器AT89C52 有 256 個字節(jié)的內(nèi)部 RAM,80H-FFH 高 128 個字節(jié)與特殊功能寄存器(SFR)地址是重疊的,也就是高 128 字節(jié)的 RAM 和特殊功能寄存器的地址是相同的,但物
11、理上它們是分開的。 當(dāng)一條指令訪問 7FH 以上的內(nèi)部地址單元時,指令中使用的尋址方式是不同的,也即尋址方式?jīng)Q定是訪問高 128 字節(jié) RAM 還是訪問特殊功能寄存器。如果指令是直接尋址方式則為訪問特殊功能鍵盤顯示控制器顯示模塊鍵盤模塊波形輸出模塊電 源源主控器AT89C528寄存器。 例如,下面的直接尋址指令訪問特殊功能寄存器0A0H(即 P2 口)地址單元。 MOV 0A0H,#data 間接尋址指令訪問高 128 字節(jié) RAM,例如,下面的間接尋址指令中, R0 的內(nèi)容為 0A0H,則訪問數(shù)據(jù)字節(jié)地址為 0A0H, 而不是 P2 口(0A0H) 。 MOV R0,#data 堆棧操作也是
12、間接尋址方式,所以,高128 位數(shù)據(jù) RAM 亦可作為堆棧區(qū)使用。 定時器 0 和定時器 1: 3.2.2 資源分配晶振采用 12MHZ。P1 口的 P1.0-P1.4 分別與四個按鍵連接,分別控制波形切換、頻率加、頻率減,占空比加,占空比減。P2 口與 DAC0832 的 D0-D7 數(shù)據(jù)輸入端相連。P3 口用來控制 DAC0832 的輸入寄存器選擇信號 CS。3.2.3 D/A 轉(zhuǎn)換模塊部件DAC0832 芯片原理管腳功能介紹(如圖 6 所示)Vcc20Iout111lsbDI07Iout212DI16DI25Rfb9DI34DI416Vref8DI515DI614msbDI713ILE1
13、9WR218CS1WR12Xfer17U2DAC0832圖 3 DAC0832 管腳圖DI7DI0:8 位的數(shù)據(jù)輸入端,DI7 為最高位。ILE:數(shù)據(jù)鎖存允許控制信號輸入線,高電平有效。CS:選片信號輸入線(選通數(shù)據(jù)鎖存器),低電平有效。WR1:數(shù)據(jù)鎖存器寫選選通輸入線,負脈沖有效,由 ILE、CS、WR1 的邏輯組合產(chǎn)生 LE1,當(dāng) LE1 為高電平時,數(shù)據(jù)鎖存器狀態(tài)隨輸入數(shù)據(jù)線變化,LE1 的負跳變時將輸入數(shù)據(jù)鎖存。XFER:數(shù)據(jù)傳輸控制信號輸入線,低電平有效,負脈沖有效。9WR2:DAC 寄存器選通輸入線,負脈沖有效,由 WR2、XFER 的邏輯組合產(chǎn)生LE2,當(dāng) LE2 為高電平時,D
14、AC 寄存器的輸出隨寄存器的輸入而變化,LE2 的負跳變時將數(shù)據(jù)鎖存器的內(nèi)容打入 DAC 寄存器并開始 D/A 轉(zhuǎn)換。IOUT1:模擬電流輸出端 1,當(dāng) DAC 寄存器中數(shù)據(jù)全為 1 時,輸出電流最大,當(dāng) DAC 寄存器中數(shù)據(jù)全為 0 時,輸出電流為 0。IOUT2:模擬電流輸出端 2, IOUT2 與 IOUT1 的和為一個常數(shù),即IOUT1IOUT2常數(shù)。RFB:反饋電阻引出端,DAC0832 內(nèi)部已經(jīng)有反饋電阻,所以 RFB 端可以直接接到外部運算放大器的輸出端,這樣相當(dāng)于將一個反饋電阻接在運算放大器的輸出端和輸入端之間。VREF:參考電壓輸入端,此端可接一個正電壓,也可接一個負電壓,它
15、決定 0至 255 的數(shù)字量轉(zhuǎn)化出來的模擬量電壓值的幅度,VREF 范圍為(+10-10)V。VREF 端與 D/A 內(nèi)部 T 形電阻網(wǎng)絡(luò)相連。Vcc:芯片供電電壓,范圍為(+5+15)V。AGND:模擬量地,即模擬電路接地端。DGND:數(shù)字量地。3.2.4 外部控制模塊部件 74LS22圖 474LS22 為四輸入雙與門A1,B1,C1,D1為第一個與門的輸入,Y1為第一個與門的輸出。A2,B2,C2,D2為第一個與門的輸入,Y2為第一個與門的輸出。在此系統(tǒng)中用來給單片機提供中斷信號。3.2.5 放大部分 LM32410LM324 引腳圖(管腳圖) 圖 5 LM324 引腳圖簡介: LM32
16、4 系列器件為價格便宜的帶有真差動輸入的四運算放大器。與單電源應(yīng)用場合的標準運算放大器相比,它們有一些顯著優(yōu)點。該四放大器可以工作在低到 3.0 伏或者高到 32 伏的電源下,靜態(tài)電流為 MC1741 的靜態(tài)電流的五分之一。共模輸入范圍包括負電源,因而消除了在許多應(yīng)用場合中采用外部偏置元件的必要性。它有 5 個引出腳,其中“+”、 “-”為兩個信號輸入端, “V+”、 “V-”為正、負電源端, “Vo”為輸出端。兩個信號輸入端中,Vi-(-)為反相輸入端,表示運放輸出端 Vo 的信號與該輸入端的位相反;Vi+(+)為同相輸入端,表示運放輸出端 Vo 的信號與該輸入端的相位相同。3.3 系統(tǒng)的軟
17、件設(shè)計及接口電路3.3.1 信號頻率數(shù)據(jù)采集本程序通過外部中斷,接收減頻或加頻按鍵,單片機內(nèi)部對接受的值經(jīng)過運算得出波形的輸出延時,從而產(chǎn)生頻率的改變。電路較為簡單,成本較低。3.3.2 正弦波產(chǎn)生程序輸入正弦波的采樣點,計算出 256 個(一個周期內(nèi))正弦波信號值。然后通過輸出的兩點間的延時來實現(xiàn)調(diào)頻。依次循環(huán)輸出,可得出正弦波。采點值放在 table2中,程序如下:void sin()/正弦波unsigned int i;for(i=0;i256;i+)11DAC0832=table2i;delay(pinlv/256);3.3.3 三角波產(chǎn)生程序設(shè)個自變量 i 讓它不斷地自加 1,直到加
18、到 255 時,t=i,對 t 進行不斷地自減 1直到減到 t=0,然后再不斷地重復(fù)上述過程產(chǎn)生三角波。程序如下:void tran()/三角波unsigned char i;for(i=0;i0;i-)DAC0832=i;delay(pinlv/64);3.3.4 方波產(chǎn)生程序設(shè)個自變量 i=0 使之延時一段時間,再另 i=255 時在延時與 i=0 相同的時間,然后再重復(fù)上述過程。程序如下:12void fang()/方波DAC0832=0;delay(pinlv/2);DAC0832=0 xff;delay(pinlv/2);3.3.5 鋸齒波產(chǎn)生程序鋸齒波中的斜線用一個個小臺階來逼近,
19、在一個周期內(nèi)從最小值開始逐步遞增,當(dāng)達到最大值后又回到最小值,如此循環(huán),當(dāng)臺階間隔很小時,波形基本上近似于直線。適當(dāng)選擇循環(huán)的時間,可以得到不同的周期鋸齒波。鋸齒波發(fā)生原理與方波類似,只是高低兩個時延的常數(shù)不同,所以用延時法,來產(chǎn)生鋸齒波,設(shè)個自變量 i 讓它不斷地自加 1,直到叫到 255,DAC0832 可以又自動歸 0,然后再不斷地重復(fù)上述過程。程序如下:void jvchi()/鋸齒波unsigned char i;for(i=0;i255;i+)DAC0832=i;delay(pinlv/256);133.3.6信號放大模塊設(shè)計從單片機中輸出的數(shù)字信號經(jīng)過 DAC0832 轉(zhuǎn)換后,由
20、于信號的幅值比較小,所以需要放大。采用常規(guī)的放大方式,采用兩片運放,實現(xiàn)兩級放大,設(shè)計的電路如圖 6:圖 6 圖 6 放大電路接口3. 3. 7數(shù)模轉(zhuǎn)換模塊設(shè)計本設(shè)計模數(shù)轉(zhuǎn)換采用常見的芯片:DAC0832,本設(shè)計采用直通方式進行模數(shù)轉(zhuǎn)換。為了簡潔起見,在仿真圖中采用網(wǎng)絡(luò)節(jié)點的方式進行連線,從單片機 P0 口輸出的數(shù)據(jù)直接連接到模數(shù)芯片 DAC0832 的數(shù)據(jù)口。如圖: 圖 7 DA 轉(zhuǎn)換接口電路 14 第四章第四章 仿真圖及結(jié)果分析仿真圖及結(jié)果分析 4.1 波形發(fā)生器的調(diào)試與測試本系統(tǒng)是在 protues 下仿真,使用 Keil C 編程。從而實現(xiàn)其設(shè)計及仿真。在測試本系統(tǒng)是采用的是將設(shè)置的數(shù)
21、值與示波器所測值進行對比,進而可以知道本系統(tǒng)的性能。頻率測試數(shù)據(jù): 設(shè)定頻率(HZ)示波器測試頻率(HZ) 相對誤差%3.93.961.57.87.931.2815.6316.133.19154.2 仿真結(jié)果圖正弦波仿真圖 圖 8 正弦波圖三角波仿真圖16 圖 9 三角波圖鋸齒波仿真圖 圖 10 鋸齒波圖方波仿真圖17 圖 11 方波圖第五章第五章 總結(jié)總結(jié)與展望與展望本次的設(shè)計中利用 AT89C52 和 DAC0832 以及放大器完成電路的設(shè)計,用開關(guān)來控制各種波形的發(fā)生及轉(zhuǎn)換,用單片機輸出后,經(jīng)過模數(shù)轉(zhuǎn)換器生成波形,最終可以通過示波器觀察。在這次的軟件設(shè)計中,程序設(shè)計采用的是匯編語言。匯編
22、語言具有速度快,可以直接對硬件進行操作的優(yōu)點,它可以極好的發(fā)揮硬件的功能。但是匯編語言也存在編寫的代碼非常難懂,不好維護,很容易產(chǎn)生 bug,難于調(diào)試的缺點。因此,在大型程序的設(shè)計中,多采用 C 語言進行程序編譯。C 語言簡潔高效,是最貼近硬件的高級編程語言,經(jīng)過多年的發(fā)展,現(xiàn)在已成熟為專業(yè)水平的高級語言。而且,現(xiàn)在單片機產(chǎn)品推出時紛紛配套了 C 語言編譯器,應(yīng)用廣泛。不過就本次課程設(shè)計來說,匯編語言還是適用的。由于真正意義上的程序設(shè)計還不多,因此還不是很得心應(yīng)手,所以在設(shè)計中遇到一些問題和一些難點。比如:在程序設(shè)計中如何實現(xiàn)程序結(jié)構(gòu)的最優(yōu)化,以達到較高的質(zhì)量。這是以后設(shè)計中要注意的問題。 通
23、過這次課程設(shè)計,我進一步了解了波形發(fā)生器的原理,在實際動手操作過程中,使我接觸了許多我以前沒接觸過的元件,而且重新溫習(xí)了剛學(xué)不久的匯編語言,使我學(xué)得了許多知識,使我獲益匪淺。這次課程設(shè)計,使我的動手能力得到了很大的提高,更使我們懂得理論知識的重要性,沒有理論的指導(dǎo)一切實際行動都是盲目的,且實際操作是我們得到的理論知識得到驗證,更能增加對理論知識的理解。18參考文獻1 程全.基于 AT89C52 實現(xiàn)的多種波形發(fā)生器的設(shè)計J.周口師范學(xué)院學(xué)報,2005.22(5):5758.2 周明德.微型計算機系統(tǒng)原理及應(yīng)用M.北京:清華大學(xué)出版社,2002.341364.3 劉樂善.微型計算機接口技術(shù)及應(yīng)用
24、M.北京:北京航空航天大學(xué)出版社,2001.258264.4 童詩白.模擬電路技術(shù)基礎(chǔ)M.北京:高等教育出版社,2000.171202.5 杜華.任意波形發(fā)生器及應(yīng)用J.國外電子測量技術(shù),2005.1:3840.6 張友德.單片微型機原理、應(yīng)用與實踐M.上海:復(fù)旦大學(xué)出版社,2004.4044. 7 程朗.基于 8051 單片機的雙通道波形發(fā)生器的設(shè)計與實現(xiàn)J.計算機工程與應(yīng)用,2004.8:100103.8 張永瑞.電子測量技術(shù)基礎(chǔ)M.西安:西安電子科技大學(xué)出版社,2006.61101.9 李葉紫. MCS-51 單片機應(yīng)用教程M.北京:清華大學(xué)出版社,2004.232238.19附錄附錄
25、1 元器件清單元件名稱數(shù)量備注AT89C52174LS221LM3241電阻310k排阻14.7K液晶顯示屏1LCD1602滑動變阻器110K晶振112MHZ20附錄附錄 2 程序清單#include#define uchar unsigned char#define uint unsigned int/#define Fosc 24000000/12000000 /12 分頻后的頻率#define DAdata P0/DA 數(shù)據(jù)端口sbit DA_S1= P20; / 控制 DAC0832 的 8 位輸入寄存器,僅當(dāng)都為 0 時,可以輸出數(shù)據(jù)(處于直通狀態(tài)),否則,輸出將被鎖存sbit DA
26、_S2= P21; / 控制 DAC0832 的 8 位 DAC 寄存器,僅當(dāng)都為 0 時,可以輸出數(shù)據(jù)(處于直通狀態(tài)),否則,輸出將被鎖存sbit key= P32;uchar wavecount; /抽點計數(shù)uchar THtemp,TLtemp;/傳遞頻率的中間變量/uint T_temp;uchar judge=1; /在方波輸出函數(shù)中用于簡單判別作用uchar waveform; /當(dāng)其為 0、1、2 時,分別代表三種波uchar code freq_unit4=10,50,200,10; /三種波的頻率單位 sawtoothuchar idata wavefreq4=1,1,1,1
27、; /給每種波定義一個數(shù)組單元,用于存放單位頻率的個數(shù)uchar code lcd_hang1=Sine Wave Triangle Wave Square Wave sawtooth Wave Select Wave: press No.1 key! ;uchar idata lcd_hang216=f= Hz ;/*uchar code wave_freq_adjust= /頻率調(diào)整中間值 0 xff,0 xb8,0 x76,0 x56,0 x43,0 x37,0 x2e,0 x26,0 x20,0 x1c, /正弦波頻率調(diào)整中間值0 xff,0 x8e,0 x5a,0 x41,0 x32
28、,0 x28,0 x20,0 x1b,0 x17,0 x0e, /三角波頻率調(diào)整中間值0 xff,0 x8e,0 x5a,0 x41,0 x32,0 x28,0 x20,0 x1b,0 x17,0 x0e; uint code wave_freq_adjust= /頻率調(diào)整中間值 380,184,118,86,67,55,46,28,38,32,295,142, 90,65,50,40,32,27,23,14,295,142, 90,65,50,40,32,27,23,14; */*uchar code waveTH= 0 xfc,0 xfe,0 xfe,0 xff,0 xff,0 xff,0
29、 xff,0 xff,0 xff,0 xff,0 xfc,0 xfe,0 xfe,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,210 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff;uchar code waveTL= 0 xf2,0 x78,0 xfb,0 x3c,0 x63,0 x7d,0 x8f,0 x9d,0 xa8,0 xb1,0 x17,0 x0b,0 xb2,0 x05,0 x37,0 x58,0 x70,0 x82,0 x90,0 x9b, 0 x4d,0 xa7,0 x
30、c4,0 xd3,0 xdc,0 xe2,0 xe6,0 xea,0 xec,0 xee;*/*這兩組數(shù)組很重要,需要根據(jù)波形來調(diào)試,選擇合適的值,使輸出波形達到頻率要求*/uchar code waveTH= 0 xfd,0 xfe,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xfd,0 xfe,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xec,0 xf6,0 xf9,0 xfb,0 xfc,0 xfc,0 xfd,0 xfd,0 xfd,0 xfe;uchar code wav
31、eTL= 0 x06,0 x8a,0 x10,0 x4e,0 x78,0 x93,0 xa8,0 xb3,0 xbe,0 xc6, /正弦波頻率調(diào)整中間值0 xac,0 xde,0 x48,0 x7a,0 x99,0 xaf,0 xbb,0 xc8,0 xd0,0 xde,/三角波頻率調(diào)整中間值0 x88,0 x50,0 x90,0 x32,0 x34,0 xbe,0 x4a,0 xa3,0 xe5,0 x2c; /*/uchar code triangle_tab= /每隔數(shù)字 8,采取一次0 x00,0 x08,0 x10,0 x18,0 x20,0 x28,0 x30,0 x38,0 x
32、40,0 x48,0 x50,0 x58,0 x60,0 x68,0 x70,0 x78,0 x80,0 x88,0 x90,0 x98,0 xa0,0 xa8,0 xb0,0 xb8,0 xc0,0 xc8,0 xd0,0 xd8,0 xe0,0 xe8,0 xf0,0 xf8,0 xff,0 xf8,0 xf0,0 xe8,0 xe0,0 xd8,0 xd0,0 xc8,0 xc0,0 xb8,0 xb0,0 xa8,0 xa0,0 x98,0 x90,0 x88,0 x80,0 x78,0 x70,0 x68,0 x60,0 x58,0 x50,0 x48,0 x40,0 x38,0 x
33、30,0 x28,0 x20,0 x18,0 x10,0 x08,0 x00;uchar code sine_tab256=/輸出電壓從 0 到最大值(正弦波 1/4 部分)0 x80,0 x83,0 x86,0 x89,0 x8d,0 x90,0 x93,0 x96,0 x99,0 x9c,0 x9f,0 xa2,0 xa5,0 xa8,0 xab,0 xae,0 xb1,0 xb4,0 xb7,0 xba,0 xbc,0 xbf,0 xc2,0 xc5,0 xc7,0 xca,0 xcc,0 xcf,0 xd1,0 xd4,0 xd6,0 xd8,0 xda,0 xdd,0 xdf,0 x
34、e1,0 xe3,0 xe5,0 xe7,0 xe9,0 xea,0 xec,0 xee,0 xef,0 xf1,0 xf2,0 xf4,0 xf5,0 xf6,0 xf7,0 xf8,0 xf9,0 xfa,0 xfb,0 xfc,0 xfd,0 xfd,0 xfe,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,/輸出電壓從最大值到 0(正弦波 1/4 部分)0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xfe,0 xfd,0 xfd,0 xfc,0 xfb,0 xfa,0 xf9,0 xf8,0 xf7,0 xf6,0 xf5,0 x
35、f4,0 xf2,0 xf1,0 xef,0 xee,0 xec,0 xea,0 xe9,0 xe7,0 xe5,0 xe3,0 xe1,0 xde,0 xdd,0 xda,0 xd8,0 xd6,0 xd4,0 xd1,0 xcf,0 xcc,0 xca,0 xc7,0 xc5,0 xc2,0 xbf,0 xbc,0 xba,0 xb7,0 xb4,0 xb1,0 xae,0 xab,0 xa8,0 xa5,0 xa2,0 x9f,0 x9c,0 x99 22,0 x96,0 x93,0 x90,0 x8d,0 x89,0 x86,0 x83,0 x80,/輸出電壓從 0 到最小值(正弦波
36、1/4 部分)0 x80,0 x7c,0 x79,0 x76,0 x72,0 x6f,0 x6c,0 x69,0 x66,0 x63,0 x60,0 x5d,0 x5a,0 x57,0 x55,0 x51,0 x4e,0 x4c,0 x48,0 x45,0 x43,0 x40,0 x3d,0 x3a,0 x38,0 x35,0 x33,0 x30,0 x2e,0 x2b,0 x29,0 x27,0 x25,0 x22,0 x20,0 x1e,0 x1c,0 x1a,0 x18,0 x16 ,0 x15,0 x13,0 x11,0 x10,0 x0e,0 x0d,0 x0b,0 x0a,0 x0
37、9,0 x08,0 x07,0 x06,0 x05,0 x04,0 x03,0 x02,0 x02,0 x01,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,/輸出電壓從最小值到 0(正弦波 1/4 部分)0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x01,0 x02 ,0 x02,0 x03,0 x04,0 x05,0 x06,0 x07,0 x08,0 x09,0 x0a,0 x0b,0 x0d,0 x0e,0 x10,0 x11,0 x13,0 x15 ,0 x16,0 x18,0 x1a,0 x1c,0 x1e,0 x20,0
38、x22,0 x25,0 x27,0 x29,0 x2b,0 x2e,0 x30,0 x33,0 x35,0 x38,0 x3a,0 x3d,0 x40,0 x43,0 x45,0 x48,0 x4c,0 x4e,0 x51,0 x55,0 x57,0 x5a,0 x5d,0 x60,0 x63,0 x66 ,0 x69,0 x6c,0 x6f,0 x72,0 x76,0 x79,0 x7c,0 x80; uchar code sawtooth_tab=0 x00,0 x02,0 x04,0 x06,0 x08,0 x0a,0 x0c,0 x0e,0 x10,0 x12,0 x14,0 x16,
39、0 x18,0 x1a,0 x1c,0 x1e,0 x20,0 x22,0 x24,0 x26,0 x28,0 x2a,0 x2c,0 x2e,0 x30,0 x32,0 x34,0 x36,0 x38,0 x3a,0 x3c,0 x3e,0 x40,0 x42,0 x44,0 x46,0 x48,0 x4a,0 x4c,0 x4e,0 x50,0 x52,0 x54,0 x56,0 x58,0 x5a,0 x5c,0 x5e,0 x60,0 x62,0 x64,0 x66,0 x68,0 x6a,0 x6c,0 x6e,0 x70,0 x72,0 x74,0 x76,0 x78,0 x7a,
40、0 x7c,0 x7e,0 x80,0 x82,0 x84,0 x86,0 x88,0 x8a,0 x8c,0 x8e;/0 x90,0 x92,0 x94,0 x96,0 x98,0 x9a,0 x9c,0 x9e,0 xa0,0 xa2,0 xa4,0 xa6,0 xa8,0 xaa,0 xac,0 xae,0 xb0,0 xb2,0 xb4,0 xb6,0 xb8,0 xba,0 xbc,0 xbe,/0 xc0,0 xc2,0 xc4,0 xc6,0 xc8,0 xca,0 xcc,0 xce,0 xd0,0 xd2,0 xd4,0 xd6,0 xd8,0 xda,0 xdc,0 xd
41、e,0 xe0,0 xe2,0 xe4,0 xe6,0 xe8,0 xea,0 xec,0 xee;void delay(uchar z) uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void triangle_out()/三角波輸出 DAdata=triangle_tabwavecount+;if(wavecount64) wavecount=0;DA_S1=0; /打開 8 位輸入寄存器DA_S1=1; /關(guān)閉 8 位輸入寄存器23void sine_out() /正弦波輸出 DAdata=sine_tabwavecount+;DA_S1=0; /打開
42、8 位輸入寄存器DA_S1=1; /關(guān)閉 8 位輸入寄存器void square_out() /方波輸出 judge=judge; if(judge=1) DAdata=0 xff;else DAdata=0 x00;DA_S1=0; /打開 8 位輸入寄存器DA_S1=1; /關(guān)閉 8 位輸入寄存器void sawtooth_out() /鋸齒波輸出DAdata=sawtooth_tabwavecount+;if(wavecount71) wavecount=0;DA_S1=0; /打開 8 位輸入寄存器DA_S1=1; /關(guān)閉 8 位輸入寄存器/*1602 液晶的相關(guān)函數(shù)*/#define
43、 lcd_ports P1sbit rs=P22;sbit rw=P23;sbit lcden=P24;void write_com(uchar com)rs=0;/置零,表示寫指令lcden=0;lcd_ports=com;delay(5);lcden=1;delay(5);lcden=0;void write_date(uchar date)rs=1;/置 1,表示寫數(shù)據(jù)(在指令所指的地方寫數(shù)據(jù))lcden=0;24lcd_ports=date;delay(5);lcden=1;delay(5);lcden=0;void disp_lcd(uchar addr,uchar *temp1)uchar num;write_com
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年床上用品品牌代理合同
- 2024醫(yī)院藥品零售許可合同
- 2024年建筑合同糾紛預(yù)防及處理辦法
- 2024年度IT企業(yè)軟件許可使用合同
- 2024年度搬廠工程機械設(shè)備租賃合同
- 2024年度委托加工合同:甲乙雙方在二零二四年就某產(chǎn)品委托加工的詳細條款
- 2024年度量子科技實驗室建設(shè)安裝工程分包合同
- 2024年度智能停車安防監(jiān)控系統(tǒng)安裝合同
- 2024展廳裝飾裝修合同范文
- 2024年商標許可使用合同商標范圍
- 一手試題烘焙面銷培訓(xùn)
- 初中語文人教七年級下冊冉玥《驛路梨花》微課教案設(shè)計
- 中國農(nóng)業(yè)科學(xué)院科研道德規(guī)范
- 認識計算機系統(tǒng)的組成
- 人教版版中國歷史八年級上冊知識點歸納梳理
- 國家職業(yè)技術(shù)技能標準 3-02-03-01 消防員(2022年版)
- GB/T 36242-2018燃氣流量計體積修正儀
- GB/T 2818-2014井用潛水異步電動機
- 5 汪曾祺《跑警報》.電子教案教學(xué)課件
- 敘事療法課件
- 國家開放大學(xué)電大《計算機應(yīng)用基礎(chǔ)(本)》終結(jié)性考試試題答案(格式已排好)任務(wù)一
評論
0/150
提交評論