2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  摘 要</b></p><p>  本文介紹一種用AT89C51單片機(jī)構(gòu)成的波形發(fā)生器,可產(chǎn)生方波、三角波、正弦波、鋸齒波等多種波形,波形的周期可用程序改變,并可根據(jù)需要選擇單極性輸出或雙極性輸出,具有線路簡單、結(jié)構(gòu)緊湊、性能優(yōu)越等特點(diǎn)。文章給出了源代碼,通過仿真測試,其性能指標(biāo)達(dá)到了設(shè)計(jì)要求。</p><p>  關(guān)鍵詞:單片機(jī);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單片機(jī)概述</b></p><p>  1.2信號發(fā)生器的分類</p><p><b>  1.3研究內(nèi)容</b></p><p>  第二章 方案的設(shè)計(jì)與選擇</p><p><b>  2.1方案的比較</b></p><p>

4、<b>  2.2設(shè)計(jì)原理</b></p><p><b>  2.3設(shè)計(jì)思想</b></p><p><b>  2.4設(shè)計(jì)功能</b></p><p><b>  第三章 硬件設(shè)計(jì)</b></p><p>  3.1硬件原理框圖</p&

5、gt;<p><b>  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>

6、<p><b>  第四章 軟件設(shè)計(jì)</b></p><p><b>  4.1程序流程圖</b></p><p>  第五章 總結(jié)與展望</p><p><b>  致 謝</b></p><p><b>  參考文獻(xiàn)</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單片機(jī)概述</b></p><p>  隨著大規(guī)模集成電路技術(shù)的發(fā)展,中央處理器(CPU)、隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、(I/O)接口、定時器/計(jì)數(shù)器和串行通信接口,以及其他一些計(jì)算機(jī)外圍電路等均可集成在一塊芯片上構(gòu)成單片微型計(jì)算機(jī),簡稱為單片機(jī)。單片機(jī)具有體積小、成本低,性能穩(wěn)定、使

9、用壽命長等特點(diǎn)。其最明顯的優(yōu)勢就是可以嵌入到各種儀器、設(shè)備中,這是其他計(jì)算機(jī)和網(wǎng)絡(luò)都無法做到的[9,10]。</p><p>  1.2信號發(fā)生器的分類</p><p>  信號發(fā)生器應(yīng)用廣泛,種類繁多,性能各異,分類也不盡一致。按照頻率范圍分類可以分為:超低頻信號發(fā)生器、低頻信號發(fā)生器、視頻信號發(fā)生器、高頻波形發(fā)生器、甚高頻波形發(fā)生器和超高頻信號發(fā)生器。按照輸出波形分類可以分為:正弦信號

