版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 摘 要</b></p><p> 本文介紹一種用AT89C51單片機構成的波形發(fā)生器,可產生方波、三角波、正弦波、鋸齒波等多種波形,波形的周期可用程序改變,并可根據(jù)需要選擇單極性輸出或雙極性輸出,具有線路簡單、結構緊湊、性能優(yōu)越等特點。文章給出了源代碼,通過仿真測試,其性能指標達到了設計要求。</p><p> 關鍵詞:單片機;DA
2、C;信號發(fā)生器</p><p><b> 目 錄</b></p><p><b> 摘 要</b></p><p><b> 目 錄</b></p><p><b> 第一章 緒論</b></p><p><
3、;b> 1.1單片機概述</b></p><p> 1.2信號發(fā)生器的分類</p><p><b> 1.3研究內容</b></p><p> 第二章 方案的設計與選擇</p><p><b> 2.1方案的比較</b></p><p>
4、<b> 2.2設計原理</b></p><p><b> 2.3設計思想</b></p><p><b> 2.4設計功能</b></p><p><b> 第三章 硬件設計</b></p><p> 3.1硬件原理框圖</p&
5、gt;<p><b> 3.2主控電路</b></p><p> 3.3數(shù)、模轉換電路</p><p> 3.4按鍵接口電路</p><p><b> 3.5時鐘電路</b></p><p><b> 3.6顯示電路</b></p>
6、<p><b> 第四章 軟件設計</b></p><p><b> 4.1程序流程圖</b></p><p> 第五章 總結與展望</p><p><b> 致 謝</b></p><p><b> 參考文獻</b>&
7、lt;/p><p><b> 附錄1電路原理圖</b></p><p><b> 附錄2 源程序</b></p><p> 附錄 3 器件清單......................................................</p><p><b> 第一
8、章 緒論</b></p><p><b> 1.1單片機概述</b></p><p> 隨著大規(guī)模集成電路技術的發(fā)展,中央處理器(CPU)、隨機存取存儲器(RAM)、只讀存儲器(ROM)、(I/O)接口、定時器/計數(shù)器和串行通信接口,以及其他一些計算機外圍電路等均可集成在一塊芯片上構成單片微型計算機,簡稱為單片機。單片機具有體積小、成本低,性能穩(wěn)定、使
9、用壽命長等特點。其最明顯的優(yōu)勢就是可以嵌入到各種儀器、設備中,這是其他計算機和網(wǎng)絡都無法做到的[9,10]。</p><p> 1.2信號發(fā)生器的分類</p><p> 信號發(fā)生器應用廣泛,種類繁多,性能各異,分類也不盡一致。按照頻率范圍分類可以分為:超低頻信號發(fā)生器、低頻信號發(fā)生器、視頻信號發(fā)生器、高頻波形發(fā)生器、甚高頻波形發(fā)生器和超高頻信號發(fā)生器。按照輸出波形分類可以分為:正弦信號
10、發(fā)生器和非正弦信號發(fā)生器,非正弦信號發(fā)生器又包括:脈沖信號發(fā)生器,函數(shù)信號發(fā)生器、掃頻信號發(fā)生器、數(shù)字序列波形發(fā)生器、圖形信號發(fā)生器、噪聲信號發(fā)生器等。按照信號發(fā)生器性能指標可以分為一般信號發(fā)生器和標準信號發(fā)生器。前者指對輸出信號的頻率、幅度的準確度和穩(wěn)定度以及波形失真等要求不高的一類信號發(fā)生器。后者是指其輸出信號的頻率、幅度、調制系數(shù)等在一定范圍內連續(xù)可調,并且讀數(shù)準確、穩(wěn)定、屏蔽良好的中、高檔信號發(fā)生器。</p>&l
11、t;p><b> 1.3 研究內容</b></p><p> 本文是做基于單片機的信號發(fā)生器的設計,將采用編程的方法來實現(xiàn)三角波、鋸齒波、矩形波、正弦波的發(fā)生。根據(jù)設計的要求,對各種波形的頻率和幅度進行程序的編寫,并將所寫程序裝入單片機的程序存儲器中。在程序運行中,當接收到來自外界的命令,需要輸出某種波形時再調用相應的中斷服務子程序和波形發(fā)生程序,經電路的數(shù)/模轉換器和運算放大器處
12、理后,從信號發(fā)生器的輸出端口輸出。 </p><p> 第二章 方案的設計與選擇</p><p><b> 2.1 方案的比較</b></p><p> 方案一:采用單片函數(shù)發(fā)生器(如8038),8038可同時產生正弦波、方波等,而且方法簡單易行,用D/A轉換器的輸出來改變調制電壓,也可以實現(xiàn)數(shù)控調整頻率,但產生信號的頻率穩(wěn)定度不
13、高。</p><p> 方案二:采用鎖相式頻率合成器,利用鎖相環(huán),將壓控振蕩器(VCO)的輸出頻率鎖定在所需頻率上,該方案性能良好,但難以達到輸出頻率覆蓋系數(shù)的要求,且電路復雜。</p><p> 方案三:采用單片機編程的方法來實現(xiàn)。該方法可以通過編程的方法來控制信號波形的頻率和幅度,而且在硬件電路不變的情況下,通過改變程序來實現(xiàn)頻率的變換。此外,由于通過編程方法產生的是數(shù)字信號,所以
14、信號的精度可以做的很高。</p><p> 鑒于方案一的信號頻率不夠穩(wěn)定和方案二的電路復雜,頻率覆蓋系數(shù)難以達標等缺點,所以決定采用方案三的設計方法。它不僅采用軟硬件結合,軟件控制硬件的方法來實現(xiàn),使得信號頻率的穩(wěn)定性和精度的準確性得以保證,而且它使用的幾種元器件都是常用的元器件,容易得到,且價格便宜,使得硬件的開銷達到最省。</p><p><b> 2.2 設計原理<
15、;/b></p><p> 數(shù)字信號可以通過數(shù)/模轉換器轉換成模擬信號,因此可通過產生數(shù)字信號再轉換成模擬信號的方法來獲得所需要的波形。89C51單片機本身就是一個完整的微型計算機,具有組成微型計算機的各部分部件:中央處理器CPU、隨機存取存儲器RAM、只讀存儲器ROM、I/O接口電路、定時器/計數(shù)器以及串行通訊接口等,只要將89C51再配置鍵盤及其接口、顯示器及其接口、數(shù)模轉換及波形輸出、指示燈及其接口
16、等四部分,即可構成所需的波形發(fā)生器,其信號發(fā)生器構成原理框圖如圖2.1所示。</p><p> 圖2.1 信號發(fā)生器原理框圖</p><p> 89C51是整個波形發(fā)生器的核心部分,通過程序的編寫和執(zhí)行,產生各種各樣的信號,并從鍵盤接收數(shù)據(jù),進行各種功能的轉換和信號幅度的調節(jié)。當數(shù)字信號經過接口電路到達轉換電路,將其轉換成模擬信號也就是所需要的輸出波形。</p><
17、;p><b> 2.3 設計思想</b></p><p> (1)利用單片機產生方波、正弦波、三角波和鋸齒波等信號波形,信號的頻率和幅度可變。</p><p> ?。?)將一個周期的信號分離成256個點(按X軸等分),每兩點之間的時間間隔為T,用單片機的定時器產生,其表示式為:T=T/256。</p><p> 如果單片機的晶振為1
18、2MHz,采用定時器方式0,則定時器的初值為:</p><p> X=213—T/Tmec (2.1)</p><p><b> 定時時間常數(shù)為:</b></p><p> TL =(8192—T)/MOD256 (2.2
19、)</p><p> TH=(8192T)/256 (2.3)</p><p> MOD32表示除32取余數(shù)</p><p> ?。?)正弦波的模擬信號是D/A轉換器的模擬量輸出,其計算公式為:</p><p> Y=(A/2sint)+A/2 (其中A=VREF)
20、 (2.4)</p><p> t=NT (N=1~256) (2.5)</p><p> 那么對應著存放在計算機里的這一點的數(shù)據(jù)為: </p><p> ?。?.6) (4)一個周期被分離成256個點,對應的四種波形的2
21、56個數(shù)據(jù)存放在以TAB1--TAB4為起始地址的存儲器中。</p><p><b> 2.4 設計功能</b></p><p> (1)本方案利用8155擴展8個獨立式按鍵,6個LED顯示器。其中“S0”號鍵代表方波輸出,“S1”號鍵代表正弦波輸出,“S2”號鍵代表三角波輸出,“S3” 號鍵代表鋸齒波輸出。</p><p> ?。?)“S
22、4”號鍵為10Hz的頻率信號,“S5”號鍵為100Hz的頻率信號,“S6”號鍵為500Hz的頻率信號,“S7”號鍵為1KHz的頻率信號,6個LED顯示器輸出信號的頻率值,選用共陽極LED。</p><p> ?。?)利用兩片DAC0832實現(xiàn)幅度可調的信號源,(其中一片用來調節(jié)幅度,另外一片用來實現(xiàn)信號源的輸出)。</p><p> ?。?)頻率范圍:10~1000Hz。</p>
23、;<p> ?。?)輸出波形幅度為0~5V。</p><p><b> 第三章 硬件設計</b></p><p> 3.1 硬件原理框圖</p><p> 硬件原理方框圖如圖3.1所示。</p><p> 圖3.1 硬件原理框圖</p><p><b> 3.2
24、 主控電路</b></p><p> AT89C51單處機內部設置兩個16位可編程的定時器/計數(shù)器T0和T1,它們具有計數(shù)器方式和定時器方式兩種工作方式及4種工作模式。在波形發(fā)生器中,將其作定時器使用,用它來精確地確定波形的兩個采樣點輸出之間的延遲時間。模式1采用的是16位計數(shù)器,當T0或T1被允許計數(shù)后,從初值開始加計數(shù),最高位產生溢出時向CPU請求中斷。</p><p>
25、 中斷系統(tǒng)是使處理器具有對外界異步事件的處理能力而設置的。當中央處理器CPU正在處理某件事的時候外界發(fā)生了緊急事件,要求CPU暫停當前的工作,轉而去處理這個緊急事件。在波形發(fā)生器中,只用到片內定時器/計數(shù)器溢出時產生的中斷請求,即是在AT89C51輸出一個波形采樣點信號后,接著啟動定時器,在定時器未產生中斷之前,AT89C51等待,直到定時器計時結束,產生中斷請求,AT89C51響應中斷,接著輸出下一個采樣點信號,如此循環(huán)產生所需要的
26、信號波形[6]。</p><p> 如圖3.2所示,AT89C51從P0口接收來自鍵盤的信號,并通過P2口輸出一些控制信號,將其輸入到8155的信號控制端,用于控制其信號的輸入、輸出。如果有鍵按下,則在讀控制端會產生一個讀信號,使單片機讀入信號。如果有信號輸出,則在寫控制端產生一個寫信號,并將所要輸出的信號通過8155的PB口輸出,并在數(shù)碼管上顯示出來。</p><p> 圖3.2
27、主控電路圖</p><p> 3.3 數(shù)/模轉換電路</p><p> 由于單片機產生的是數(shù)字信號,要想得到所需要的波形,就要把數(shù)字信號轉換成模擬信號,所以該文選用價格低廉、接口簡單、轉換控制容易并具有8位分辨率的數(shù)模轉換器DAC0832。DAC0832主要由8位輸入寄存器、8位DAC寄存器、8位D/A轉換器以及輸入控制電路四部分組成。但實際上,DAC0832輸出的電量也不是真正能連續(xù)
28、可調,而是以其絕對分辨率為單位增減,是準模擬量的輸出。DAC0832是電流型輸出,在應用時外接運放使之成為電壓型輸出。</p><p> 由圖3.3可知,DAC0832的片選地址為7FFFH,當P25有效時,若P0口向其送的數(shù)據(jù)為00H, 則U1 的輸出電壓為0V;若P0口向其送的數(shù)據(jù)為0FFH時, 則U1的輸出電壓為-5V. 故當U1 輸出電壓為0V時,由公式 得:Vout
29、= - 5V.當輸出電壓為- 5V時,可得:Vout = +5V,所以輸出波形的電壓變化范圍為- 5V~+ 5V. 故可推得,當P0所送數(shù)據(jù)為80H時,Vout為0V[4]。</p><p> 圖3.3 數(shù)模轉換電路</p><p> 3.4 按鍵接口電路</p><p> 圖3.4為鍵盤接口電路的原理圖,圖中鍵盤和8155的PA口相連,AT89C51的P0
30、口和8155的D0口相連,AT89C51不斷的掃描鍵盤,看是否有鍵按下,如有,則根據(jù)相應按鍵作出反應。其中“S0”號鍵代表方波輸出,“S1”號鍵代表正弦波輸出,“S2”號鍵代表三角波輸出。 “S3”號鍵代表鋸齒波輸出,“S4”號鍵為10Hz的頻率信號,“S5”號鍵為100Hz的頻率信號,“S6”號鍵為500Hz的頻率信號,“S7”號鍵為1KHz的頻率信號[3]。</p><p> 圖3.4 按鍵接口</
31、p><p><b> 3.5 時鐘電路</b></p><p> 8051單片機有兩個引腳(XTAL1,XTAL2)用于外接石英晶體和微調電容,從而構成時鐘電路,其電路圖如圖3.5所示。</p><p> 電容C1、C2對振蕩頻率有穩(wěn)定作用,其容量的選擇為30pf,振蕩器選擇頻率為12MHz的石英晶體。由于頻率較大時,三角波、正弦波、鋸齒波中
32、每一點的延時時間為幾微秒,故延時時間還要加上指令時間才能獲得較大的頻率波形[9]。</p><p> 圖3.5 時鐘電路</p><p><b> 3.6 顯示電路</b></p><p> 顯示電路是用來顯示波形信號的頻率,使得整個系統(tǒng)更加合理,從經濟的角度出發(fā),所以顯示器件采用LED數(shù)碼管顯示器。而且LED數(shù)碼管是采用共陽極接法,當
33、主控端口輸出一個低電平后,與其相對應的數(shù)碼管即變亮,顯示所需數(shù)據(jù)。其器件模型如圖3.6所示。</p><p> 圖3.6 LED顯示電路</p><p><b> 第四章 軟件設計</b></p><p><b> 4.1 程序流程圖</b></p><p> 本文中子程序的調用是通過按
34、鍵的選擇來實現(xiàn),在取得按鍵相應的鍵值后,啟動計時器和相應的中斷服務程序,再直接查詢程序中預先設置的數(shù)據(jù)值,通過轉換輸出相應的電壓,從而形成所需的各種波形。</p><p> 主程序的流程圖如圖4.1所示,在程序開始運行之后,首先是對8155進行初始化,之后判斷信號頻率值,如符合所需的頻率,則重置時間常數(shù),并通過顯示器顯示出來,不符則返回。在中斷結束后,還要來判斷波形是否符合,如符合,則顯示其頻率,不符則返回,重
35、新判斷。</p><p> 圖4.1 主程序流程圖</p><p> 圖4.2為各波形子程序的流程圖。如圖所示,在中斷服務子程序開始后,通過判斷來確定各種波形的輸出,當判斷選擇的不是方波后,則轉向對正弦波的判斷,如此反復。如果選擇的是方波,則用查表的方法求出相應的數(shù)據(jù),并通過D/A轉換</p><p> 器將數(shù)據(jù)轉換成模擬信號,形成所需波形信號。</p
36、><p> 圖4.2 子程序流程圖</p><p><b> 綜合實驗總結</b></p><p> 課程設計是培養(yǎng)學生綜合運用所學知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學生實際工作能力的具體訓練和考察過程.隨著科學技術發(fā)展的日新日異,單片機已經成為當今計算機應用中空前活躍的領域, 在生活中可以說得是無處不在。因
37、此作為二十一世紀的大學來說掌握單片機的開發(fā)技術是十分重要的。</p><p> 回顧起此次單片機課程設計,我仍感慨頗多,的確,從選題到定稿,從理論到實踐,在好幾個星期的日子里,可以說得是苦多于甜,但是可以學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結
38、合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,比如說不懂一些元器件的使用方法,對單片機匯編語言掌握得不好……通過這次課程設計之后,一定把以前所學過的知識重新溫故。</p><p> 這次課程
39、設計終于順利完成了,在設計中遇到了很多編程問題,最后在宋陽老師的辛勤指導下,終于游逆而解。同時,在宋陽老師那里我學得到很多實用的知識,在次我表示感謝!同時,對給過我?guī)椭乃型瑢W和各位指導老師再次表示忠心的感謝!</p><p><b> 參考文獻</b></p><p> [1] 程全.基于AT89C52實現(xiàn)的多種波形發(fā)生器的設計[J].周口師范學院學報,200
40、5.22(5):57~58.</p><p> [2] 周明德.微型計算機系統(tǒng)原理及應用[M].北京:清華大學出版社,2002.341~364.</p><p> [3] 劉樂善.微型計算機接口技術及應用[M].北京:北京航空航天大學出版社,2001.258~264.</p><p> [4] 童詩白.模擬電路技術基礎[M].北京:高等教育出版社,2000.1
41、71~202.</p><p> [5] 杜華.任意波形發(fā)生器及應用[J].國外電子測量技術,2005.1:38~40.</p><p> [6] 張友德.單片微型機原理、應用與實踐[M].上海:復旦大學出版社,2004.40~44. </p><p> [7] 程朗.基于8051單片機的雙通道波形發(fā)生器的設計與實現(xiàn)[J].計算機工程與應用,2004.8:10
42、0~103.</p><p> [8] 張永瑞.電子測量技術基礎[M].西安:西安電子科技大學出版社,2006.61~101.</p><p> [9] 李葉紫. MCS-51單片機應用教程[M].北京:清華大學出版社,2004.232~238.</p><p><b> 附錄1 電路原理圖</b></p><p>
43、;<b> 附錄2 源程序</b></p><p><b> 源程序:</b></p><p> ORG 0000H</p><p><b> AJM MAIN</b></p><p> ORG 000BH</p><p><b&g
44、t; LJMP TC0</b></p><p> ORG 0030H</p><p> MAIN:MOV DPTR,#9FFFH 指向DAC0832(1)</p><p> MOV A,70H</p><p> MOVX @DPTR,A
45、 DAC0832(1)輸出</p><p> MOV DPTR,#7F00H 指向8155命令字端口地址</p><p> MOV A,#06H 設置A口為輸入,B口、C口為輸出</p><p> MOVX @DPTR,A
46、 送命令字</p><p> MOV DPTR,#7F01H 指向A口地址</p><p> MOVX A,@DPTR 讀入A口的開關數(shù)據(jù)</p><p> JNB ACC.4,K10H
47、 判斷是否“4”號鍵,若是則轉輸出10Hz信號</p><p> JNB ACC.5,K100H 判斷是否“5”號鍵,若是則轉輸出100Hz信號</p><p> JNB ACC.6,K500H 判斷是否“6”號鍵,若是則轉輸出500Hz信號</p><p>
48、JNB ACC.7,K1K 判斷是否“7”號鍵,若是則轉輸出1KHz信號</p><p> AJMP MAIN</p><p> LED1: MOV R3,#06H 設置6個LED顯示</p><p> MOV R2,#01H
49、 選通第一位LED數(shù)據(jù)</p><p> MOV R1,#30H 送顯示緩沖區(qū)首址</p><p> GN1:MOV DPTR,#7F03H 指向C口地址</p><p> MOV A,R2
50、 位選通數(shù)據(jù)送A</p><p> MOVX @DPTR,A 位選通數(shù)據(jù)送C口</p><p> RL A 選通下一位</p><p> MOV R2,A 位選通
51、數(shù)據(jù)送R2中保存</p><p> MOV A, @R1 取鍵值</p><p> MOV DPTR,#TAB 送LED顯示軟件譯碼表首址</p><p> MOVC A,@A+DPTR 查表求出鍵值顯示的段
52、碼</p><p> MOV DPTR,#7F02H 指向B口地址</p><p> MOV @DPTR,A 段碼送顯示</p><p> LCALL LOOP1 調延時子程序</p>&
53、lt;p> INC R1 指向下一位顯示緩沖區(qū)地址</p><p> DJNZ R3,GN1 循環(huán)顯示6個LED</p><p><b> RET</b></p><p> LOOP1:MOV R4,
54、#08H 延時子程序</p><p> LOOP:MOV R5,#0A0H</p><p> DJNZ R5,$</p><p> DJNZ R4,LOOP</p><p><b> RET</b></p><p> K10H:MOV 30
55、H,#00H 顯示10Hz</p><p> MOV 31H,#00H</p><p> MOV 32H,#00H</p><p> MOV 33H,#00H</p><p> MOV 34H,#01H</p><p> MOV 35H,#00H</p>
56、;<p> LCALL LED1 調顯示子程序</p><p> MOV TMOD,#00H</p><p> MOV TL0,#15H</p><p> MOV TH0,#9EH</p><p><b> AJMP PD</b>&l
57、t;/p><p> K100H:MOV 30H,#00H 顯示100Hz</p><p> MOV 31H,#00H</p><p> MOV 32H,#00H</p><p> MOV 33H,#01H</p><p> MOV 34H,#00H</p>
58、<p> MOV 35H,#00H</p><p> LCALL LED1 調顯示子程序</p><p> MOV TMOD,#00H</p><p> MOV TL0,#08H</p><p> MOV TH0,#0F6H</p><p>
59、;<b> AJMP PD</b></p><p> K500H:MOV 30H,#00H 顯示500Hz</p><p> MOV 31H,#00H</p><p> MOV 32H,#00H</p><p> MOV 33H,#05H</p><p&
60、gt; MOV 34H,#00H</p><p> MOV 35H,#00H</p><p> LCALL LED1 調顯示子程序</p><p> MOV TMOD,#00H</p><p> MOV TL0,#01H</p><p> MOV
61、TH0,#0FEH</p><p><b> AJMP PD</b></p><p> K1K:MOV 30H,#00H 顯示1KHz</p><p> MOV 31H,#00H</p><p> MOV 32H,#01H</p><p> MOV
62、 33H,#00H</p><p> MOV 34H,#00H</p><p> MOV 35H,#00H</p><p> LCALL LED1 調顯示子程序</p><p> MOV TMOD,#00H</p><p> MOV TL0,#01H&l
63、t;/p><p> MOV TH0,#0FFH</p><p> PD:JNB ACC.0,KE0 判斷是否“0”號鍵按下,若是則轉方波輸出</p><p> JNB ACC.1,KE1 判斷是否“1”號鍵按下,若是則轉正弦方波輸出</p><p> JNB ACC.
64、2,KE2 判斷是否“2”號鍵按下,若是則轉三角波輸出</p><p> JNB ACC.3,KE3 判斷是否“3”號鍵按下,若是則轉鋸齒波輸出</p><p><b> LJMP PD</b></p><p> KE0:MOV R7,#00H</p>
65、;<p> LCALL LED1 調顯示子程序</p><p> MOV R6,#00H</p><p><b> AJMP GN</b></p><p> KE1:MOV R7,#02H</p><p> LCALL LED1
66、 調顯示子程序</p><p> MOV R6,#00H</p><p><b> AJMP GN</b></p><p> KE2:MOV R7,#02H</p><p> LCALL LED1 調顯示子程序</p><p&
67、gt; MOV R6,#00H</p><p> AJMP GN </p><p> KE3:MOV R7,#02H</p><p> LCALL LED1 調顯示子程序</p><p> MOV R6,#00H</p>
68、<p> GN: SETB TR0</p><p><b> SETB ET0</b></p><p><b> SETB EA</b></p><p> LOP1:JNB ACC.4,K10H 判斷是否“4”號鍵,若是則轉輸出10Hz信號</p><p>
69、; JNB ACC.5,K100H 判斷是否“5”號鍵,若是則轉輸出100Hz信號</p><p> JNB ACC.6,K500H 判斷是否“6”號鍵,若是則轉輸出500Hz信號</p><p> JNB ACC.7,K1K 判斷是否“7”號鍵,若是則轉輸出1KHz信號</p&
70、gt;<p> AJMP LOP1</p><p> TC0:CJNE R7,#00H,TC1 發(fā)送方波程序</p><p> MOV DPTR,#TAB1 送方波數(shù)據(jù)表首址</p><p> MOV A,R6 發(fā)送數(shù)據(jù)寄存器</p>&l
71、t;p> MOVC A,@A+DPTR</p><p> MOV DPTR,#0AFFFH 指向DAC0832(2)</p><p> MOVX @DPTR,A DAC0832(2)輸出</p><p><b> MOV A,R6</b></p><
72、;p><b> INC A </b></p><p><b> MOV R6,A</b></p><p> CJNE A,#32,QL1</p><p> MOV R6,#00H</p><p><b> AJMP QL1</b></p>
73、<p> TC1:CJNE R7,#01H,TC2 發(fā)送正弦波程序</p><p> MOV DPTR,#TAB2 送正弦波數(shù)據(jù)表首址</p><p><b> MOV A,R6</b></p><p> MOVC A, @A+DPTR</p><
74、p> MOV DPTR,#0AFFFH 指向DAC0832(2)</p><p> MOVX @DPTR,A DAC0832(2)輸出</p><p><b> MOV A,R6</b></p><p><b> INC A</b></
75、p><p><b> MOV R6,A</b></p><p> CJNE A,#32,QL1</p><p> MOV R6,#00H</p><p><b> AJMP QL1</b></p><p> TC2:CJNE R7,#02H,QL1
76、 發(fā)送三角波程序</p><p> MOV DPTR,#TAB3 送三角波數(shù)據(jù)表首址</p><p><b> MOV A,R6</b></p><p> MOVC A,@A+DPTR</p><p> MOV DPTR,#0AFFFH 指向
77、DAC0832(2)</p><p> MOVX @DPTR,A DAC0832(2)輸出</p><p><b> MOV A,R6</b></p><p><b> INC A</b></p><p><b> MOV R6,A</
78、b></p><p> CJNE A,#32,QL1</p><p> MOV R6,#00H</p><p><b> AJMP QL1</b></p><p> TC3::CJNE R7,#03H,QL1 發(fā)送鋸齒波程序</p><p> MOV DP
79、TR,#TAB4 送鋸齒波數(shù)據(jù)表首址</p><p><b> MOV A,R6</b></p><p> MOVC A, @A+DPTR</p><p> MOV DPTR,#0AFFFH 指向DAC0832(2)</p><p> MOVX @
80、DPTR,A DAC0832(2)輸出</p><p><b> MOV A,R6</b></p><p><b> INC A</b></p><p><b> MOV R6,A</b></p><p> CJNE A,#32,
81、QL1</p><p> MOV R6,#00H</p><p><b> QL1: RETI</b></p><p> TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,82H,0F8H,80H</p><p> TAB1: DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
82、, 0FFH, 0FFH</p><p> DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFH</p><p> DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFH</p><p> DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFH</p&
83、gt;<p> DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFH</p><p> DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFH</p><p> DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFH</p><p> DB
84、0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFH</p><p> DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFH</p><p> DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFH</p><p> DB 0FFH,0FFH,0FFH,0FFH
85、,0FFH,0FFH, 0FFH, 0FFH</p><p> DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFH</p><p> DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFH</p><p> DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0
86、FFH</p><p> DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFH</p><p> DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH, 0FFH</p><p> DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H</p><p&g
87、t; DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H</p><p> DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H</p><p> DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H</p><p> DB 00H, 00H, 00H, 00H, 0
88、0H, 00H, 00H, 00H</p><p> DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H</p><p> DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H</p><p> DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H</p>
89、<p> DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H</p><p> DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H</p><p> DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H</p><p> DB 00H, 00H, 00H
90、, 00H, 00H, 00H, 00H, 00H</p><p> DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H</p><p> DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H</p><p> DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H<
91、;/p><p> DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H</p><p> TAB2: DB 80H, 83H, 86H, 89H, 8DH,90H,93H,96H </p><p> DB 99H, 9CH, 9FH,0A2H,0A5H,0A8H,0ABH,0AEH </p><p&g
92、t; 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, 0E5H,0E7H,0E9H </p><p> DB 0EAH,
93、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><p> DB 0FFH, 0FFH,0FFH,0
94、FFH,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, 0E7H,0E5H,0E3H,0E1H, 0DE
95、H,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, 9FH, 9CH, 99H &l
96、t;/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>
97、 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, 11
98、H, 10H, 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, 0
99、1H, 02H </p><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 </p>
100、<p> DB 27H, 29H, 2BH, 2EH, 30H, 33H, 35H, 38H </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
101、, 6CH, 6FH, 72H, 76H, 79H, 7CH, 80H</p><p> TAB3: DB 00H,02H,04H,06H,08H,0AH,0CH,0EH</p><p> DB 10H,12H,14H,16H,18H,1AH,1CH,1EH</p><p> DB 20H,22H,24H,26H,28H,2AH,2CH,2EH&
102、lt;/p><p> DB 30H,32H,34H,36H,38H,3AH,3CH,3EH</p><p> DB 40H,42H,44H,46H,48H,4AH,4CH,4EH</p><p> DB 50H,52H,54H,56H,58H,5AH,5CH,5EH</p><p> DB 60H,62H,64H,66H,68H,
103、6AH,6CH,6EH</p><p> DB 70H,72H,74H,76H,78H,7AH,7CH,7EH</p><p> DB 80H,82H,84H,86H,88H,8AH,8CH,8EH</p><p> DB 0A0H,0A2H,0A4H,0A6H,0A8H,0AAH,0ACH,0AEH</p><p> DB
104、0B0H,0B2H,0B4H,0B6H,0B8H,0BAH,0BCH,0BEH</p><p> DB 0C0H,0C2H,0C4H,0C6H,0C8H,0CAH,0CCH,0CEH</p><p> DB 0D0H,0D2H,0D4H,0D6H,0D8H,0DAH,0DCH,0DEH</p><p> DB 0E0H,0E2H,0E4H,0E6H,0E
105、8H,0EAH,0ECH,0EEH</p><p> DB 0F0H,0F2H,0F4H,0F6H,0F8H,0FAH,0FCH,0FEH</p><p> DB 0FFH,0FEH,0FCH,0FAH,0F8H,0F6H,0F4H,0F2H</p><p> DB 0F0H,0EEH,0ECH,0EAH,0E8H,0E6H,0E4H,0E2H</
106、p><p> DB 0E0H,0DEH,0DCH,0DAH,0D8H,0D6H,0D4H,0D2H</p><p> DB 0D0H,0CEH,0CCH,0CAH,0C8H,0C6H,0C4H,0C2H</p><p> DB 0C0H,0BEH,0BCH,0BAH,0B8H,0B6H,0B4H,0B2H</p><p> DB
107、0B0H,0AEH,0ACH,0AAH,0A8H,0A6H,0A4H,0A2H</p><p> DB 0A0H,09EH,9CH,9AH,98H,96H,94H,92H</p><p> DB 90H,8EH,8CH,8AH,88H,86H,84H,82H</p><p> DB 80H,7EH,7CH,7AH,78H,76H,74H,72H</
108、p><p> DB 70H,6EH,6CH,6AH,68H,66H,64H,62H</p><p> DB 60H,5EH,5CH,5AH,58H,56H,54H,52H</p><p> DB 50H,4EH,4CH,4AH,48H,46H,44H,42H</p><p> DB 40H,3EH,3CH,3AH,38H,36H,
109、34H,32H</p><p> DB 30H,2EH,2CH,2AH,28H,26H,24H,22H</p><p> DB 20H,1EH,1CH,1AH,18H,16H,14H,12H</p><p> DB 10H,0EH,0CH,0AH,08H,06H,04H,02H</p><p> TAB4: DB 00H,0
110、1H,02H,03H,04H,05H,06H,07H</p><p> DB 08H,09H,0AH,0BH,0CH,0DH,0EH,0FH</p><p> DB 10H,11H,12H,13H,14H,15H,16H,17H</p><p> DB 18H,19H,1AH,1BH,1CH,1DH,1EH,1FH</p><p>
111、DB 20H,21H,22H,23H,24H,25H,26H,27H</p><p> DB 28H,29H,2AH,2BH,2CH,2DH,2EH,2FH</p><p> DB 30H,31H,32H,33H,34H,35H,36H,37H</p><p> DB 38H,39H,3AH,3BH,3CH,3DH,3EH,3FH</p><
112、;p> DB 40H,41H,42H,43H,44H,45H,46H,47H</p><p> DB 48H,49H,4AH,4BH,4CH,4DH,4EH,4FH</p><p> DB 50H,51H,52H,53H,54H,55H,56H,57H</p><p> DB 58H,59H,5AH,5BH,5CH,5DH,5EH,5FH</p&
113、gt;<p> DB 60H,61H,62H,63H,64H,65H,66H,67H</p><p> DB 68H,69H,6AH,6BH,6CH,6DH,6EH,6FH</p><p> DB 70H,71H,72H,73H,74H,75H,76H,77H</p><p> DB 78H,79H,7AH,7BH,7CH,7DH,7EH,7F
114、H</p><p> DB 80H,81H,82H,83H,84H,85H,86H,87H</p><p> DB 88H,89H,8AH,8BH,8CH,8DH,8EH,8FH</p><p> DB 90H,91H,92H,93H,94H,95H,96H,97H</p><p> DB 98H,99H,9AH,9BH,9CH,9D
115、H,9EH,9FH</p><p> DB 0A0H,0A1H,0A2H,0A3H,0A4H,0A5H,0A6H,0A7H</p><p> DB 0A8H,0A9H,0AAH,0ABH,0ACH,0ADH,0AEH,0AFH</p><p> DB 0B0H,0B1H,0B2H,0B3H,0B4H,0B5H,0B6H,0B7H</p><
116、p> DB 0B8H,0B9H,0BAH,0BBH,0BCH,0BDH,0BEH,0BFH</p><p> DB 0C0H,0C1H,0C2H,0C3H,0C4H,0C5H,0C6H,0C7H</p><p> DB 0C8H,0C9H,0CAH,0CBH,0CCH,0CDH,0CEH,0CFH</p><p> DB 0D0H,0D1H,0D2H,
117、0D3H,0D4H,0D5H,0D6H,0D7H</p><p> DB 0D8H,0D9H,0DAH,0DBH,0DCH,0DDH,0DEH,0DFH</p><p> DB 0E0H,0E1H,0E2H,0E3H,0E4H,0E5H,0E6H,0E7H</p><p> DB 0E8H,0E9H,0EAH,0EBH,0ECH,0EDH,0EEH,0EFH&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機的函數(shù)信號發(fā)生器畢業(yè)設計
- 畢業(yè)設計--基于單片機的函數(shù)信號發(fā)生器
- 基于單片機的函數(shù)信號發(fā)生器畢業(yè)設計
- 畢業(yè)設計-----基于單片機的函數(shù)信號發(fā)生器
- 基于單片機的函數(shù)信號發(fā)生器畢業(yè)設計
- 基于單片機的函數(shù)信號發(fā)生器畢業(yè)設計
- 單片機的函數(shù)信號發(fā)生器畢業(yè)設計
- 基于單片機的函數(shù)信號發(fā)生器畢業(yè)設計 (2)
- 基于單片機的函數(shù)信號發(fā)生器畢業(yè)設計 (2)
- 單片機多功能函數(shù)信號發(fā)生器畢業(yè)設計
- 基于單片機控制的函數(shù)信號發(fā)生器的設計畢業(yè)設計
- 畢業(yè)設計--基于單片機的多功能函數(shù)信號發(fā)生器設計
- 畢業(yè)設計--基于單片機的信號發(fā)生器
- 基于51單片機函數(shù)信號發(fā)生器設計
- 畢業(yè)設計----基于單片機的信號發(fā)生器設計
- 畢業(yè)設計--基于單片機函數(shù)發(fā)生器系統(tǒng)設計
- 畢業(yè)設計---基于單片機函數(shù)發(fā)生器系統(tǒng)設計
- 基于單片機的函數(shù)信號發(fā)生器設計畢業(yè)論文
- 基于單片機的函數(shù)信號發(fā)生器畢業(yè)論文
- 畢業(yè)設計----基于單片機的方波信號發(fā)生器
評論
0/150
提交評論