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