10、發(fā)生器和非正弦信號發(fā)生器,非正弦信號發(fā)生器又包括:脈沖信號發(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>&l

11、t;p><b>  1.3 研究內(nèi)容</b></p><p>  本文是做基于單片機(jī)的信號發(fā)生器的設(shè)計(jì),將采用編程的方法來實(shí)現(xiàn)三角波、鋸齒波、矩形波、正弦波的發(fā)生。根據(jù)設(shè)計(jì)的要求,對各種波形的頻率和幅度進(jìn)行程序的編寫,并將所寫程序裝入單片機(jī)的程序存儲器中。在程序運(yùn)行中,當(dāng)接收到來自外界的命令,需要輸出某種波形時再調(diào)用相應(yīng)的中斷服務(wù)子程序和波形發(fā)生程序,經(jīng)電路的數(shù)/模轉(zhuǎn)換器和運(yùn)算放大器處

12、理后,從信號發(fā)生器的輸出端口輸出。 </p><p>  第二章 方案的設(shè)計(jì)與選擇</p><p><b>  2.1 方案的比較</b></p><p>  方案一:采用單片函數(shù)發(fā)生器(如8038),8038可同時產(chǎn)生正弦波、方波等,而且方法簡單易行,用D/A轉(zhuǎn)換器的輸出來改變調(diào)制電壓,也可以實(shí)現(xiàn)數(shù)控調(diào)整頻率,但產(chǎn)生信號的頻率穩(wěn)定度不

13、高。</p><p>  方案二:采用鎖相式頻率合成器,利用鎖相環(huán),將壓控振蕩器(VCO)的輸出頻率鎖定在所需頻率上,該方案性能良好,但難以達(dá)到輸出頻率覆蓋系數(shù)的要求,且電路復(fù)雜。</p><p>  方案三:采用單片機(jī)編程的方法來實(shí)現(xiàn)。該方法可以通過編程的方法來控制信號波形的頻率和幅度,而且在硬件電路不變的情況下,通過改變程序來實(shí)現(xiàn)頻率的變換。此外,由于通過編程方法產(chǎn)生的是數(shù)字信號,所以

14、信號的精度可以做的很高。</p><p>  鑒于方案一的信號頻率不夠穩(wěn)定和方案二的電路復(fù)雜,頻率覆蓋系數(shù)難以達(dá)標(biāo)等缺點(diǎn),所以決定采用方案三的設(shè)計(jì)方法。它不僅采用軟硬件結(jié)合,軟件控制硬件的方法來實(shí)現(xiàn),使得信號頻率的穩(wěn)定性和精度的準(zhǔn)確性得以保證,而且它使用的幾種元器件都是常用的元器件,容易得到,且價(jià)格便宜,使得硬件的開銷達(dá)到最省。</p><p><b>  2.2 設(shè)計(jì)原理<

15、;/b></p><p>  數(shù)字信號可以通過數(shù)/模轉(zhuǎn)換器轉(zhuǎn)換成模擬信號,因此可通過產(chǎn)生數(shù)字信號再轉(zhuǎn)換成模擬信號的方法來獲得所需要的波形。89C51單片機(jī)本身就是一個完整的微型計(jì)算機(jī),具有組成微型計(jì)算機(jī)的各部分部件:中央處理器CPU、隨機(jī)存取存儲器RAM、只讀存儲器ROM、I/O接口電路、定時器/計(jì)數(shù)器以及串行通訊接口等,只要將89C51再配置鍵盤及其接口、顯示器及其接口、數(shù)模轉(zhuǎn)換及波形輸出、指示燈及其接口

16、等四部分,即可構(gòu)成所需的波形發(fā)生器,其信號發(fā)生器構(gòu)成原理框圖如圖2.1所示。</p><p>  圖2.1 信號發(fā)生器原理框圖</p><p>  89C51是整個波形發(fā)生器的核心部分,通過程序的編寫和執(zhí)行,產(chǎn)生各種各樣的信號,并從鍵盤接收數(shù)據(jù),進(jìn)行各種功能的轉(zhuǎn)換和信號幅度的調(diào)節(jié)。當(dāng)數(shù)字信號經(jīng)過接口電路到達(dá)轉(zhuǎn)換電路,將其轉(zhuǎn)換成模擬信號也就是所需要的輸出波形。</p><

17、;p><b>  2.3 設(shè)計(jì)思想</b></p><p>  (1)利用單片機(jī)產(chǎn)生方波、正弦波、三角波和鋸齒波等信號波形,信號的頻率和幅度可變。</p><p> ?。?)將一個周期的信號分離成256個點(diǎn)(按X軸等分),每兩點(diǎn)之間的時間間隔為T,用單片機(jī)的定時器產(chǎn)生,其表示式為:T=T/256。</p><p>  如果單片機(jī)的晶振為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轉(zhuǎn)換器的模擬量輸出,其計(jì)算公式為:</p><p>  Y=(A/2sint)+A/2 (其中A=VREF)

20、 (2.4)</p><p>  t=NT (N=1~256) (2.5)</p><p>  那么對應(yīng)著存放在計(jì)算機(jī)里的這一點(diǎn)的數(shù)據(jù)為: </p><p> ?。?.6) (4)一個周期被分離成256個點(diǎn),對應(yīng)的四種波形的2

21、56個數(shù)據(jù)存放在以TAB1--TAB4為起始地址的存儲器中。</p><p><b>  2.4 設(shè)計(jì)功能</b></p><p> ?。?)本方案利用8155擴(kuò)展8個獨(dú)立式按鍵,6個LED顯示器。其中“S0”號鍵代表方波輸出,“S1”號鍵代表正弦波輸出,“S2”號鍵代表三角波輸出,“S3” 號鍵代表鋸齒波輸出。</p><p>  (2)“S

