




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 1 / 25摘要本文介紹一種用 AT89C51 單片機(jī)構(gòu)成的波形發(fā)生器,可產(chǎn)生方波、三角波、正弦波、鋸齒波等多種波形,波形的周期可用程序改變,并可根據(jù)需要選擇單極性輸出或雙極性輸出,具有線路簡(jiǎn)單、結(jié)構(gòu)緊湊、性能優(yōu)越等特點(diǎn)。文章給出了源代碼,通過(guò)仿真測(cè)試,其性能指標(biāo)達(dá)到了設(shè)計(jì)要求。關(guān)鍵詞:?jiǎn)纹瑱C(jī);DAC;信號(hào)發(fā)生器 2 / 25目錄摘要目錄第一章緒論1.1 單片機(jī)概述1.2 信號(hào)發(fā)生器的分類1.3 研究容第二章方案的設(shè)計(jì)與選擇2.1 方案的比較2.2 設(shè)計(jì)原理2.3 設(shè)計(jì)思想2.4 設(shè)計(jì)功能第三章硬件設(shè)計(jì)3.1 硬件原理框圖3.2 主控電路3.3 數(shù)、模轉(zhuǎn)換電路3.4 按鍵接口電路3.5 時(shí)鐘
2、電路3.6 顯示電路第四章軟件設(shè)計(jì)4.1 程序流程圖第五章總結(jié)與展望致參考文獻(xiàn)附錄 1 電路原理圖附錄 2 源程序附錄 3 器件清單. 3 / 25第一章 緒論1.1 單片機(jī)概述隨著大規(guī)模集成電路技術(shù)的發(fā)展,中央處理器(CPU)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、(I/O)接口、定時(shí)器/計(jì)數(shù)器和串行通信接口,以與其他一些計(jì)算機(jī)外圍電路等均可集成在一塊芯片上構(gòu)成單片微型計(jì)算機(jī),簡(jiǎn)稱為單片機(jī)。單片機(jī)具有體積小、成本低,性能穩(wěn)定、使用壽命長(zhǎng)等特點(diǎn)。其最明顯的優(yōu)勢(shì)就是可以嵌入到各種儀器、設(shè)備中,這是其他計(jì)算機(jī)和網(wǎng)絡(luò)都無(wú)法做到的9,10。1.2 信號(hào)發(fā)生器的分類信號(hào)發(fā)生器應(yīng)用廣泛,種類繁多
3、,性能各異,分類也不盡一致。按照頻率圍分類可以分為:超低頻信號(hào)發(fā)生器、低頻信號(hào)發(fā)生器、視頻信號(hào)發(fā)生器、高頻波形發(fā)生器、甚高頻波形發(fā)生器和超高頻信號(hào)發(fā)生器。按照輸出波形分類可以分為:正弦信號(hào)發(fā)生器和非正弦信號(hào)發(fā)生器,非正弦信號(hào)發(fā)生器又包括:脈沖信號(hào)發(fā)生器,函數(shù)信號(hào)發(fā)生器、掃頻信號(hào)發(fā)生器、數(shù)字序列波形發(fā)生器、圖形信號(hào)發(fā)生器、噪聲信號(hào)發(fā)生器等。按照信號(hào)發(fā)生器性能指標(biāo)可以分為一般信號(hào)發(fā)生器和標(biāo)準(zhǔn)信號(hào)發(fā)生器。前者指對(duì)輸出信號(hào)的頻率、幅度的準(zhǔn)確度和穩(wěn)定度以與波形失真等要求不高的一類信號(hào)發(fā)生器。后者是指其輸出信號(hào)的頻率、幅度、調(diào)制系數(shù)等在一定圍連續(xù)可調(diào),并且讀數(shù)準(zhǔn)確、穩(wěn)定、屏蔽良好的中、高檔信號(hào)發(fā)生器。1.
4、3 研究容本文是做基于單片機(jī)的信號(hào)發(fā)生器的設(shè)計(jì),將采用編程的方法來(lái)實(shí)現(xiàn)三角波、鋸齒波、矩形波、正弦波的發(fā)生。根據(jù)設(shè)計(jì)的要求,對(duì)各種波形的頻率和幅度進(jìn)行程序的編寫,并將所寫程序裝入單片機(jī)的程序存儲(chǔ)器中。在程序運(yùn)行中,當(dāng)接收到來(lái)自外界的命令,需要輸出某種波形時(shí)再調(diào)用相應(yīng)的中斷服務(wù)子程序和波形發(fā)生程序,經(jīng)電路的數(shù)/模轉(zhuǎn)換器和運(yùn)算放大器處理后,從信號(hào)發(fā)生器的輸出端口輸出。 4 / 25第二章 方案的設(shè)計(jì)與選擇2.1 方案的比較方案一:采用單片函數(shù)發(fā)生器(如 8038) ,8038 可同時(shí)產(chǎn)生正弦波、方波等,而且方法簡(jiǎn)單易行,用 D/A 轉(zhuǎn)換器的輸出來(lái)改變調(diào)制電壓,也可以實(shí)現(xiàn)數(shù)控調(diào)整頻率,但產(chǎn)生信號(hào)的頻
5、率穩(wěn)定度不高。方案二:采用鎖相式頻率合成器,利用鎖相環(huán),將壓控振蕩器(VCO)的輸出頻率鎖定在所需頻率上,該方案性能良好,但難以達(dá)到輸出頻率覆蓋系數(shù)的要求,且電路復(fù)雜。方案三:采用單片機(jī)編程的方法來(lái)實(shí)現(xiàn)。該方法可以通過(guò)編程的方法來(lái)控制信號(hào)波形的頻率和幅度,而且在硬件電路不變的情況下,通過(guò)改變程序來(lái)實(shí)現(xiàn)頻率的變換。此外,由于通過(guò)編程方法產(chǎn)生的是數(shù)字信號(hào),所以信號(hào)的精度可以做的很高。鑒于方案一的信號(hào)頻率不夠穩(wěn)定和方案二的電路復(fù)雜,頻率覆蓋系數(shù)難以達(dá)標(biāo)等缺點(diǎn),所以決定采用方案三的設(shè)計(jì)方法。它不僅采用軟硬件結(jié)合,軟件控制硬件的方法來(lái)實(shí)現(xiàn),使得信號(hào)頻率的穩(wěn)定性和精度的準(zhǔn)確性得以保證,而且它使用的幾種元器
6、件都是常用的元器件,容易得到,且價(jià)格便宜,使得硬件的開(kāi)銷達(dá)到最省。2.2 設(shè)計(jì)原理數(shù)字信號(hào)可以通過(guò)數(shù)/模轉(zhuǎn)換器轉(zhuǎn)換成模擬信號(hào),因此可通過(guò)產(chǎn)生數(shù)字信號(hào)再轉(zhuǎn)換成模擬信號(hào)的方法來(lái)獲得所需要的波形。89C51 單片機(jī)本身就是一個(gè)完整的微型計(jì)算機(jī),具有組成微型計(jì)算機(jī)的各部分部件:中央處理器 CPU、隨機(jī)存取存儲(chǔ)器RAM、只讀存儲(chǔ)器 ROM、I/O 接口電路、定時(shí)器/計(jì)數(shù)器以與串行通訊接口等,只要將 89C51 再配置鍵盤與其接口、顯示器與其接口、數(shù)模轉(zhuǎn)換與波形輸出、指示燈與其接口等四部分,即可構(gòu)成所需的波形發(fā)生器,其信號(hào)發(fā)生器構(gòu)成原理框圖如圖2.1 所示。圖 2.1 信號(hào)發(fā)生器原理框圖89C51 是整個(gè)
7、波形發(fā)生器的核心部分,通過(guò)程序的編寫和執(zhí)行,產(chǎn)生各種各樣的信號(hào),并從鍵盤接收數(shù)據(jù),進(jìn)行各種功能的轉(zhuǎn)換和信號(hào)幅度的調(diào)節(jié)。當(dāng)數(shù)字信號(hào)89C51單片機(jī)接口電路D/A轉(zhuǎn)換器濾波放大 輸出 5 / 25經(jīng)過(guò)接口電路到達(dá)轉(zhuǎn)換電路,將其轉(zhuǎn)換成模擬信號(hào)也就是所需要的輸出波形。 6 / 252.3 設(shè)計(jì)思想(1)利用單片機(jī)產(chǎn)生方波、正弦波、三角波和鋸齒波等信號(hào)波形,信號(hào)的頻率和幅度可變。(2)將一個(gè)周期的信號(hào)分離成 256 個(gè)點(diǎn)(按 X 軸等分) ,每?jī)牲c(diǎn)之間的時(shí)間間隔為T,用單片機(jī)的定時(shí)器產(chǎn)生,其表示式為:T=T/256。如果單片機(jī)的晶振為 12MHz,采用定時(shí)器方式 0,則定時(shí)器的初值為:X=213T/Tm
8、ec(2.1)定時(shí)時(shí)間常數(shù)為:TL=(8192T)/MOD256 (2.2)TH=(8192T)/256 (2.3)MOD32 表示除 32 取余數(shù)(3)正弦波的模擬信號(hào)是 D/A 轉(zhuǎn)換器的模擬量輸出,其計(jì)算公式為:Y=(A/2sint)+A/2(其中 A=VREF) (2.4)t=NT (N=1256) (2.5)那么對(duì)應(yīng)著存放在計(jì)算機(jī)里的這一點(diǎn)的數(shù)據(jù)為: (2.6) (4)一個(gè)周期被分離成 256 個(gè)點(diǎn),對(duì)應(yīng)的四種波形的256 個(gè)數(shù)據(jù)存放在以 TAB1-TAB4 為起始地址的存儲(chǔ)器中。2.4 設(shè)計(jì)功能(1)本方案利用 8155 擴(kuò)展 8 個(gè)獨(dú)立式按鍵,6 個(gè) LED 顯示器。其中“S0”號(hào)
9、鍵代表方波輸出, “S1”號(hào)鍵代表正弦波輸出, “S2”號(hào)鍵代表三角波輸出,“S3” 號(hào)鍵代表鋸齒波輸出。(2) “S4”號(hào)鍵為 10Hz 的頻率信號(hào), “S5”號(hào)鍵為 100Hz 的頻率信號(hào),“S6”號(hào)鍵為 500Hz 的頻率信號(hào), “S7”號(hào)鍵為 1KHz 的頻率信號(hào),6 個(gè) LED 顯示器輸出信號(hào)的頻率值,選用共陽(yáng)極 LED。(3)利用兩片 DAC0832 實(shí)現(xiàn)幅度可調(diào)的信號(hào)源, (其中一片用來(lái)調(diào)節(jié)幅度,另外一片用來(lái)實(shí)現(xiàn)信號(hào)源的輸出) 。(4)頻率圍:101000Hz。(5)輸出波形幅度為 05V。(sin1) 255(255)/2tDiYA 7 / 25第三章 硬件設(shè)計(jì)3.1 硬件原理
10、框圖硬件原理方框圖如圖 3.1 所示。圖 3.1 硬件原理框圖3.2 主控電路AT89C51 單處機(jī)部設(shè)置兩個(gè) 16 位可編程的定時(shí)器/計(jì)數(shù)器 T0 和 T1,它們具有計(jì)數(shù)器方式和定時(shí)器方式兩種工作方式與 4 種工作模式。在波形發(fā)生器中,將其作定時(shí)器使用,用它來(lái)精確地確定波形的兩個(gè)采樣點(diǎn)輸出之間的延遲時(shí)間。模式 1 采用的是 16 位計(jì)數(shù)器,當(dāng) T0 或 T1 被允許計(jì)數(shù)后,從初值開(kāi)始加計(jì)數(shù),最高位產(chǎn)生溢出時(shí)向 CPU 請(qǐng)求中斷。中斷系統(tǒng)是使處理器具有對(duì)外界異步事件的處理能力而設(shè)置的。當(dāng)中央處理器CPU 正在處理某件事的時(shí)候外界發(fā)生了緊急事件,要求 CPU 暫停當(dāng)前的工作,轉(zhuǎn)而去處理這個(gè)緊急事
11、件。在波形發(fā)生器中,只用到片定時(shí)器計(jì)數(shù)器溢出時(shí)產(chǎn)生的中斷請(qǐng)求,即是在 AT89C51 輸出一個(gè)波形采樣點(diǎn)信號(hào)后,接著啟動(dòng)定時(shí)器,在定時(shí)器未產(chǎn)生中斷之前,AT89C51 等待,直到定時(shí)器計(jì)時(shí)結(jié)束,產(chǎn)生中斷請(qǐng)求,AT89C51響應(yīng)中斷,接著輸出下一個(gè)采樣點(diǎn)信號(hào),如此循環(huán)產(chǎn)生所需要的信號(hào)波形6。如圖 3.2 所示,AT89C51 從 P0 口接收來(lái)自鍵盤的信號(hào),并通過(guò) P2 口輸出一些控制信號(hào),將其輸入到 8155 的信號(hào)控制端,用于控制其信號(hào)的輸入、輸出。如果有鍵按下,則在讀控制端會(huì)產(chǎn)生一個(gè)讀信號(hào),使單片機(jī)讀入信號(hào)。如果有信號(hào)輸出,則在寫控制端產(chǎn)生一個(gè)寫信號(hào),并將所要輸出的信號(hào)通過(guò) 8155 的
12、PB 口輸出,并在數(shù)碼管上顯示出來(lái)。單片機(jī)鍵盤電路顯示電路復(fù)位電路數(shù)/模轉(zhuǎn)換電路放大電路波形輸出 8 / 25圖 3.2 主控電路圖3.3 數(shù)/模轉(zhuǎn)換電路由于單片機(jī)產(chǎn)生的是數(shù)字信號(hào),要想得到所需要的波形,就要把數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),所以該文選用價(jià)格低廉、接口簡(jiǎn)單、轉(zhuǎn)換控制容易并具有 8 位分辨率的數(shù)模轉(zhuǎn)換器 DAC0832。DAC0832 主要由 8 位輸入寄存器、8 位 DAC 寄存器、8 位D/A 轉(zhuǎn)換器以與輸入控制電路四部分組成。但實(shí)際上,DAC0832 輸出的電量也不是真正能連續(xù)可調(diào),而是以其絕對(duì)分辨率為單位增減,是準(zhǔn)模擬量的輸出。DAC0832是電流型輸出,在應(yīng)用時(shí)外接運(yùn)放使之成為
13、電壓型輸出。由圖 3.3 可知,DAC0832 的片選地址為 7FFFH,當(dāng) P25 有效時(shí),若 P0 口向其送的數(shù)據(jù)為 00H, 則 U1 的輸出電壓為 0V;若 P0 口向其送的數(shù)據(jù)為 0FFH 時(shí), 則 U1的輸出電壓為-5V. 故當(dāng) U1 輸出電壓為 0V 時(shí),由公式得:Vout = - 5V.當(dāng)輸出電壓為- 5V 時(shí),可得:Vout = +5V,所以輸出波形的電壓變化圍為- 5V+ 5V. 故可推得,當(dāng) P0 所送數(shù)據(jù)為 80H 時(shí),Vout為 0V4。圖 3.3 數(shù)模轉(zhuǎn)換電路3.4 按鍵接口電路1230123UUURRR 9 / 25圖 3.4 為鍵盤接口電路的原理圖,圖中鍵盤和
14、8155 的 PA 口相連,AT89C51 的P0 口和 8155 的 D0 口相連,AT89C51 不斷的掃描鍵盤,看是否有鍵按下,如有,則根據(jù)相應(yīng)按鍵作出反應(yīng)。其中“S0”號(hào)鍵代表方波輸出, “S1”號(hào)鍵代表正弦波輸出, “S2”號(hào)鍵代表三角波輸出。 “S3”號(hào)鍵代表鋸齒波輸出, “S4”號(hào)鍵為 10Hz的頻率信號(hào), “S5”號(hào)鍵為 100Hz 的頻率信號(hào), “S6”號(hào)鍵為 500Hz 的頻率信號(hào),“S7”號(hào)鍵為 1KHz 的頻率信號(hào)3。 圖 3.4 按鍵接口3.5 時(shí)鐘電路8051 單片機(jī)有兩個(gè)引腳(XTAL1,XTAL2)用于外接石英晶體和微調(diào)電容,從而構(gòu)成時(shí)鐘電路,其電路圖如圖 3.
15、5 所示。電容 C1、C2 對(duì)振蕩頻率有穩(wěn)定作用,其容量的選擇為 30pf,振蕩器選擇頻率為 12MHz 的石英晶體。由于頻率較大時(shí),三角波、正弦波、鋸齒波中每一點(diǎn)的延時(shí)時(shí)間為幾微秒,故延時(shí)時(shí)間還要加上指令時(shí)間才能獲得較大的頻率波形9。 圖 3.5 時(shí)鐘電路 10 / 253.6 顯示電路顯示電路是用來(lái)顯示波形信號(hào)的頻率,使得整個(gè)系統(tǒng)更加合理,從經(jīng)濟(jì)的角度出發(fā),所以顯示器件采用 LED 數(shù)碼管顯示器。而且 LED 數(shù)碼管是采用共陽(yáng)極接法,當(dāng)主控端口輸出一個(gè)低電平后,與其相對(duì)應(yīng)的數(shù)碼管即變亮,顯示所需數(shù)據(jù)。其器件模型如圖 3.6 所示。圖 3.6LED 顯示電路 11 / 25第四章 軟件設(shè)計(jì)4
16、.1 程序流程圖本文中子程序的調(diào)用是通過(guò)按鍵的選擇來(lái)實(shí)現(xiàn),在取得按鍵相應(yīng)的鍵值后,啟動(dòng)計(jì)時(shí)器和相應(yīng)的中斷服務(wù)程序,再直接查詢程序中預(yù)先設(shè)置的數(shù)據(jù)值,通過(guò)轉(zhuǎn)換輸出相應(yīng)的電壓,從而形成所需的各種波形。主程序的流程圖如圖 4.1 所示,在程序開(kāi)始運(yùn)行之后,首先是對(duì) 8155 進(jìn)行初始化,之后判斷信號(hào)頻率值,如符合所需的頻率,則重置時(shí)間常數(shù),并通過(guò)顯示器顯示出來(lái),不符則返回。在中斷結(jié)束后,還要來(lái)判斷波形是否符合,如符合,則顯示其頻率,不符則返回,重新判斷。圖 4.1 主程序流程圖 12 / 25圖 4.2 為各波形子程序的流程圖。如圖所示,在中斷服務(wù)子程序開(kāi)始后,通過(guò)判斷來(lái)確定各種波形的輸出,當(dāng)判斷選
17、擇的不是方波后,則轉(zhuǎn)向?qū)φ也ǖ呐袛啵绱朔磸?fù)。如果選擇的是方波,則用查表的方法求出相應(yīng)的數(shù)據(jù),并通過(guò) D/A 轉(zhuǎn)換器將數(shù)據(jù)轉(zhuǎn)換成模擬信號(hào),形成所需波形信號(hào)。圖 4.2 子程序流程圖 13 / 25綜合實(shí)驗(yàn)總結(jié)課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí)課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí), ,發(fā)現(xiàn)發(fā)現(xiàn), ,提出提出, ,分析和解決實(shí)際問(wèn)分析和解決實(shí)際問(wèn)題題, ,鍛煉實(shí)踐能力的重要環(huán)節(jié)鍛煉實(shí)踐能力的重要環(huán)節(jié), ,是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程. .隨隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成
18、為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域,域, 在生活中可以說(shuō)得是無(wú)處不在。因此作為二十一世紀(jì)的大學(xué)來(lái)說(shuō)掌握單片在生活中可以說(shuō)得是無(wú)處不在。因此作為二十一世紀(jì)的大學(xué)來(lái)說(shuō)掌握單片機(jī)的開(kāi)發(fā)技術(shù)是十分重要的。機(jī)的開(kāi)發(fā)技術(shù)是十分重要的?;仡櫰鸫舜螁纹瑱C(jī)課程設(shè)計(jì),我仍感慨頗多,的確,從選題到定稿,回顧起此次單片機(jī)課程設(shè)計(jì),我仍感慨頗多,的確,從選題到定稿,從理論到實(shí)踐,在好幾個(gè)星期的日子里,可以說(shuō)得是苦多于甜,但是可以學(xué)到從理論到實(shí)踐,在好幾個(gè)星期的日子里,可以說(shuō)得是苦多于甜,但是可以學(xué)到很多很多的的東西,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多很多很多的的東西,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而
19、且學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)得是困難重重,手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)得是困難重重,這畢竟第一次做的,難免會(huì)遇到過(guò)各種各樣的問(wèn)題
20、,同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)這畢竟第一次做的,難免會(huì)遇到過(guò)各種各樣的問(wèn)題,同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,比如說(shuō)不懂一些元器件的使用方法,對(duì)單片機(jī)匯編語(yǔ)言掌握得不好比如說(shuō)不懂一些元器件的使用方法,對(duì)單片機(jī)匯編語(yǔ)言掌握得不好通過(guò)這通過(guò)這次課程設(shè)計(jì)之后,一定把以前所學(xué)過(guò)的知識(shí)重新溫故。次課程設(shè)計(jì)之后,一定把以前所學(xué)過(guò)的知識(shí)重新溫故。這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多編程問(wèn)題,最后這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多編程問(wèn)題,最后在宋陽(yáng)老師的辛勤指導(dǎo)下,終于
21、游逆而解。同時(shí),在宋陽(yáng)老師那里我學(xué)得到很在宋陽(yáng)老師的辛勤指導(dǎo)下,終于游逆而解。同時(shí),在宋陽(yáng)老師那里我學(xué)得到很多實(shí)用的知識(shí),在次我表示感!同時(shí),對(duì)給過(guò)我?guī)椭乃型瑢W(xué)和各位指導(dǎo)老多實(shí)用的知識(shí),在次我表示感!同時(shí),對(duì)給過(guò)我?guī)椭乃型瑢W(xué)和各位指導(dǎo)老師再次表示忠心的感!師再次表示忠心的感! 14 / 25參考文獻(xiàn)1 程全.基于 AT89C52 實(shí)現(xiàn)的多種波形發(fā)生器的設(shè)計(jì)J.師學(xué)院學(xué)報(bào),2005.22(5):5758.2 周明德.微型計(jì)算機(jī)系統(tǒng)原理與應(yīng)用M.:清華大學(xué),2002.341364.3 樂(lè)善.微型計(jì)算機(jī)接口技術(shù)與應(yīng)用M.:航空航天大學(xué),2001.258264.4 童詩(shī)白.模擬電路技術(shù)基礎(chǔ)M.
22、:高等教育,2000.171202.5 杜華.任意波形發(fā)生器與應(yīng)用J.國(guó)外電子測(cè)量技術(shù),2005.1:3840.6 友德.單片微型機(jī)原理、應(yīng)用與實(shí)踐M.:復(fù)旦大學(xué),2004.4044. 7 程朗.基于 8051 單片機(jī)的雙通道波形發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)J.計(jì)算機(jī)工程與應(yīng)用,2004.8:100103.8 永瑞.電子測(cè)量技術(shù)基礎(chǔ)M.:電子科技大學(xué),2006.61101.9 葉紫. MCS-51 單片機(jī)應(yīng)用教程M.:清華大學(xué),2004.232238.附錄附錄 1 1 電路原理圖電路原理圖附錄附錄 2 2 源程序源程序源程序:ORG 0000HAJM MAIN 15 / 25ORG 000BHLJMP
23、TC0ORG 0030HMAIN:MOV DPTR,#9FFFH 指向 DAC0832(1)MOV A,70HMOVX DPTR,ADAC0832(1)輸出MOV DPTR,#7F00H 指向 8155 命令字端口地址MOV A,#06H 設(shè)置 A 口為輸入,B 口、C 口為輸出MOVX DPTR,A 送命令字MOV DPTR,#7F01H 指向 A 口地址MOVX A,DPTR 讀入 A 口的開(kāi)關(guān)數(shù)據(jù)JNB ACC.4,K10H 判斷是否“4”號(hào)鍵,若是則轉(zhuǎn)輸出 10Hz 信號(hào)JNB ACC.5,K100H 判斷是否“5”號(hào)鍵,若是則轉(zhuǎn)輸出 100Hz 信號(hào)JNB ACC.6,K500H 判
24、斷是否“6”號(hào)鍵,若是則轉(zhuǎn)輸出 500Hz 信號(hào)JNB ACC.7,K1K 判斷是否“7”號(hào)鍵,若是則轉(zhuǎn)輸出 1KHz 信號(hào)AJMP MAINLED1: MOV R3,#06H 設(shè)置 6 個(gè) LED 顯示MOVR2,#01H 選通第一位 LED 數(shù)據(jù)MOV R1,#30H 送顯示緩沖區(qū)首址GN1:MOV DPTR,#7F03H 指向 C 口地址MOV A,R2 位選通數(shù)據(jù)送 AMOVX DPTR,A 位選通數(shù)據(jù)送 C 口RL A 選通下一位MOV R2,A 位選通數(shù)據(jù)送 R2 中保存MOV A, R1 取鍵值MOV DPTR,#TAB 送 LED 顯示軟件譯碼表首址MOVC A,A+DPTR
25、查表求出鍵值顯示的段碼MOV DPTR,#7F02H 指向 B 口地址MOVDPTR,A 段碼送顯示LCALL LOOP1 調(diào)延時(shí)子程序 16 / 25INC R1 指向下一位顯示緩沖區(qū)地址DJNZ R3,GN1 循環(huán)顯示 6 個(gè) LEDRETLOOP1:MOV R4,#08H 延時(shí)子程序LOOP:MOV R5,#0A0HDJNZ R5,$DJNZ R4,LOOPRETK10H:MOV 30H,#00H 顯示 10HzMOV 31H,#00HMOV 32H,#00HMOV 33H,#00HMOV 34H,#01HMOV 35H,#00HLCALL LED1 調(diào)顯示子程序MOV TMOD,#00
26、HMOV TL0,#15HMOV TH0,#9EHAJMP PDK100H:MOV 30H,#00H 顯示 100HzMOV 31H,#00HMOV 32H,#00HMOV 33H,#01HMOV 34H,#00HMOV 35H,#00HLCALL LED1 調(diào)顯示子程序MOV TMOD,#00HMOV TL0,#08HMOV TH0,#0F6HAJMP PD 17 / 25K500H:MOV 30H,#00H 顯示 500HzMOV 31H,#00HMOV 32H,#00HMOV 33H,#05HMOV 34H,#00HMOV 35H,#00HLCALL LED1 調(diào)顯示子程序MOV TMO
27、D,#00HMOV TL0,#01HMOV TH0,#0FEHAJMP PDK1K:MOV 30H,#00H 顯示 1KHzMOV 31H,#00HMOV 32H,#01HMOV 33H,#00HMOV 34H,#00HMOV 35H,#00HLCALL LED1 調(diào)顯示子程序MOV TMOD,#00HMOV TL0,#01HMOV TH0,#0FFHPD:JNB ACC.0,KE0 判斷是否“0”號(hào)鍵按下,若是則轉(zhuǎn)方波輸出JNB ACC.1,KE1 判斷是否“1”號(hào)鍵按下,若是則轉(zhuǎn)正弦方波輸出JNB ACC.2,KE2 判斷是否“2”號(hào)鍵按下,若是則轉(zhuǎn)三角波輸出JNB ACC.3,KE3 判
28、斷是否“3”號(hào)鍵按下,若是則轉(zhuǎn)鋸齒波輸出LJMP PDKE0:MOV R7,#00HLCALL LED1 調(diào)顯示子程序MOV R6,#00HAJMP GN 18 / 25KE1:MOV R7,#02HLCALL LED1 調(diào)顯示子程序MOV R6,#00HAJMP GNKE2:MOV R7,#02HLCALL LED1 調(diào)顯示子程序MOV R6,#00HAJMP GN KE3:MOV R7,#02HLCALL LED1 調(diào)顯示子程序MOV R6,#00HGN: SETB TR0SETB ET0SETB EALOP1:JNB ACC.4,K10H 判斷是否“4”號(hào)鍵,若是則轉(zhuǎn)輸出 10Hz 信號(hào)
29、JNB ACC.5,K100H 判斷是否“5”號(hào)鍵,若是則轉(zhuǎn)輸出 100Hz 信號(hào)JNB ACC.6,K500H 判斷是否“6”號(hào)鍵,若是則轉(zhuǎn)輸出 500Hz 信號(hào)JNB ACC.7,K1K 判斷是否“7”號(hào)鍵,若是則轉(zhuǎn)輸出 1KHz 信號(hào)AJMP LOP1TC0:CJNE R7,#00H,TC1 發(fā)送方波程序MOV DPTR,#TAB1 送方波數(shù)據(jù)表首址MOV A,R6 發(fā)送數(shù)據(jù)寄存器MOVC A,A+DPTRMOV DPTR,#0AFFFH 指向 DAC0832(2)MOVX DPTR,ADAC0832(2)輸出MOV A,R6INC A MOV R6,ACJNE A,#32,QL1MOV
30、 R6,#00H 19 / 25AJMP QL1TC1:CJNE R7,#01H,TC2 發(fā)送正弦波程序MOV DPTR,#TAB2 送正弦波數(shù)據(jù)表首址MOV A,R6MOVC A, A+DPTRMOV DPTR,#0AFFFH 指向 DAC0832(2)MOVX DPTR,ADAC0832(2)輸出MOV A,R6INC AMOV R6,ACJNE A,#32,QL1MOV R6,#00HAJMP QL1TC2:CJNE R7,#02H,QL1 發(fā)送三角波程序MOV DPTR,#TAB3 送三角波數(shù)據(jù)表首址MOV A,R6MOVC A,A+DPTRMOV DPTR,#0AFFFH 指向 DA
31、C0832(2)MOVX DPTR,ADAC0832(2)輸出MOV A,R6INCAMOV R6,ACJNE A,#32,QL1MOV R6,#00HAJMP QL1TC3:CJNE R7,#03H,QL1 發(fā)送鋸齒波程序MOV DPTR,#TAB4 送鋸齒波數(shù)據(jù)表首址MOV A,R6MOVC A, A+DPTRMOV DPTR,#0AFFFH 指向 DAC0832(2) 20 / 25MOVX DPTR,ADAC0832(2)輸出MOV A,R6INC AMOV R6,ACJNE A,#32,QL1MOV R6,#00HQL1: RETITAB: DB 0C0H,0F9H,0A4H,0B0
32、H,99H,82H,0F8H,80HTAB1: DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 0FFH,0FFH
33、,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 0
34、FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFHDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H 21 / 25DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
35、DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H,
36、00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HTAB2:DB 80H, 83H,86H,89H,8DH,90H,93H,96H DB 99H, 9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH DB 0B1H, 0B4H,0B7H,0BAH,0B
37、CH,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,0FFH,0FFH DB 0FFH, 0FFH,0FFH,0FFH,0FFH, 0FFH,0FEH,0FDH DB 0FDH, 0FC
38、H,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, 9CH, 99H DB 96H, 93H, 90H, 8DH, 89H, 86H, 83H, 80H D
39、B 80H, 7CH, 79H, 78H, 72H, 6FH, 6CH, 69H 22 / 25DB 66H, 63H, 60H, 5DH, 5AH, 57H, 55H, 51H DB4EH, 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, 08H, 07H, 06H, 05H, 04H, 03H, 02H D
40、B 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, 40H, 43H, 45H, 48H, 4CH, 4EH DB 51H,
41、 55H, 57H, 5AH, 5DH, 60H, 63H, 66H DB 69H, 6CH, 6FH, 72H, 76H, 79H, 7CH, 80HTAB3: DB 00H,02H,04H,06H,08H,0AH,0CH,0EH DB 10H,12H,14H,16H,18H,1AH,1CH,1EH DB 20H,22H,24H,26H,28H,2AH,2CH,2EH DB 30H,32H,34H,36H,38H,3AH,3CH,3EH DB 40H,42H,44H,46H,48H,4AH,4CH,4EH DB 50H,52H,54H,56H,58H,5AH,5CH,5EH DB 60H,6
42、2H,64H,66H,68H,6AH,6CH,6EH DB 70H,72H,74H,76H,78H,7AH,7CH,7EH DB 80H,82H,84H,86H,88H,8AH,8CH,8EH DB 0A0H,0A2H,0A4H,0A6H,0A8H,0AAH,0ACH,0AEH DB 0B0H,0B2H,0B4H,0B6H,0B8H,0BAH,0BCH,0BEH DB 0C0H,0C2H,0C4H,0C6H,0C8H,0CAH,0CCH,0CEH DB 0D0H,0D2H,0D4H,0D6H,0D8H,0DAH,0DCH,0DEH DB 0E0H,0E2H,0E4H,0E6H,0E8H,0EA
43、H,0ECH,0EEH DB 0F0H,0F2H,0F4H,0F6H,0F8H,0FAH,0FCH,0FEH DB 0FFH,0FEH,0FCH,0FAH,0F8H,0F6H,0F4H,0F2H DB 0F0H,0EEH,0ECH,0EAH,0E8H,0E6H,0E4H,0E2H 23 / 25 DB 0E0H,0DEH,0DCH,0DAH,0D8H,0D6H,0D4H,0D2H DB 0D0H,0CEH,0CCH,0CAH,0C8H,0C6H,0C4H,0C2H DB 0C0H,0BEH,0BCH,0BAH,0B8H,0B6H,0B4H,0B2H DB 0B0H,0AEH,0ACH,0AAH,0A8H,0A6H,0A4H,0A2H DB 0A0H,09EH,9CH,9AH,98H,96H,94H,92H DB 90H,8EH,8CH,8AH,88H,86H,84H,82H DB 80H,7EH,7CH,7AH,78H,76H,74H,72H DB 70H,6EH,6CH,6AH,68H,66H,64H,62H DB 60H,5EH,5CH,5AH,58H,56H,54H,52H DB 50H,4EH,4CH,4AH,48H,46H,44H,42H DB 40H,3EH,3CH,3AH,38H,36H,34H,32H DB 30H,2EH,2C
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 瓷制品茶具買賣協(xié)議書(shū)
- 畫(huà)室包過(guò)協(xié)議書(shū)
- 窗戶包工協(xié)議書(shū)
- 用土回填協(xié)議書(shū)
- 衛(wèi)生健康副校長(zhǎng)協(xié)議書(shū)
- 線上購(gòu)車協(xié)議書(shū)
- 砂石整治協(xié)議書(shū)
- 工作室提成合同協(xié)議書(shū)
- 統(tǒng)戰(zhàn)政治協(xié)議書(shū)
- 渣土車轉(zhuǎn)讓合同協(xié)議書(shū)
- 內(nèi)鏡下硬化治療內(nèi)痔
- 資源勘查工程基礎(chǔ)知識(shí)單選題100道及答案解析
- 醫(yī)療器械軟件研究報(bào)告 適用嵌入式和桌面式 2023版
- 《生死疲勞》莫言讀書(shū)分享好書(shū)讀后感
- 配電箱巡檢表
- 【品牌手冊(cè)】無(wú)憂傳媒品牌手冊(cè)-市場(chǎng)營(yíng)銷策劃-品牌營(yíng)銷案例與品牌手冊(cè)
- 地磚地面工程施工組織設(shè)計(jì)方案
- 焊接質(zhì)檢員職業(yè)技能考試題及答案
- 2024年上海市安全員A證(企業(yè)主要負(fù)責(zé)人)考試題庫(kù)附答案
- 新人教版一年級(jí)數(shù)學(xué)下冊(cè)全冊(cè)教案(表格式)
- GB/T 24067-2024溫室氣體產(chǎn)品碳足跡量化要求和指南
評(píng)論
0/150
提交評(píng)論