




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 畢畢業(yè)業(yè)論論文文題 目單片機控制多功能信號發(fā)生器學生姓名陳志凱學 號系 部電子工程系專 業(yè)應用電子技術班 級指導教師顧問教師二九年六月 緒論 摘 要本文介紹一種用 at89c51 單片機構(gòu)成的波形發(fā)生器,可產(chǎn)生方波、三角波、正弦波、鋸齒波等多種波形,波形的周期可用程序改變,并可根據(jù)需要選擇單極性輸出或雙極性輸出,具有線路簡單、結(jié)構(gòu)緊湊、性能優(yōu)越等特點。文章給出了源代碼,通過仿真測試,其性能指標達到了設計要求。關鍵詞:單片機;dac;信號發(fā)生器目 錄i目 錄摘 要 .i目 錄 .ii第一章 緒論 .11.1 單片機概述 .11.2 信號發(fā)生器的分類 .11.3 研究內(nèi)容 .1第二章 方案的設計
2、與選擇 .32.1 方案的比較 .32.2 設計原理 .32.3 設計思想 .52.4 設計功能 .5第三章 硬件設計 .73.1 硬件原理框圖 .73.2 主控電路 .113.3 數(shù)、模轉(zhuǎn)換電路 .133.4 按鍵接口電路 .143.5 時鐘電路 .143.6 顯示電路 .15第四章 軟件設計 .174.1 程序流程圖 .17第五章 總結(jié)與展望 .19致 謝 .21參考文獻 .23附錄 1 電路原理圖 .25附錄 2 源程序.26 緒論 0第一章 緒論1.1 單片機概述隨著大規(guī)模集成電路技術的發(fā)展,中央處理器(cpu)、隨機存取存儲器(ram)、只讀存儲器(rom)、(i/o)接口、定時器/
3、計數(shù)器和串行通信接口,以及其他一些計算機外圍電路等均可集成在一塊芯片上構(gòu)成單片微型計算機,簡稱為單片機。單片機具有體積小、成本低,性能穩(wěn)定、使用壽命長等特點。其最明顯的優(yōu)勢就是可以嵌入到各種儀器、設備中,這是其他計算機和網(wǎng)絡都無法做到的9,10。1.2 信號發(fā)生器的分類信號發(fā)生器應用廣泛,種類繁多,性能各異,分類也不盡一致。按照頻率范圍分類可以分為:超低頻信號發(fā)生器、低頻信號發(fā)生器、視頻信號發(fā)生器、高頻波形發(fā)生器、甚高頻波形發(fā)生器和超高頻信號發(fā)生器。按照輸出波形分類可以分為:正弦信號發(fā)生器和非正弦信號發(fā)生器,非正弦信號發(fā)生器又包括:脈沖信號發(fā)生器,函數(shù)信號發(fā)生器、掃頻信號發(fā)生器、數(shù)字序列波形發(fā)
4、生器、圖形信號發(fā)生器、噪聲信號發(fā)生器等。按照信號發(fā)生器性能指標可以分為一般信號發(fā)生器和標準信號發(fā)生器。前者指對輸出信號的頻率、幅度的準確度和穩(wěn)定度以及波形失真等要求不高的一類信號發(fā)生器。后者是指其輸出信號的頻率、幅度、調(diào)制系數(shù)等在一定范圍內(nèi)連續(xù)可調(diào),并且讀數(shù)準確、穩(wěn)定、屏蔽良好的中、高檔信號發(fā)生器5。1.3 研究內(nèi)容本文是做基于單片機的信號發(fā)生器的設計,將采用編程的方法來實現(xiàn)三角波、鋸齒波、矩形波、正弦波的發(fā)生。根據(jù)設計的要求,對各種波形的頻率和幅度進行程序的編寫,并將所寫程序裝入單片機的程序存儲器中。在程序運行中,當接收到來自外界的命令,需要輸出某種波形時再調(diào)用相應的中斷服務子程序和波形發(fā)生
5、程序,經(jīng)電路的數(shù)/模轉(zhuǎn)換器和運算放大器處理后,從信號發(fā)生器的輸出端口輸出。 方案的設計與選擇 2第二章 方案的設計與選擇2.1 方案的比較方案一:采用單片函數(shù)發(fā)生器(如 8038) ,8038 可同時產(chǎn)生正弦波、方波等,而且方法簡單易行,用 d/a 轉(zhuǎn)換器的輸出來改變調(diào)制電壓,也可以實現(xiàn)數(shù)控調(diào)整頻率,但產(chǎn)生信號的頻率穩(wěn)定度不高。方案二:采用鎖相式頻率合成器,利用鎖相環(huán),將壓控振蕩器(vco)的輸出頻率鎖定在所需頻率上,該方案性能良好,但難以達到輸出頻率覆蓋系數(shù)的要求,且電路復雜。方案三:采用單片機編程的方法來實現(xiàn)。該方法可以通過編程的方法來控制信號波形的頻率和幅度,而且在硬件電路不變的情況下,
6、通過改變程序來實現(xiàn)頻率的變換。此外,由于通過編程方法產(chǎn)生的是數(shù)字信號,所以信號的精度可以做的很高。鑒于方案一的信號頻率不夠穩(wěn)定和方案二的電路復雜,頻率覆蓋系數(shù)難以達標等缺點,所以決定采用方案三的設計方法。它不僅采用軟硬件結(jié)合,軟件控制硬件的方法來實現(xiàn),使得信號頻率的穩(wěn)定性和精度的準確性得以保證,而且它使用的幾種元器件都是常用的元器件,容易得到,且價格便宜,使得硬件的開銷達到最省1,7。2.2 設計原理數(shù)字信號可以通過數(shù)/模轉(zhuǎn)換器轉(zhuǎn)換成模擬信號,因此可通過產(chǎn)生數(shù)字信號再轉(zhuǎn)換成模擬信號的方法來獲得所需要的波形。89c51 單片機本身就是一個完整的微型計算機,具有組成微型計算機的各部分部件:中央處理
7、器 cpu、隨機存取存儲器ram、只讀存儲器 rom、i/o 接口電路、定時器/計數(shù)器以及串行通訊接口等,只要將 89c51 再配置鍵盤及其接口、顯示器及其接口、數(shù)模轉(zhuǎn)換及波形輸出、指示燈及其接口等四部分,即可構(gòu)成所需的波形發(fā)生器,其信號發(fā)生器構(gòu)成原理框圖如圖2.1 所示2。圖 2.1 信號發(fā)生器原理框圖89c51 是整個波形發(fā)生器的核心部分,通過程序的編寫和執(zhí)行,產(chǎn)生各種各樣89c51單片機接口電路d/a轉(zhuǎn)換器濾波放大 輸出 方案的設計與選擇 2的信號,并從鍵盤接收數(shù)據(jù),進行各種功能的轉(zhuǎn)換和信號幅度的調(diào)節(jié)。當數(shù)字信號經(jīng)過接口電路到達轉(zhuǎn)換電路,將其轉(zhuǎn)換成模擬信號也就是所需要的輸出波形。 方案的
8、設計與選擇 22.3 設計思想(1)利用單片機產(chǎn)生方波、正弦波、三角波和鋸齒波等信號波形,信號的頻率和幅度可變。(2)將一個周期的信號分離成 256 個點(按 x 軸等分) ,每兩點之間的時間間隔為t,用單片機的定時器產(chǎn)生,其表示式為:t=t/256。如果單片機的晶振為 12mhz,采用定時器方式 0,則定時器的初值為: x=213t/tmec (2.1)定時時間常數(shù)為: tl =(8192t)/mod256 (2.2)th=(8192t)/256 (2.3)mod32 表示除 32 取余數(shù)(3)正弦波的模擬信號是 d/a 轉(zhuǎn)換器的模擬量輸出,其計算公式為: y=(a/2sint)+a/2 (
9、其中 a=vref) (2.4)t=nt (n=1256) (2.5)那么對應著存放在計算機里的這一點的數(shù)據(jù)為: (2.6) (4)一個周期被分離成256 個點,對應的四種波形的 256 個數(shù)據(jù)存放在以 tab1-tab4 為起始地址的存儲器中。2.4 設計功能(1)本方案利用 8155 擴展 8 個獨立式按鍵,6 個 led 顯示器。其中“s0”號鍵代表方波輸出, “s1”號鍵代表正弦波輸出, “s2”號鍵代表三角波輸出, “s3” 號鍵代表鋸齒波輸出。(2) “s4”號鍵為 10hz 的頻率信號, “s5”號鍵為 100hz 的頻率信號,“s6”號鍵為 500hz 的頻率信號, “s7”號
10、鍵為 1khz 的頻率信號,6 個 led 顯示器輸出信號的頻率值,選用共陽極 led。(3)利用兩片 dac0832 實現(xiàn)幅度可調(diào)的信號源, (其中一片用來調(diào)節(jié)幅度,另外一片用來實現(xiàn)信號源的輸出) 。(4)頻率范圍:101000hz。(5)輸出波形幅度為 05v。(sin1) 255(255)/2tdiya 硬件設計 11第三章 硬件設計3.1 硬件原理框圖硬件原理方框圖如圖 4.1 所示。圖 4.1 硬件原理框圖3.2 主控電路at89c51 單處機內(nèi)部設置兩個 16 位可編程的定時器/計數(shù)器 t0 和 t1,它們具有計數(shù)器方式和定時器方式兩種工作方式及 4 種工作模式。在波形發(fā)生器中,將
11、其作定時器使用,用它來精確地確定波形的兩個采樣點輸出之間的延遲時間。模式 1采用的是 16 位計數(shù)器,當 t0 或 t1 被允許計數(shù)后,從初值開始加計數(shù),最高位產(chǎn)生溢出時向 cpu 請求中斷。中斷系統(tǒng)是使處理器具有對外界異步事件的處理能力而設置的。當中央處理器cpu 正在處理某件事的時候外界發(fā)生了緊急事件,要求 cpu 暫停當前的工作,轉(zhuǎn)而去處理這個緊急事件。在波形發(fā)生器中,只用到片內(nèi)定時器計數(shù)器溢出時產(chǎn)生的中斷請求,即是在 at89c51 輸出一個波形采樣點信號后,接著啟動定時器,在定時器未產(chǎn)生中斷之前,at89c51 等待,直到定時器計時結(jié)束,產(chǎn)生中斷請求,at89c51 響應中斷,接著輸
12、出下一個采樣點信號,如此循環(huán)產(chǎn)生所需要的信號波形6。如圖 3.2 所示,at89c51 從 p0 口接收來自鍵盤的信號,并通過 p2 口輸出一些控制信號,將其輸入到 8155 的信號控制端,用于控制其信號的輸入、輸出。如果有鍵按下,則在讀控制端會產(chǎn)生一個讀信號,使單片機讀入信號。如果有信號輸出,則在寫控制端產(chǎn)生一個寫信號,并將所要輸出的信號通過 8155 的 pb 口輸出,并在數(shù)碼管上顯示出來。單片機鍵盤電路顯示電路復位電路數(shù)/模轉(zhuǎn)換電路放大電路波形輸出 硬件設計 12圖 3.2 主控電路圖3.3 數(shù)/模轉(zhuǎn)換電路由于單片機產(chǎn)生的是數(shù)字信號,要想得到所需要的波形,就要把數(shù)字信號轉(zhuǎn)換成模擬信號,所
13、以該文選用價格低廉、接口簡單、轉(zhuǎn)換控制容易并具有 8 位分辨率的數(shù)模轉(zhuǎn)換器 dac0832。dac0832 主要由 8 位輸入寄存器、8 位 dac 寄存器、8位 d/a 轉(zhuǎn)換器以及輸入控制電路四部分組成。但實際上,dac0832 輸出的電量也不是真正能連續(xù)可調(diào),而是以其絕對分辨率為單位增減,是準模擬量的輸出。dac0832 是電流型輸出,在應用時外接運放使之成為電壓型輸出。由圖 3.3 可知,dac0832 的片選地址為 7fffh,當 p25 有效時,若 p0 口向其送的數(shù)據(jù)為 00h, 則 u1 的輸出電壓為 0v;若 p0 口向其送的數(shù)據(jù)為 0ffh 時, 則 u1 的輸出電壓為-5v
14、. 故當 u1 輸出電壓為 0v 時,由公式 得:vout = - 5v.當輸出電壓為- 5v 時,可得:vout = +5v,所以輸出波形的電壓變化范圍為- 5v+ 5v. 故可推得,當 p0 所送數(shù)據(jù)為 80h 時,vout為 0v4。圖 3.3 數(shù)模轉(zhuǎn)換電路3.4 按鍵接口電路1230123uuurrr 硬件設計 13圖 3.4 為鍵盤接口電路的原理圖,圖中鍵盤和 8155 的 pa 口相連,at89c51 的p0 口和 8155 的 d0 口相連,at89c51 不斷的掃描鍵盤,看是否有鍵按下,如有,則根據(jù)相應按鍵作出反應。其中“s0”號鍵代表方波輸出, “s1”號鍵代表正弦波輸出,
15、“s2”號鍵代表三角波輸出。 “s3”號鍵代表鋸齒波輸出, “s4”號鍵為10hz 的頻率信號, “s5”號鍵為 100hz 的頻率信號, “s6”號鍵為 500hz 的頻率信號, “s7”號鍵為 1khz 的頻率信號3。 圖 3.4 按鍵接口3.5 時鐘電路8051 單片機有兩個引腳(xtal1,xtal2)用于外接石英晶體和微調(diào)電容,從而構(gòu)成時鐘電路,其電路圖如圖 4.5 所示。電容 c1、c2 對振蕩頻率有穩(wěn)定作用,其容量的選擇為 30pf,振蕩器選擇頻率為 12mhz 的石英晶體。由于頻率較大時,三角波、正弦波、鋸齒波中每一點的延時時間為幾微秒,故延時時間還要加上指令時間才能獲得較大的
16、頻率波形9。 圖 3.5 時鐘電路 硬件設計 133.6 顯示電路顯示電路是用來顯示波形信號的頻率,使得整個系統(tǒng)更加合理,從經(jīng)濟的角度出發(fā),所以顯示器件采用 led 數(shù)碼管顯示器。而且 led 數(shù)碼管是采用共陽極接法,當主控端口輸出一個低電平后,與其相對應的數(shù)碼管即變亮,顯示所需數(shù)據(jù)。其器件模型如圖 4.6 所示。圖 3.6 led 顯示電路 軟件設件 15第四章 軟件設計4.1 程序流程圖本文中子程序的調(diào)用是通過按鍵的選擇來實現(xiàn),在取得按鍵相應的鍵值后,啟動計時器和相應的中斷服務程序,再直接查詢程序中預先設置的數(shù)據(jù)值,通過轉(zhuǎn)換輸出相應的電壓,從而形成所需的各種波形。主程序的流程圖如圖 4.1
17、 所示,在程序開始運行之后,首先是對 8155 進行初始化,之后判斷信號頻率值,如符合所需的頻率,則重置時間常數(shù),并通過顯示器顯示出來,不符則返回。在中斷結(jié)束后,還要來判斷波形是否符合,如符合,則顯示其頻率,不符則返回,重新判斷。圖 4.1 主程序流程圖 軟件設件 16圖 4.2 為各波形子程序的流程圖。如圖所示,在中斷服務子程序開始后,通過判斷來確定各種波形的輸出,當判斷選擇的不是方波后,則轉(zhuǎn)向?qū)φ也ǖ呐袛?,如此反復。如果選擇的是方波,則用查表的方法求出相應的數(shù)據(jù),并通過 d/a 轉(zhuǎn)換器將數(shù)據(jù)轉(zhuǎn)換成模擬信號,形成所需波形信號。圖 4.2 子程序流程圖 總結(jié)與展望 16第五章 總結(jié)與展望這種
18、基于單片機的信號發(fā)生器已經(jīng)展示出很好的性能,而且有著很高的性價比。此外,它產(chǎn)生的波形與模擬電路的波形相比,波形有著更好的平滑性,其周期性也更加穩(wěn)定。已經(jīng)越來越多的應用到各種電子設備當中,給人們的日常生活帶來了方便。在論文中簡單介紹了它的用途和發(fā)展趨勢,根據(jù)它的一些基本知識,按照自己的想法設計了一類信號發(fā)生器,具體包括了設計方案以及相關參數(shù)的選取和計算,根據(jù)工作基本原理加入了一些相關的輔助電路,并編寫了相關的應用程序。有些指標還有待于進一步提高。例如,在精度及其它功能的擴展上還有較大的潛力可以挖掘,這些都有待于我們通過對電路的改進和對元器件的最佳選擇來進一步完善。而且由于本人所學知識有限,很多知
19、識點的學習不夠深刻,我會在以后的學習中更加踏實、認真的學好各個知識點。 總結(jié)與展望 16致 謝時光匆匆如流水,轉(zhuǎn)眼便是大學畢業(yè)。人最寶貴的年華有幾個三年,在這里我度過了讓我真正成長成熟的三年,記得剛進學校是我是多么的無助與陌生,三年的異地大學生活使我變的成熟,堅強和獨立。在論文即將完成之際,我的心情無法平靜,從開始進入課題到論文的順利完成,有多少可敬的師長、同學、朋友給了我無言的幫助,在這里請接受我誠摯的謝意!感謝我的所有任課老師,他們嚴謹細致、認真講解,他們循循善誘的教導和不拘一格的思路給予我無盡的啟迪。感謝我大學三年中交我所有課的老師,三年的大學生活中,不管生活還是學習上都給我很大的幫助,
20、讓我從靦腆的小女孩變成能獨立面對社會的畢業(yè)生。首先向跟隨我們?nèi)甑陌嘀魅螚铈面美蠋熤乱宰钫\摯的感謝,她不僅是我們的老師,更是我們的益友,在我的三年大學生活中她不僅給予我們學習上的幫助還給我們生活上很多幫助,鍛煉我的各方面能力,使我步入社會時能很快很好的融入。還要感謝的是在我平時學習中給我很大幫助的老師們,他們淵博的知識,嚴謹?shù)闹螌W,讓我不僅學到了扎實的專業(yè)知識,還教會了我如何做人,面對問題養(yǎng)成了沉著冷靜,努力解決。上班了,面對自己不熟悉的環(huán)境,我們要適應,上班了沒有很多的時間看書,更沒有多少時間來做畢業(yè)設計,在我們現(xiàn)在做這個設計時,離我們離開學校有半年多了,很多知識我們已經(jīng)忘掉了,在這里我們要
21、感謝譚偉東老師,在百忙之中抽出時間輔導我們,幫助我們做畢業(yè)設計輔導,使我們節(jié)省和很多時間,順利完成畢業(yè)設計。最后要感謝的是我的父母,因他們的給予我才能在這校園里完成我的大學夢想,使我的人生閱歷提高,增長見識,提高了自己個方面的素質(zhì)和涵養(yǎng)。也要感謝我的同學。 ,因為我們團結(jié)我們才能高效的完成畢業(yè)設計。在未來的日子里,我會更加努力的學習和工作,不辜負父母對我的殷殷期望!我一定會好好孝敬和報答他們!這段時間里邊非常感謝譚偉東導師對我們的細心照顧,熱情地為我們解決設計中存在的問題。真的很感謝您譚老師!當然在設計過程中還得到了周圍許多人和老師的幫助,以使我的畢業(yè)設計能順利地完成,在這里也衷心地說聲“謝謝
22、了!”在論文即將完成之際,我的心情無法平靜,從開始進入課題到論文的順利完成,有多少可敬的師長、同學、朋友給了我無言的幫助,在這里請接受我誠摯的謝意! 總結(jié)與展望 16 附錄 22參考文獻1 程全.基于 at89c52 實現(xiàn)的多種波形發(fā)生器的設計j.周口師范學院學報,2005.22(5):5758.2 周明德.微型計算機系統(tǒng)原理及應用m.北京:清華大學出版社,2002.341364.3 劉樂善.微型計算機接口技術及應用m.北京:北京航空航天大學出版社,2001.258264.4 童詩白.模擬電路技術基礎m.北京:高等教育出版社,2000.171202.5 杜華.任意波形發(fā)生器及應用j.國外電子測
23、量技術,2005.1:3840.6 張友德.單片微型機原理、應用與實踐m.上海:復旦大學出版社,2004.4044. 7 程朗.基于 8051 單片機的雙通道波形發(fā)生器的設計與實現(xiàn)j.計算機工程與應用,2004.8:100103.8 張永瑞.電子測量技術基礎m.西安:西安電子科技大學出版社,2006.61101.9 李葉紫. mcs-51 單片機應用教程m.北京:清華大學出版社,2004.232238. 附錄 22附錄附錄 1 1 電路原理圖電路原理圖 附錄 22附錄附錄 2 2 源程序源程序源程序:org 0000hajm mainorg 000bhljmp tc0org 0030hmain
24、:mov dptr,#9fffh 指向 dac0832(1)mov a,70hmovx dptr,a dac0832(1)輸出mov dptr,#7f00h 指向 8155 命令字端口地址mov a,#06h 設置 a 口為輸入,b 口、c 口為輸出movx dptr,a 送命令字mov dptr,#7f01h 指向 a 口地址movx a,dptr 讀入 a 口的開關數(shù)據(jù)jnb acc.4,k10h 判斷是否“4”號鍵,若是則轉(zhuǎn)輸出 10hz 信號jnb acc.5,k100h 判斷是否“5”號鍵,若是則轉(zhuǎn)輸出 100hz 信號jnb acc.6,k500h 判斷是否“6”號鍵,若是則轉(zhuǎn)輸出
25、 500hz 信號jnb acc.7,k1k 判斷是否“7”號鍵,若是則轉(zhuǎn)輸出 1khz 信號ajmp mainled1: mov r3,#06h 設置 6 個 led 顯示mov r2,#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 中保存基于單片機的信號發(fā)生器 附錄一23mov a, r1 取鍵值mov dptr,#tab 送 led 顯示軟件譯碼表首址movc a,a+dp
26、tr 查表求出鍵值顯示的段碼mov dptr,#7f02h 指向 b 口地址mov dptr,a 段碼送顯示lcall loop1 調(diào)延時子程序inc r1 指向下一位顯示緩沖區(qū)地址djnz r3,gn1 循環(huán)顯示 6 個 ledretloop1:mov r4,#08h 延時子程序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,#00hmov
27、 tl0,#15hmov th0,#9ehajmp pdk100h:mov 30h,#00h 顯示 100hzmov 31h,#00hmov 32h,#00hmov 33h,#01hmov 34h,#00h基于單片機的信號發(fā)生器 附錄一24mov 35h,#00hlcall led1 調(diào)顯示子程序mov tmod,#00hmov tl0,#08hmov th0,#0f6hajmp pdk500h:mov 30h,#00h 顯示 500hzmov 31h,#00hmov 32h,#00hmov 33h,#05hmov 34h,#00hmov 35h,#00hlcall led1 調(diào)顯示子程序mo
28、v tmod,#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”號鍵按下,若是則轉(zhuǎn)方波輸出jnb acc.1,ke1 判斷是否“1”號鍵按下,若是則轉(zhuǎn)正弦方波輸出jnb acc.2,ke2 判斷是否“2”號鍵按下,若是則轉(zhuǎn)三角波輸出基于單片機的信號發(fā)生
29、器 附錄一25jnb acc.3,ke3 判斷是否“3”號鍵按下,若是則轉(zhuǎn)鋸齒波輸出ljmp pdke0:mov r7,#00hlcall led1 調(diào)顯示子程序mov r6,#00hajmp gnke1: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”號鍵,
30、若是則轉(zhuǎn)輸出 10hz 信號jnb acc.5,k100h 判斷是否“5”號鍵,若是則轉(zhuǎn)輸出 100hz 信號jnb acc.6,k500h 判斷是否“6”號鍵,若是則轉(zhuǎn)輸出 500hz 信號jnb acc.7,k1k 判斷是否“7”號鍵,若是則轉(zhuǎn)輸出 1khz 信號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)基于單片機的信號發(fā)生器 附錄一26movx dptr,a dac0832(2)輸出mov a,r
31、6inc a mov r6,acjne a,#32,ql1mov r6,#00hajmp ql1tc1:cjne r7,#01h,tc2 發(fā)送正弦波程序mov dptr,#tab2 送正弦波數(shù)據(jù)表首址mov a,r6movc a, a+dptrmov dptr,#0afffh 指向 dac0832(2)movx dptr,a dac0832(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+d
32、ptrmov dptr,#0afffh 指向 dac0832(2)movx dptr,a dac0832(2)輸出mov a,r6inc amov r6,acjne a,#32,ql1mov r6,#00h 附錄27ajmp ql1tc3:cjne r7,#03h,ql1 發(fā)送鋸齒波程序mov dptr,#tab4 送鋸齒波數(shù)據(jù)表首址mov a,r6movc a, a+dptrmov dptr,#0afffh 指向 dac0832(2)movx dptr,a dac0832(2)輸出mov a,r6inc amov r6,acjne a,#32,ql1mov r6,#00hql1: retit
33、ab: db 0c0h,0f9h,0a4h,0b0h,99h,82h,0f8h,80htab1: db 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh, 0ffh, 0ffh 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,0f
34、fh, 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 0ffh,0ffh,0ffh,0ffh
35、,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, 0ffh 附錄27 db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h 附錄28 db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00hdb 00h, 00
36、h, 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, 00h, 00h,
37、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, 00htab2: db 80h, 83h, 86h, 89h, 8dh,90h,93h,96h db 99h, 9ch, 9fh,0a2h,0a5h,0a8h,
38、0abh,0aeh db 0b1h, 0b4h,0b7h,0bah,0bch,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,
39、0ffh,0ffh, 0ffh,0feh,0fdh db 0fdh, 0fch,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 96
40、h, 93h, 90h, 8dh, 89h, 86h, 83h, 80h db 80h, 7ch, 79h, 78h, 72h, 6fh, 6ch, 69h 附錄29db 66h, 63h, 60h, 5dh, 5ah, 57h, 55h, 51h db 4eh, 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,
41、 08h, 07h, 06h, 05h, 04h, 03h, 02h db 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,
42、40h, 43h, 45h, 48h, 4ch, 4eh db 51h, 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,
43、52h,54h,56h,58h,5ah,5ch,5eh db 60h,62h,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,
44、0deh db 0e0h,0e2h,0e4h,0e6h,0e8h,0eah,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 附錄30 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,7
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45125-2025數(shù)字印刷材料用酚醛樹脂軟化點的測定顯微熔點儀法
- 河道下踏步施工方案
- 河鋼廣場施工方案
- 沙坪壩地毯施工方案
- 二零二五年度農(nóng)村土地墳地租賃與墓園墓碑清洗服務協(xié)議
- 美容院員工晉升與發(fā)展激勵合同(2025年度)
- 2025年度駕校教練員車輛保險承包合同
- 二零二五年度溫泉度假村股份合作協(xié)議
- 二零二五年度農(nóng)業(yè)技術居間保密合同
- 二零二五年度醫(yī)院間醫(yī)療信息共享與數(shù)據(jù)安全協(xié)議
- 《鐵路職業(yè)道德》課件-3.1 鐵路職業(yè)意識
- 2024年江蘇經(jīng)貿(mào)職業(yè)技術學院單招職業(yè)適應性測試題庫及參考答案
- 2024年青島港灣職業(yè)技術學院單招職業(yè)適應性測試題庫必考題
- 【碧桂園項目成本控制存在的問題及優(yōu)化建議探析11000字(論文)】
- 2024年河北省初中學業(yè)水平適應性測試生物學試卷
- 《鴻門宴》(教學課件)- 統(tǒng)編版高中語文必修下冊
- python程序設計-說課
- 標識標牌制作及安裝項目技術方案
- 《糖尿病患者血脂管理中國專家共識(2024版)》解讀
- 醫(yī)療器械物價收費申請流程
- DB32T4124-2021廢水污染物自動監(jiān)測設備參數(shù)傳輸技術規(guī)范
評論
0/150
提交評論