22、4”號鍵為10Hz的頻率信號,“S5”號鍵為100Hz的頻率信號,“S6”號鍵為500Hz的頻率信號,“S7”號鍵為1KHz的頻率信號,6個LED顯示器輸出信號的頻率值,選用共陽極LED。</p><p> ?。?)利用兩片DAC0832實(shí)現(xiàn)幅度可調(diào)的信號源,(其中一片用來調(diào)節(jié)幅度,另外一片用來實(shí)現(xiàn)信號源的輸出)。</p><p>  (4)頻率范圍:10~1000Hz。</p>

23、;<p> ?。?)輸出波形幅度為0~5V。</p><p><b>  第三章 硬件設(shè)計(jì)</b></p><p>  3.1 硬件原理框圖</p><p>  硬件原理方框圖如圖3.1所示。</p><p>  圖3.1 硬件原理框圖</p><p><b>  3.2

24、 主控電路</b></p><p>  AT89C51單處機(jī)內(nèi)部設(shè)置兩個16位可編程的定時器/計(jì)數(shù)器T0和T1,它們具有計(jì)數(shù)器方式和定時器方式兩種工作方式及4種工作模式。在波形發(fā)生器中,將其作定時器使用,用它來精確地確定波形的兩個采樣點(diǎn)輸出之間的延遲時間。模式1采用的是16位計(jì)數(shù)器,當(dāng)T0或T1被允許計(jì)數(shù)后,從初值開始加計(jì)數(shù),最高位產(chǎn)生溢出時向CPU請求中斷。</p><p>

25、  中斷系統(tǒng)是使處理器具有對外界異步事件的處理能力而設(shè)置的。當(dāng)中央處理器CPU正在處理某件事的時候外界發(fā)生了緊急事件,要求CPU暫停當(dāng)前的工作,轉(zhuǎn)而去處理這個緊急事件。在波形發(fā)生器中,只用到片內(nèi)定時器/計(jì)數(shù)器溢出時產(chǎn)生的中斷請求,即是在AT89C51輸出一個波形采樣點(diǎn)信號后,接著啟動定時器,在定時器未產(chǎn)生中斷之前,AT89C51等待,直到定時器計(jì)時結(jié)束,產(chǎn)生中斷請求,AT89C51響應(yīng)中斷,接著輸出下一個采樣點(diǎn)信號,如此循環(huán)產(chǎn)生所需要的

26、信號波形[6]。</p><p>  如圖3.2所示,AT89C51從P0口接收來自鍵盤的信號,并通過P2口輸出一些控制信號,將其輸入到8155的信號控制端,用于控制其信號的輸入、輸出。如果有鍵按下,則在讀控制端會產(chǎn)生一個讀信號,使單片機(jī)讀入信號。如果有信號輸出,則在寫控制端產(chǎn)生一個寫信號,并將所要輸出的信號通過8155的PB口輸出,并在數(shù)碼管上顯示出來。</p><p>  圖3.2

27、主控電路圖</p><p>  3.3 數(shù)/模轉(zhuǎn)換電路</p><p>  由于單片機(jī)產(chǎn)生的是數(shù)字信號,要想得到所需要的波形,就要把數(shù)字信號轉(zhuǎn)換成模擬信號,所以該文選用價(jià)格低廉、接口簡單、轉(zhuǎn)換控制容易并具有8位分辨率的數(shù)模轉(zhuǎn)換器DAC0832。DAC0832主要由8位輸入寄存器、8位DAC寄存器、8位D/A轉(zhuǎn)換器以及輸入控制電路四部分組成。但實(shí)際上,DAC0832輸出的電量也不是真正能連續(xù)

28、可調(diào),而是以其絕對分辨率為單位增減,是準(zhǔn)模擬量的輸出。DAC0832是電流型輸出,在應(yīng)用時外接運(yùn)放使之成為電壓型輸出。</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

