

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)設(shè)計(jì)</b></p><p> 課題名稱: 單片機(jī)的信號(hào)發(fā)生器設(shè)計(jì) </p><p> 設(shè)計(jì)時(shí)間: 2009.10-2010.3 </p><p> 系 部: 電子信息工程系
2、 </p><p> 班 級(jí): 0501 電子信息 </p><p> 姓 名: </p><p> 指導(dǎo)教師: </p><p><b>
3、 總目錄</b></p><p><b> 第一部分 任務(wù)書(shū)</b></p><p><b> 第二部分 開(kāi)題報(bào)告</b></p><p> 第三部分 畢業(yè)設(shè)計(jì)報(bào)告</p><p> 第 一 部 分</p><p><b> 任</
4、b></p><p><b> 務(wù)</b></p><p><b> 書(shū)</b></p><p><b> XX</b></p><p><b> 畢業(yè)設(shè)計(jì)任務(wù)書(shū)</b></p><p> 第 二 部 分&
5、lt;/p><p><b> 開(kāi)</b></p><p><b> 題</b></p><p><b> 報(bào)</b></p><p><b> 告</b></p><p> XX 電子信息工程系 2009屆</p>
6、<p> 畢業(yè)設(shè)計(jì)(論文)開(kāi)題報(bào)告書(shū)</p><p><b> 目 錄</b></p><p> 緒 論 …………………………………………………………………………1</p><p> 1.1 單片機(jī)的概述 ……………………………………………………………………1</p><p> 1.2 信號(hào)發(fā)
7、生器分類 …………………………………………………………………1</p><p> 1.3 信號(hào)發(fā)生器的用途及發(fā)展趨勢(shì) …………………………………………………1</p><p> 1.4 研究?jī)?nèi)容 …………………………………………………………………………2</p><p> 方案的設(shè)計(jì)與選擇 ……………………………………………………………3</p>
8、<p> 2.1 方案比較 …………………………………………………………………………3</p><p> 2.2 設(shè)計(jì)原理 …………………………………………………………………………3</p><p> 2.3 設(shè)計(jì)思想 …………………………………………………………………………4</p><p> 2.4 設(shè)計(jì)功能 …………………………………………
9、………………………………4</p><p> 第三章 主要器件介紹 …………………………………………………………………5</p><p> 3.1 AT89C51簡(jiǎn)介 ……………………………………………………………………5</p><p> 3.1.1 主要特性 ……………………………………………………………………5</p><p>
10、 3.1.2 管腳說(shuō)明 ……………………………………………………………………6</p><p> 3.2 8155 簡(jiǎn)介 ………………………………………………………………………7</p><p> 3.3 DAC0832 簡(jiǎn)介……………………………………………………………………8</p><p> 3.3.1 工作原理 ………………………………………………
11、……………………8</p><p> 3.3.2 引腳圖及其功能 ……………………………………………………………9</p><p> 3.4 數(shù)碼管顯示原理 …………………………………………………………………9</p><p> 3.5 數(shù)碼管字形編碼…………………………………………………………………10</p><p> 第四章
12、硬件設(shè)計(jì) ……………………………………………………………………11</p><p> 4.1 硬件原理框圖 …………………………………………………………………11</p><p> 4.2 主控電路 ………………………………………………………………………11</p><p> 4.3 數(shù)模轉(zhuǎn)換電路 …………………………………………………………………12
13、</p><p> 4.4 按鍵接口電路 …………………………………………………………………13</p><p> 4.5 時(shí)鐘電路 ………………………………………………………………………13</p><p> 4.6 顯示電路 ………………………………………………………………………14</p><p> 第五章 軟件設(shè)計(jì) …
14、…………………………………………………………………15</p><p> 5.1 程序流程圖 ……………………………………………………………………15</p><p> 5.2 波形仿真 ………………………………………………………………………17</p><p> 結(jié)束語(yǔ) …………………………………………………………………………………19</p>
15、<p> 參考文獻(xiàn) ………………………………………………………………………………20</p><p> 附錄一 …………………………………………………………………………………22</p><p> 附錄二 …………………………………………………………………………………32</p><p> 單片機(jī)的信號(hào)發(fā)生器設(shè)計(jì)</p><p
16、><b> 朱琴 王晶 戴平平</b></p><p><b> 摘 要</b></p><p> 本文介紹一種用AT89C51單片機(jī)構(gòu)成的波形發(fā)生器,可產(chǎn)生方波、三角波、正弦波、鋸齒波等多種波形,波形的周期可用程序改變,并可根據(jù)需要選擇單極性輸出或雙極性輸出,具有線路簡(jiǎn)單、結(jié)構(gòu)緊湊、性能優(yōu)越等特點(diǎn)。文章給出了源代碼,通過(guò)仿真測(cè)試,其
17、性能指標(biāo)達(dá)到了設(shè)計(jì)要求。</p><p> 關(guān)鍵詞:?jiǎn)纹瑱C(jī);DAC;信號(hào)發(fā)生器</p><p> Design of Signal Generator Based on MCU</p><p> Zhuqin Wangjing Daipingping</p><p><b> 、</b></p>
18、<p><b> Abstract</b></p><p> This paper introduces a signal generator with MCU AT89C51,which is used to generate electro-wave-forms such as squares、triangles、sines and teeth-saw. The peri
19、ods of these signals can be changed by programs of MCU AT89C51 and their outputs can be selected to be monopolar or bipolar. This paper provides the original code. And the technical parameter of the signal generator meet
20、s the request of the design after the simulation test. </p><p> Key words:MCU;DAC;signal generator</p><p><b> 第一章 緒 論</b></p><p><b> 1.1單片機(jī)概述</b></p>
21、;<p> 隨著大規(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]。</p><p&g
22、t; 1.2信號(hào)發(fā)生器的分類</p><p> 信號(hào)發(fā)生器應(yīng)用廣泛,種類繁多,性能各異,分類也不盡一致。按照頻率范圍分類可以分為:超低頻信號(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ā)生
23、器等。按照信號(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ù)等在一定范圍內(nèi)連續(xù)可調(diào),并且讀數(shù)準(zhǔn)確、穩(wěn)定、屏蔽良好的中、高檔信號(hào)發(fā)生器。</p><p> 1.3信號(hào)發(fā)生器的用途及發(fā)展趨勢(shì)</p><p> 信號(hào)發(fā)生器是一種常用的信號(hào)源,廣泛應(yīng)用于科學(xué)研究、
24、生產(chǎn)實(shí)踐和教學(xué)實(shí)驗(yàn)等領(lǐng)域。特別是在通信系統(tǒng)的科研實(shí)驗(yàn)中,常常需要用到多種不同頻率和相位的信號(hào),如正弦波、三角波、方波和鋸齒波等,因此多功能信號(hào)發(fā)生器應(yīng)用十分廣泛。在數(shù)字化時(shí)代的今天,經(jīng)典的由模擬電路組成的信號(hào)發(fā)生器已經(jīng)漸漸遠(yuǎn)離了人們,取而代之的是電路簡(jiǎn)潔、功能多樣、功耗低的數(shù)字電路。在以后的時(shí)間里,將會(huì)有越來(lái)越多的數(shù)字化的信號(hào)發(fā)生器運(yùn)用在各種科學(xué)技術(shù)領(lǐng)域和工程實(shí)踐中,給人們的日常生活帶來(lái)更多的便利[1]。</p><
25、p><b> 1.4 研究?jī)?nèi)容</b></p><p> 本文是做基于單片機(jī)的信號(hào)發(fā)生器的設(shè)計(jì),將采用編程的方法來(lái)實(shí)現(xiàn)三角波、鋸齒波、矩形波、正弦波的發(fā)生。根據(jù)設(shè)計(jì)的要求,對(duì)各種波形的頻率和幅度進(jìn)行程序的編寫(xiě),并將所寫(xiě)程序裝入單片機(jī)的程序存儲(chǔ)器中。在程序運(yùn)行中,當(dāng)接收到來(lái)自外界的命令,需要輸出某種波形時(shí)再調(diào)用相應(yīng)的中斷服務(wù)子程序和波形發(fā)生程序,經(jīng)電路的數(shù)/模轉(zhuǎn)換器和運(yùn)算放大器處理后
26、,從信號(hào)發(fā)生器的輸出端口輸出。</p><p> 第二章 方案的設(shè)計(jì)與選擇</p><p><b> 2.1 方案的比較</b></p><p> 方案一:采用單片函數(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)的頻率穩(wěn)定度不高。</
27、p><p> 方案二:采用鎖相式頻率合成器,利用鎖相環(huán),將壓控振蕩器(VCO)的輸出頻率鎖定在所需頻率上,該方案性能良好,但難以達(dá)到輸出頻率覆蓋系數(shù)的要求,且電路復(fù)雜。</p><p> 方案三:采用單片機(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)的精度可以
28、做的很高。</p><p> 鑒于方案一的信號(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)確性得以保證,而且它使用的幾種元器件都是常用的元器件,容易得到,且價(jià)格便宜,使得硬件的開(kāi)銷達(dá)到最省[1,7]。</p><p><b> 2.2 設(shè)計(jì)原理</
29、b></p><p> 數(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再配置鍵盤(pán)及其接口、顯示器及其接口、數(shù)模轉(zhuǎn)換及波形輸出、指示燈及其接口等四
30、部分,即可構(gòu)成所需的波形發(fā)生器,其信號(hào)發(fā)生器構(gòu)成原理框圖如圖2.1所示[2]。</p><p> 圖2.1 信號(hào)發(fā)生器原理框圖</p><p> 89C51是整個(gè)波形發(fā)生器的核心部分,通過(guò)程序的編寫(xiě)和執(zhí)行,產(chǎn)生各種各樣的信號(hào),并從鍵盤(pán)接收數(shù)據(jù),進(jìn)行各種功能的轉(zhuǎn)換和信號(hào)幅度的調(diào)節(jié)。當(dāng)數(shù)字信號(hào)經(jīng)過(guò)接口電路到達(dá)轉(zhuǎn)換電路,將其轉(zhuǎn)換成模擬信號(hào)也就是所需要的輸出波形。</p>&l
31、t;p><b> 2.3 設(shè)計(jì)思想</b></p><p> ?。?)利用單片機(jī)產(chǎn)生方波、正弦波、三角波和鋸齒波等信號(hào)波形,信號(hào)的頻率和幅度可變。</p><p> ?。?)將一個(gè)周期的信號(hào)分離成256個(gè)點(diǎn)(按X軸等分),每?jī)牲c(diǎn)之間的時(shí)間間隔為T(mén),用單片機(jī)的定時(shí)器產(chǎn)生,其表示式為:T=T/256。</p><p> 如果單片機(jī)的晶振為
32、12MHz,采用定時(shí)器方式0,則定時(shí)器的初值為:</p><p> X=213—T/Tmec (2.1)</p><p><b> 定時(shí)時(shí)間常數(shù)為:</b></p><p> TL =(8192—T)/MOD256
33、 (2.2)</p><p> TH = (8192—T)/256 (2.3)</p><p> MOD32表示除32取余數(shù)</p><p> ?。?)正弦波的模擬信號(hào)是D/A轉(zhuǎn)換器的模擬量輸出,其計(jì)算公式為:</p><p> Y=(
34、A/2sint)+A/2 (其中A=VREF) (2.4)</p><p> t=NT (N=1~256) (2.5)</p><p> 那么對(duì)應(yīng)著存放在計(jì)算機(jī)里的這一點(diǎn)的數(shù)據(jù)為: </p><p> ?。?.6)
35、(4)一個(gè)周期被分離成256個(gè)點(diǎn),對(duì)應(yīng)的四種波形的256個(gè)數(shù)據(jù)存放在以TAB1--TAB4為起始地址的存儲(chǔ)器中。</p><p><b> 2.4 設(shè)計(jì)功能</b></p><p> ?。?)本方案利用8155擴(kuò)展8個(gè)獨(dú)立式按鍵,6個(gè)LED顯示器。其中“S0”號(hào)鍵代表方波輸出,“S1”號(hào)鍵代表正弦波輸出,“S2”號(hào)鍵代表三角波輸出,“S3” 號(hào)鍵代表鋸齒波輸出。&l
36、t;/p><p> ?。?)“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。</p><p> ?。?)利用兩片DAC0832實(shí)現(xiàn)幅度可調(diào)的信號(hào)源,(其中一片用來(lái)調(diào)節(jié)幅度,另外一片用來(lái)實(shí)現(xiàn)信號(hào)源的輸出)。</p><p> ?。?/p>
37、4)頻率范圍:10~1000Hz。</p><p> (5)輸出波形幅度為0~5V。</p><p> 第三章 主要器件介紹</p><p> 3.1 AT89C51簡(jiǎn)介</p><p> 在設(shè)計(jì)中,AT89C51用于產(chǎn)生波形的數(shù)字信號(hào),并控制信號(hào)的頻率和幅度。AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—F
38、alsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS 8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。其引腳圖如圖3.1所示:</p>
39、;<p> 圖3.1 AT89C51引腳圖</p><p> 3.1.1 主要特性</p><p> ? 8031 CPU與MCS-51 兼容</p><p> ? 4K字節(jié)可編程FLASH存儲(chǔ)器(壽命:1000寫(xiě)/擦循環(huán))</p><p> ? 全靜態(tài)工作:0Hz-24KHz</p><p>
40、; ? 三級(jí)程序存儲(chǔ)器保密鎖定</p><p> ? 128*8位內(nèi)部RAM</p><p> ? 32條可編程I/O線</p><p> ? 兩個(gè)16位定時(shí)器/計(jì)數(shù)器? 6個(gè)中斷源</p><p><b> ? 可編程串行通道</b></p><p> ? 低功耗的閑置和掉電模式&l
41、t;/p><p> ? 片內(nèi)振蕩器和時(shí)鐘電路</p><p> 3.1.2 管腳說(shuō)明</p><p> P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8個(gè)TTL門(mén)電流。當(dāng)P0口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出
42、原碼,此時(shí)P0外部必須被拉高。</p><p> P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。</p><p> P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩
43、沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。<
44、/p><p> P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL),這是由于上拉的緣故。</p><p> RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p><p> ALE/PR
45、OG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果
46、微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。</p><p> PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取址期間,每個(gè)機(jī)器周期兩次PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的PSEN信號(hào)將不出現(xiàn)。</p><p> EA/VPP:當(dāng)EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),EA將內(nèi)部鎖定為RE
47、SET,當(dāng)EA</p><p> 端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。</p><p> XTAL2:來(lái)自反向振蕩器的輸出。</p><p><b> VCC:供電電壓。</b&
48、gt;</p><p><b> GND:接地。</b></p><p> 3.2 8155芯片簡(jiǎn)介</p><p> 8155是通用的可編程并行接口芯片,在設(shè)計(jì)中用做鍵盤(pán)、顯示器的擴(kuò)充。其引腳圖如圖3.2所示:</p><p> 圖3.2 8155引腳圖</p><p> RST:復(fù)
49、位信號(hào)輸入端,高電平有效。復(fù)位后,3個(gè)I/O口均為輸入方式。</p><p> AD0~AD7:三態(tài)的地址/數(shù)據(jù)總線。與單片機(jī)的低8位地址/數(shù)據(jù)總線(P0口)相連。單片機(jī)與8155之間的地址、數(shù)據(jù)、命令與狀態(tài)信息都是通過(guò)這個(gè)總線口傳送的。</p><p> ?。鹤x選通信號(hào),控制對(duì)8155的讀操作,低電平有效。</p><p> ?。簩?xiě)選通信號(hào),控制對(duì)8155的寫(xiě)操
50、作,低電平有效。</p><p> ?。浩x信號(hào)線,低電平有效。</p><p> IO/:8155的RAM存儲(chǔ)器或I/O口選擇線。當(dāng)IO/=0時(shí),則選擇8155的片內(nèi)RAM,AD0~AD7上地址為8155中RAM單元的地址(00H~FFH),</p><p> 當(dāng)IO/=1時(shí),選擇8155的I/O口,AD0~AD7上的地址為8155 I/O口的地址。</
51、p><p> ALE:地址鎖存信號(hào)。8155內(nèi)部設(shè)有地址鎖存器,在ALE的下降沿將鎖存單片機(jī)P0口輸出的低8位地址信息及,IO/的狀態(tài)都鎖存到8155內(nèi)部鎖存器。因此,P0口輸出的低8位地址信號(hào)不需外接鎖存器。</p><p> PA0~PA7:8位通用I/O口,其輸入、輸出的流向可由程序控制。</p><p> PB0~PB7:8位通用I/O口,功能同A口。&l
52、t;/p><p> PC0~PC5:有兩個(gè)作用,既可作為通用的I/O口,也可作為PA口和PB口的控制信號(hào)線,這些可通過(guò)程序控制。</p><p> TIMER IN:定時(shí)/計(jì)數(shù)器脈沖輸入端。</p><p> TIMER OUT:定時(shí)/計(jì)數(shù)器輸出端。</p><p> VCC:+5V電源。</p><p> 3.
53、3 DAC0832簡(jiǎn)介</p><p> 3.3.1 工作原理</p><p> 在設(shè)計(jì)中,DAC0832主要用來(lái)將數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào)。DAC0832主要由8位輸入寄存器、8位DAC寄存器、8位D/A轉(zhuǎn)換器以及輸入控制電路四部分組成。8位輸入寄存器用于存放主機(jī)送來(lái)的數(shù)字量,使輸入數(shù)字量得到緩沖和鎖存,由加以控制,8位DAC寄存器用于存放待轉(zhuǎn)換的數(shù)字量,并加以控制。8位D/A轉(zhuǎn)換器輸
54、出與數(shù)字量成正比的模擬電流,由與門(mén)、與非門(mén)組成的輸入控制電路來(lái)控制2個(gè)寄存器的選通或鎖存狀態(tài)。其原理框圖如圖3.3所示。</p><p> 圖3.3 DAC0832原理框圖</p><p> 當(dāng)WR2和XFER同時(shí)有效時(shí),8位DAC寄存器端為高電平“1”,此時(shí)DAC寄存器的輸出端Q跟隨輸入端D也就是輸入寄存器Q端的電平變化,反之,當(dāng)端為低電平“0”時(shí),第一級(jí)8位輸入寄存器Q端的狀態(tài)則
55、鎖存到第二級(jí)8位DAC寄存器中,以便第三級(jí)8位DAC轉(zhuǎn)換器進(jìn)行D/A轉(zhuǎn)換。</p><p> 3.3.2 引腳圖及其功能</p><p> 各引腳分布如圖3.4所示。引腳功能如下:</p><p> (1) DI7~DI0 :8位的數(shù)據(jù)輸入端,DI7為最高位。</p><p> (2) IOUT1 :模擬電流輸出端1,當(dāng)DAC寄存器中
56、數(shù)據(jù)全為1時(shí),輸出電流最大,當(dāng) DAC寄存器中數(shù)據(jù)全為0時(shí),輸出電流為0。</p><p> (3) IOUT2 :模擬電流輸出端2, IOUT2與IOUT1的和為一個(gè)常數(shù),即IOUT1+I(xiàn)OUT2=常數(shù)。</p><p> (4) RFB:反饋電阻引出端,DAC0832內(nèi)部已經(jīng)有反饋電阻,所以RFB端可以直接接到外部運(yùn)算放大器的輸出端,這樣相當(dāng)于將一個(gè)反饋電阻接在運(yùn)算放大器的輸出端和
57、輸入端之間。</p><p> (5) VREF :參考電壓輸入端,此端可接一個(gè)正電壓,也可接一個(gè)負(fù)電壓,它決定0至255的數(shù)字量轉(zhuǎn)化出來(lái)的模擬量電壓值的</p><p> 圖3.4 DAC0832引腳圖</p><p> 幅度,VREF范圍為(+10~-10)V。VREF端與D/A內(nèi)部T形電阻網(wǎng)絡(luò)相連。</p><p> (6)
58、Vcc :芯片供電電壓,范圍為(+5~ 15)V。</p><p> (7) AGND :模擬量地,即模擬電路接地端。</p><p> (8) DGND :數(shù)字量地。</p><p> 3.4 數(shù)碼管顯示原理</p><p> 共陽(yáng)極數(shù)碼管的8個(gè)發(fā)光二極管的陽(yáng)極(二極管正端)連接在一起,通常,公共陽(yáng)極接高電平(一般接電源),其它管腳
59、接段驅(qū)動(dòng)電路輸出端。當(dāng)某段驅(qū)動(dòng)電路的輸出端為低電平時(shí),則該端所連接的字段導(dǎo)通并點(diǎn)亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時(shí),要求段驅(qū)動(dòng)電路能吸收額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來(lái)確定相應(yīng)的限流電阻。</p><p> 共陰極數(shù)碼管的8個(gè)發(fā)光二極管的陰極(二極管負(fù)端)連接在一起,通常,公共陰極接低電平(一般接地),其它管腳接段驅(qū)動(dòng)電路輸出端,當(dāng)某段驅(qū)動(dòng)電路的輸出端為高電平時(shí),則該端所
60、連接的字段導(dǎo)通并點(diǎn)亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時(shí),要求段驅(qū)動(dòng)電路能提供額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來(lái)確定相應(yīng)的限流電阻。其結(jié)構(gòu)如圖3.5所示。</p><p> ?。╝) 外型結(jié)構(gòu) (b) 共陰極 (c)共陽(yáng)極</p><p> 圖3.5 數(shù)碼管結(jié)構(gòu)圖</p><p&
61、gt; 3.5 數(shù)碼管字形編碼</p><p> 要使數(shù)碼管顯示出相應(yīng)的數(shù)字或字符必須使得數(shù)據(jù)口輸出相應(yīng)的字形編碼。對(duì)照?qǐng)D3.5(a),字型碼各位定義如下:</p><p> 數(shù)據(jù)線DB0與a字段對(duì)應(yīng),DB1字段與b字段對(duì)應(yīng)……,依此類推。如使用共陽(yáng)極數(shù)碼管,數(shù)據(jù)為0表示對(duì)應(yīng)字段亮,數(shù)據(jù)為1表示對(duì)應(yīng)字段暗;如使用共陰極數(shù)碼管,數(shù)據(jù)為0表示對(duì)應(yīng)字段暗,數(shù)據(jù)為1表示對(duì)應(yīng)字段亮。數(shù)碼管字形
62、編碼如表3.1所示[8]。</p><p> 表3.1 數(shù)碼管字型編碼表</p><p><b> 第四章 硬件設(shè)計(jì)</b></p><p> 4.1 硬件原理框圖</p><p> 硬件原理方框圖如圖4.1所示。</p><p> 圖4.1 硬件原理框圖</p>&l
63、t;p><b> 4.2 主控電路</b></p><p> AT89C51單處機(jī)內(nèi)部設(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)求中斷。
64、</p><p> 中斷系統(tǒng)是使處理器具有對(duì)外界異步事件的處理能力而設(shè)置的。當(dāng)中央處理器CPU正在處理某件事的時(shí)候外界發(fā)生了緊急事件,要求CPU暫停當(dāng)前的工作,轉(zhuǎn)而去處理這個(gè)緊急事件。在波形發(fā)生器中,只用到片內(nèi)定時(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)中斷,接著
65、輸出下一個(gè)采樣點(diǎn)信號(hào),如此循環(huán)產(chǎn)生所需要的信號(hào)波形[6]。</p><p> 如圖4.2所示,AT89C51從P0口接收來(lái)自鍵盤(pán)的信號(hào),并通過(guò)P2口輸出一些控制信號(hào),將其輸入到8155的信號(hào)控制端,用于控制其信號(hào)的輸入、輸出。如果有鍵按下,則在讀控制端會(huì)產(chǎn)生一個(gè)讀信號(hào),使單片機(jī)讀入信號(hào)。如果有信號(hào)輸出,則在寫(xiě)控制端產(chǎn)生一個(gè)寫(xiě)信號(hào),并將所要輸出的信號(hào)通過(guò)8155的PB口輸出,并在數(shù)碼管上顯示出來(lái)。</p&g
66、t;<p> 圖4.2 主控電路圖</p><p> 4.3 數(shù)/模轉(zhuǎn)換電路</p><p> 由于單片機(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í)際上
67、,DAC0832輸出的電量也不是真正能連續(xù)可調(diào),而是以其絕對(duì)分辨率為單位增減,是準(zhǔn)模擬量的輸出。DAC0832是電流型輸出,在應(yīng)用時(shí)外接運(yùn)放使之成為電壓型輸出。</p><p> 由圖4.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í),由公式
68、 得:Vout = - 5V.當(dāng)輸出電壓為- 5V時(shí),可得:Vout = +5V,所以輸出波形的電壓變化范圍為- 5V~+ 5V. 故可推得,當(dāng)P0所送數(shù)據(jù)為80H時(shí),Vout為0V[4]。</p><p> 圖4.3 數(shù)模轉(zhuǎn)換電路</p><p> 4.4 按鍵接口電路</p><p> 圖4.4為鍵盤(pán)接口電路的原理圖,圖中鍵盤(pán)和
69、8155的PA口相連,AT89C51的P0口和8155的D0口相連,AT89C51不斷的掃描鍵盤(pán),看是否有鍵按下,如有,則根據(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]。</p><p
70、> 圖4.4 按鍵接口</p><p><b> 4.5 時(shí)鐘電路</b></p><p> 8051單片機(jī)有兩個(gè)引腳(XTAL1,XTAL2)用于外接石英晶體和微調(diào)電容,從而構(gòu)成時(shí)鐘電路,其電路圖如圖4.5所示。</p><p> 電容C1、C2對(duì)振蕩頻率有穩(wěn)定作用,其容量的選擇為30pf,振蕩器選擇頻率為12MHz的石英晶體
71、。由于頻率較大時(shí),三角波、正弦波、鋸齒波中每一點(diǎn)的延時(shí)時(shí)間為幾微秒,故延時(shí)時(shí)間還要加上指令時(shí)間才能獲得較大的頻率波形[9]。</p><p> 圖4.5 時(shí)鐘電路</p><p><b> 4.6 顯示電路</b></p><p> 顯示電路是用來(lái)顯示波形信號(hào)的頻率,使得整個(gè)系統(tǒng)更加合理,從經(jīng)濟(jì)的角度出發(fā),所以顯示器件采用LED數(shù)碼管顯
72、示器。而且LED數(shù)碼管是采用共陽(yáng)極接法,當(dāng)主控端口輸出一個(gè)低電平后,與其相對(duì)應(yīng)的數(shù)碼管即變亮,顯示所需數(shù)據(jù)。其器件模型如圖4.6所示。</p><p> 圖4.6 LED顯示電路</p><p><b> 第五章 軟件設(shè)計(jì)</b></p><p><b> 5.1 程序流程圖</b></p><
73、p> 本文中子程序的調(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)的電壓,從而形成所需的各種波形。</p><p> 主程序的流程圖如圖5.1所示,在程序開(kāi)始運(yùn)行之后,首先是對(duì)8155進(jìn)行初始化,之后判斷信號(hào)頻率值,如符合所需的頻率,則重置時(shí)間常數(shù),并通過(guò)顯示器顯示出來(lái),不符則返回。在中斷結(jié)束后,還要來(lái)判斷波形是否符
74、合,如符合,則顯示其頻率,不符則返回,重新判斷。</p><p> 圖5.1 主程序流程圖</p><p> 圖5.2為各波形子程序的流程圖。如圖所示,在中斷服務(wù)子程序開(kāi)始后,通過(guò)判斷來(lái)確定各種波形的輸出,當(dāng)判斷選擇的不是方波后,則轉(zhuǎn)向?qū)φ也ǖ呐袛?,如此反?fù)。如果選擇的是方波,則用查表的方法求出相應(yīng)的數(shù)據(jù),并通過(guò)D/A轉(zhuǎn)換</p><p> 器將數(shù)據(jù)轉(zhuǎn)換成
75、模擬信號(hào),形成所需波形信號(hào)。</p><p> 圖5.2 子程序流程圖</p><p><b> 5.2 波形仿真</b></p><p> 通過(guò)前面的軟、硬件設(shè)計(jì),整個(gè)電路的設(shè)計(jì)已基本完成,下面將進(jìn)行正弦波、方波、三角波、鋸齒波等波形的仿真與測(cè)試。本文中波形信號(hào)的仿真是以Proteus 6.5這一款軟件為平臺(tái),裝入波形發(fā)生程序,驗(yàn)證硬
76、件電路和程序的正確性。</p><p> 5.2.1 正弦波的仿真</p><p> 如圖5.3所示,此波形為幅度為5V,頻率為500HZ的正弦波,是通過(guò)查表轉(zhuǎn)換的方法來(lái)實(shí)現(xiàn)的。而要實(shí)現(xiàn)其他如10HZ、100HZ、1KHZ等頻率的波形,則需要調(diào)用延時(shí)子程序,改變波形發(fā)生的時(shí)間常數(shù)。</p><p> 圖5.3 正弦波仿真圖</p><p&
77、gt; 5.2.2 三角波的仿真</p><p> 如圖5.4所示,此波形為幅度為5V,頻率為500HZ的正弦波,是通過(guò)查表轉(zhuǎn)換的方法來(lái)實(shí)現(xiàn)的。通過(guò)調(diào)用延時(shí)子程序,改變波形發(fā)生的時(shí)間常數(shù),實(shí)現(xiàn)10HZ、100HZ、1KHZ等頻率的波形。</p><p> 圖5.4 三角波仿真圖</p><p> 5.2.3 鋸齒波的仿真</p><p&
78、gt; 如圖5.5所示,此波形為幅度為5V,頻率為500HZ的鋸齒波,是通過(guò)查表轉(zhuǎn)換的方法來(lái)實(shí)現(xiàn)的。而要實(shí)現(xiàn)其他如10HZ、100HZ、1KHZ等頻率的波形,則需要調(diào)用延時(shí)子程序,改變波形發(fā)生的時(shí)間常數(shù)。</p><p> 圖5.5 鋸齒波仿真圖</p><p> 5.2.4 方波的仿真</p><p> 如圖5.6所示,此波形為幅度為5V,頻率為500H
79、Z的方波,是通過(guò)查表轉(zhuǎn)換的方法來(lái)實(shí)現(xiàn)的。通過(guò)調(diào)用延時(shí)子程序,改變波形發(fā)生的時(shí)間常數(shù),實(shí)現(xiàn)10HZ、100HZ、1KHZ等頻率的波形。</p><p> 圖5.6 方波仿真圖</p><p><b> 結(jié)束語(yǔ)</b></p><p> 這種基于單片機(jī)的信號(hào)發(fā)生器已經(jīng)展示出很好的性能,而且有著很高的性價(jià)比。此外,它產(chǎn)生的波形與模擬電路的波形
80、相比,波形有著更好的平滑性,其周期性也更加穩(wěn)定。已經(jīng)越來(lái)越多的應(yīng)用到各種電子設(shè)備當(dāng)中,給人們的日常生活帶來(lái)了方便。</p><p> 在論文中簡(jiǎn)單介紹了它的用途和發(fā)展趨勢(shì),根據(jù)它的一些基本知識(shí),按照自己的想法設(shè)計(jì)了一類低頻信號(hào)發(fā)生器,具體包括了設(shè)計(jì)方案以及相關(guān)參數(shù)的選取和計(jì)算,根據(jù)工作基本原理加入了一些相關(guān)的輔助電路,并編寫(xiě)了相關(guān)的應(yīng)用程序。有些指標(biāo)還有待于進(jìn)一步提高。例如,在精度及其它功能的擴(kuò)展上還有較大的潛
81、力可以挖掘,這些都有待于我們通過(guò)對(duì)電路的改進(jìn)和對(duì)元器件的最佳選擇來(lái)進(jìn)一步完善。而且由于本人所學(xué)知識(shí)有限,很多知識(shí)點(diǎn)的學(xué)習(xí)不夠深刻,我會(huì)在以后的學(xué)習(xí)中更加踏實(shí)、認(rèn)真的學(xué)好各個(gè)知識(shí)點(diǎn)。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 程全.基于AT89C52實(shí)現(xiàn)的多種波形發(fā)生器的設(shè)計(jì)[J].周口師范學(xué)院學(xué)報(bào),2005.22(5):57~58.&l
82、t;/p><p> [2] 周明德.微型計(jì)算機(jī)系統(tǒng)原理及應(yīng)用[M].北京:清華大學(xué)出版社,2002.341~364.</p><p> [3] 劉樂(lè)善.微型計(jì)算機(jī)接口技術(shù)及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2001.258~264.</p><p> [4] 童詩(shī)白.模擬電路技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2000.171~202.</p>
83、;<p> [5] 杜華.任意波形發(fā)生器及應(yīng)用[J].國(guó)外電子測(cè)量技術(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~103.</p>
84、<p> [8] 張永瑞.電子測(cè)量技術(shù)基礎(chǔ)[M].西安:西安電子科技大學(xué)出版社,2006.61~101.</p><p> [9] 李葉紫. MCS-51單片機(jī)應(yīng)用教程[M].北京:清華大學(xué)出版社,2004.232~238.</p><p> [10] 蔡美琴.MCS-51系列單片機(jī)系統(tǒng)及其應(yīng)用[M].北京:高等教育出版社,1988.56~289.</p>
85、<p><b> 致 謝</b></p><p> 本文的研究工作是在***老師指導(dǎo)、幫助和督促下完成的。XX老師在該領(lǐng)域有敏銳的感知力以及對(duì)其應(yīng)用價(jià)值的洞察力給我留下了深刻的印象。在攻讀學(xué)士學(xué)位四年的學(xué)習(xí)期間,導(dǎo)師勇于探索、敢于創(chuàng)新的科研精神激勵(lì)我不斷努力進(jìn)取,在今后的人生旅途上取得成功的寶貴的精神財(cái)富。</p><p> 同時(shí),在學(xué)習(xí)期間導(dǎo)師為
86、我提供了良好的研究環(huán)境和實(shí)踐條件,并對(duì)一些創(chuàng)新性的工作給予了大量的指導(dǎo)與支持。在本文完成之際,謹(jǐn)向?yàn)槲覂A注了大量心血的導(dǎo)師及幫助過(guò)我的老師和同學(xué)表示最誠(chéng)摯的感謝和深深的敬意!</p><p><b> 附錄一</b></p><p><b> 源程序:</b></p><p> ORG 0000H</p>
87、;<p><b> AJM MAIN</b></p><p> ORG 000BH</p><p><b> LJMP TC0</b></p><p> ORG 0030H</p><p> MAIN:MOV DPTR,#9FFFH 指
88、向DAC0832(1)</p><p> MOV A,70H</p><p> MOVX @DPTR,A DAC0832(1)輸出</p><p> MOV DPTR,#7F00H 指向8155命令字端口地址</p><p> MOV
89、 A,#06H 設(shè)置A口為輸入,B口、C口為輸出</p><p> MOVX @DPTR,A 送命令字</p><p> MOV DPTR,#7F01H 指向A口地址</p><p> MOVX A,
90、@DPTR 讀入A口的開(kāi)關(guān)數(shù)據(jù)</p><p> JNB ACC.4,K10H 判斷是否“4”號(hào)鍵,若是則轉(zhuǎn)輸出10Hz信號(hào)</p><p> JNB ACC.5,K100H 判斷是否“5”號(hào)鍵,若是則轉(zhuǎn)輸出100Hz信號(hào)</p&
91、gt;<p> JNB ACC.6,K500H 判斷是否“6”號(hào)鍵,若是則轉(zhuǎn)輸出500Hz信號(hào)</p><p> JNB ACC.7,K1K 判斷是否“7”號(hào)鍵,若是則轉(zhuǎn)輸出1KHz信號(hào)</p><p> AJMP MAIN</p><p>
92、 LED1: MOV R3,#06H 設(shè)置6個(gè)LED顯示</p><p> MOV R2,#01H 選通第一位LED數(shù)據(jù)</p><p> MOV R1,#30H 送顯示緩沖區(qū)首址</p><p> G
93、N1:MOV DPTR,#7F03H 指向C口地址</p><p> MOV A,R2 位選通數(shù)據(jù)送A</p><p> MOVX @DPTR,A 位選通數(shù)據(jù)送C口</p><p> RL A
94、 選通下一位</p><p> MOV R2,A 位選通數(shù)據(jù)送R2中保存</p><p> MOV A, @R1 取鍵值</p><p> MOV DPTR,#TAB
95、 送LED顯示軟件譯碼表首址</p><p> MOVC A,@A+DPTR 查表求出鍵值顯示的段碼</p><p> MOV DPTR,#7F02H 指向B口地址</p><p> MOV @DPTR,A
96、 段碼送顯示</p><p> LCALL LOOP1 調(diào)延時(shí)子程序</p><p> INC R1 指向下一位顯示緩沖區(qū)地址</p><p> DJNZ R3,GN1
97、 循環(huán)顯示6個(gè)LED</p><p><b> RET</b></p><p> LOOP1:MOV R4,#08H 延時(shí)子程序</p><p> LOOP:MOV R5,#0A0H</p><p> DJNZ R5,$</p>&
98、lt;p> DJNZ R4,LOOP</p><p><b> RET</b></p><p> K10H:MOV 30H,#00H 顯示10Hz</p><p> MOV 31H,#00H</p><p> MOV 32H,#00H</p>&l
99、t;p> MOV 33H,#00H</p><p> MOV 34H,#01H</p><p> MOV 35H,#00H</p><p> LCALL LED1 調(diào)顯示子程序</p><p> MOV TMOD,#00H</p><p>
100、 MOV TL0,#15H</p><p> MOV TH0,#9EH</p><p><b> AJMP PD</b></p><p> K100H:MOV 30H,#00H 顯示100Hz</p><p> MOV 31H,#00H</p><p
101、> MOV 32H,#00H</p><p> MOV 33H,#01H</p><p> MOV 34H,#00H</p><p> MOV 35H,#00H</p><p> LCALL LED1 調(diào)顯示子程序</p><p> MOV
102、 TMOD,#00H</p><p> MOV TL0,#08H</p><p> MOV TH0,#0F6H</p><p><b> AJMP PD</b></p><p> K500H:MOV 30H,#00H 顯示500Hz</p><p>
103、MOV 31H,#00H</p><p> MOV 32H,#00H</p><p> MOV 33H,#05H</p><p> MOV 34H,#00H</p><p> MOV 35H,#00H</p><p> LCALL LED1 調(diào)顯示子
104、程序</p><p> MOV TMOD,#00H</p><p> MOV TL0,#01H</p><p> MOV TH0,#0FEH</p><p><b> AJMP PD</b></p><p> K1K:MOV 30H,#00H 顯示
105、1KHz</p><p> MOV 31H,#00H</p><p> MOV 32H,#01H</p><p> MOV 33H,#00H</p><p> MOV 34H,#00H</p><p> MOV 35H,#00H</p><p> LCALL LED1
106、 調(diào)顯示子程序</p><p> MOV TMOD,#00H</p><p> MOV TL0,#01H</p><p> MOV TH0,#0FFH</p><p> PD:JNB ACC.0,KE0 判斷是否“0”號(hào)鍵按下,若是則轉(zhuǎn)方波輸出</p&
107、gt;<p> JNB ACC.1,KE1 判斷是否“1”號(hào)鍵按下,若是則轉(zhuǎn)正弦方波輸出</p><p> JNB ACC.2,KE2 判斷是否“2”號(hào)鍵按下,若是則轉(zhuǎn)三角波輸出</p><p> JNB ACC.3,KE3 判斷是否“3”號(hào)鍵按下,若是則轉(zhuǎn)
108、鋸齒波輸出</p><p><b> LJMP PD</b></p><p> KE0:MOV R7,#00H</p><p> LCALL LED1 調(diào)顯示子程序</p><p> MOV R6,#00H</p><p><b>
109、 AJMP GN</b></p><p> KE1:MOV R7,#02H</p><p> LCALL LED1 調(diào)顯示子程序</p><p> MOV R6,#00H</p><p><b> AJMP GN</b></p><
110、;p> KE2:MOV R7,#02H</p><p> LCALL LED1 調(diào)顯示子程序</p><p> MOV R6,#00H</p><p> AJMP GN </p><p> KE3:MOV R7,#02H</
111、p><p> LCALL LED1 調(diào)顯示子程序</p><p> MOV R6,#00H</p><p> GN: SETB TR0</p><p><b> SETB ET0</b></p><p><b> SETB EA&l
112、t;/b></p><p> LOP1:JNB ACC.4,K10H 判斷是否“4”號(hào)鍵,若是則轉(zhuǎn)輸出10Hz信號(hào)</p><p> JNB ACC.5,K100H 判斷是否“5”號(hào)鍵,若是則轉(zhuǎn)輸出100Hz信號(hào)</p><p> JNB ACC.6,K500H 判斷是否
113、“6”號(hào)鍵,若是則轉(zhuǎn)輸出500Hz信號(hào)</p><p> JNB ACC.7,K1K 判斷是否“7”號(hào)鍵,若是則轉(zhuǎn)輸出1KHz信號(hào)</p><p> AJMP LOP1</p><p> TC0:CJNE R7,#00H,TC1 發(fā)送方波程序</p><p> MOV DPTR,
114、#TAB1 送方波數(shù)據(jù)表首址</p><p> MOV A,R6 發(fā)送數(shù)據(jù)寄存器</p><p> MOVC A,@A+DPTR</p><p> MOV DPTR,#0AFFFH 指向DAC0832(2)</p><p> MOVX
115、 @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,#
116、32,QL1</p><p> MOV R6,#00H</p><p><b> AJMP QL1</b></p><p> TC1:CJNE R7,#01H,TC2 發(fā)送正弦波程序</p><p> MOV DPTR,#TAB2 送正弦波數(shù)據(jù)表首址<
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的信號(hào)發(fā)生器
- 基于單片機(jī)的函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的函數(shù)信號(hào)發(fā)生器
- 基于單片機(jī)的函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-----基于單片機(jī)的函數(shù)信號(hào)發(fā)生器
- 基于單片機(jī)的函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 單片機(jī)函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的智能信號(hào)發(fā)生器設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的智能信號(hào)發(fā)生器設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的信號(hào)發(fā)生器設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----基于單片機(jī)的方波信號(hào)發(fā)生器
- 單片機(jī)的函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的受控正弦信號(hào)發(fā)生器設(shè)計(jì)
- 數(shù)字信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)--基于單片機(jī)的數(shù)字信號(hào)發(fā)生器設(shè)計(jì)
- 基于單片機(jī)的函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì) (2)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的低頻信號(hào)發(fā)生器設(shè)計(jì)
- 基于單片機(jī)的函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì) (2)
- 畢業(yè)設(shè)計(jì)--- 基于單片機(jī)pc程控脈沖信號(hào)發(fā)生器設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)pc程控脈沖信號(hào)發(fā)生器設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論