29、= - 5V.當(dāng)輸出電壓為- 5V時,可得: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

30、口和8155的D0口相連,AT89C51不斷的掃描鍵盤,看是否有鍵按下,如有,則根據(jù)相應(yīng)按鍵作出反應(yīng)。其中“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單片機(jī)有兩個引腳(XTAL1,XTAL2)用于外接石英晶體和微調(diào)電容,從而構(gòu)成時鐘電路,其電路圖如圖3.5所示。</p><p>  電容C1、C2對振蕩頻率有穩(wěn)定作用,其容量的選擇為30pf,振蕩器選擇頻率為12MHz的石英晶體。由于頻率較大時,三角波、正弦波、鋸齒波中

32、每一點(diǎn)的延時時間為幾微秒,故延時時間還要加上指令時間才能獲得較大的頻率波形[9]。</p><p>  圖3.5 時鐘電路</p><p><b>  3.6 顯示電路</b></p><p>  顯示電路是用來顯示波形信號的頻率,使得整個系統(tǒng)更加合理,從經(jīng)濟(jì)的角度出發(fā),所以顯示器件采用LED數(shù)碼管顯示器。而且LED數(shù)碼管是采用共陽極接法,當(dāng)

33、主控端口輸出一個低電平后,與其相對應(yīng)的數(shù)碼管即變亮,顯示所需數(shù)據(jù)。其器件模型如圖3.6所示。</p><p>  圖3.6 LED顯示電路</p><p><b>  第四章 軟件設(shè)計(jì)</b></p><p><b>  4.1 程序流程圖</b></p><p>  本文中子程序的調(diào)用是通過按

34、鍵的選擇來實(shí)現(xiàn),在取得按鍵相應(yīng)的鍵值后,啟動計(jì)時器和相應(yīng)的中斷服務(wù)程序,再直接查詢程序中預(yù)先設(shè)置的數(shù)據(jù)值,通過轉(zhuǎn)換輸出相應(yīng)的電壓,從而形成所需的各種波形。</p><p>  主程序的流程圖如圖4.1所示,在程序開始運(yùn)行之后,首先是對8155進(jìn)行初始化,之后判斷信號頻率值,如符合所需的頻率,則重置時間常數(shù),并通過顯示器顯示出來,不符則返回。在中斷結(jié)束后,還要來判斷波形是否符合,如符合,則顯示其頻率,不符則返回,重

35、新判斷。</p><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

36、><p>  圖4.2 子程序流程圖</p><p><b>  綜合實(shí)驗(yàn)總結(jié)</b></p><p>  課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域, 在生活中可以說得是無處不在。因

37、此作為二十一世紀(jì)的大學(xué)來說掌握單片機(jī)的開發(fā)技術(shù)是十分重要的。</p><p>  回顧起此次單片機(jī)課程設(shè)計(jì),我仍感慨頗多,的確,從選題到定稿,從理論到實(shí)踐,在好幾個星期的日子里,可以說得是苦多于甜,但是可以學(xué)到很多很多的東西,同時不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實(shí)踐相結(jié)合

38、起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實(shí)際動手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,比如說不懂一些元器件的使用方法,對單片機(jī)匯編語言掌握得不好……通過這次課程設(shè)計(jì)之后,一定把以前所學(xué)過的知識重新溫故。</p><p>  這次課程設(shè)

39、計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多編程問題,最后在xx老師的辛勤指導(dǎo)下,終于游逆而解。同時,在xx老師那里我學(xué)得到很多實(shí)用的知識,在次我表示感謝!同時,對給過我?guī)椭乃型瑢W(xué)和各位指導(dǎo)老師再次表示忠心的感謝!</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 程全.基于AT89C52實(shí)現(xiàn)的多種波形發(fā)生器的設(shè)計(jì)[J].周口師范學(xué)院學(xué)報(bào),2005

40、.22(5):57~58.</p><p>  [2] 周明德.微型計(jì)算機(jī)系統(tǒng)原理及應(yīng)用[M].北京:清華大學(xué)出版社,2002.341~364.</p><p>  [3] 劉樂善.微型計(jì)算機(jī)接口技術(shù)及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2001.258~264.</p><p>  [4] 童詩白.模擬電路技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2000.17

41、1~202.</p><p>  [5] 杜華.任意波形發(fā)生器及應(yīng)用[J].國外電子測量技術(shù),2005.1:38~40.</p><p>  [6] 張友德.單片微型機(jī)原理、應(yīng)用與實(shí)踐[M].上海:復(fù)旦大學(xué)出版社,2004.40~44. </p><p>  [7] 程朗.基于8051單片機(jī)的雙通道波形發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2004.8:100

42、~103.</p><p>  [8] 張永瑞.電子測量技術(shù)基礎(chǔ)[M].西安:西安電子科技大學(xué)出版社,2006.61~101.</p><p>  [9] 李葉紫. MCS-51單片機(jī)應(yīng)用教程[M].北京:清華大學(xué)出版社,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>

44、;  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 設(shè)置A口為輸入,B口、C口為輸出</p><p>  MOVX @DPTR,A

46、 送命令字</p><p>  MOV DPTR,#7F01H 指向A口地址</p><p>  MOVX A,@DPTR 讀入A口的開關(guān)數(shù)據(jù)</p><p>  JNB ACC.4,K10H

47、判斷是否“4”號鍵,若是則轉(zhuǎn)輸出10Hz信號</p><p>  JNB ACC.5,K100H 判斷是否“5”號鍵,若是則轉(zhuǎn)輸出100Hz信號</p><p>  JNB ACC.6,K500H 判斷是否“6”號鍵,若是則轉(zhuǎn)輸出500Hz信號</p><p>  J

48、NB ACC.7,K1K 判斷是否“7”號鍵,若是則轉(zhuǎn)輸出1KHz信號</p><p>  AJMP MAIN</p><p>  LED1: MOV R3,#06H 設(shè)置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 位選通數(shù)

51、據(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 調(diào)延時子程序</p>&l

53、t;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 30H

55、,#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 調(diào)顯示子程序</p><p>  MOV TMOD,#00H</p><p>  MOV TL0,#15H</p><p>  MOV TH0,#9EH</p><p><b>  AJMP PD</b><

57、;/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、lt;p>  MOV 35H,#00H</p><p>  LCALL LED1 調(diào)顯示子程序</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&g

60、t;  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>  MOV T

61、H0,#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 調(diào)顯示子程序</p><p>  MOV TMOD,#00H</p><p>  MOV TL0,#01H<

63、;/p><p>  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

64、,KE2 判斷是否“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>

65、<p>  LCALL LED1 調(diào)顯示子程序</p><p>  MOV R6,#00H</p><p><b>  AJMP GN</b></p><p>  KE1:MOV R7,#02H</p><p>  LCALL LED1

66、 調(diào)顯示子程序</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&g

67、t;  MOV R6,#00H</p><p>  AJMP GN </p><p>  KE3:MOV R7,#02H</p><p>  LCALL LED1 調(diào)顯示子程序</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”號鍵,若是則轉(zhuǎn)輸出10Hz信號</p><p>

69、  JNB ACC.5,K100H 判斷是否“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&g

70、t;<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><

71、;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><p

74、>  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></p

75、><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 指向D

77、AC0832(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</b

78、></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 DPT

79、R,#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 @D

80、PTR,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,Q

81、L1</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&g

83、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

84、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,

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, 0F

86、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 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H</p><p>

87、;  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, 00

88、H, 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>

92、;  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, 0

93、ECH,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,0F

94、FH,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, 0DEH

95、,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 <

96、;/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, 11H

98、, 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, 01

99、H, 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&l

102、t;/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,6

103、AH,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 0

104、B0H,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,0E8

105、H,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</p

106、><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 0

107、B0H,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</p

108、><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,3

109、4H,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,01

110、H,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>  D

111、B 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&g

113、t;<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,7FH

114、</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,9DH

115、,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><p

116、>  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,0

117、D3H,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&l

118、t;/p><p>  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&

119、gt;</p><p>  89C51芯片..................................................1個</p><p>  8155芯片....................................................1個</p><p>  DAC0832芯片....................

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論