

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、<p><b> XXXX大 學</b></p><p> 畢 業(yè) 設 計( 論 文 )</p><p> 二〇XX 年 X 月 X 日</p><p> 題 目基于單片機的智能信號發(fā)生器設計</p><p> 作 者</p><p> 學 院</p&g
2、t;<p> 專 業(yè)</p><p> 學 號</p><p> 指導教師</p><p><b> 摘 要</b></p><p> 本系統(tǒng)是基于AT89S52單片機的數(shù)字式低頻信號發(fā)生器。采用AT89S52 單片機作為控制核心,外圍采用數(shù)字/模擬轉(zhuǎn)換電路(DAC0832)、運放電路
3、(NE4558)、按鍵和LED顯示燈電路等。通過按鍵控制可產(chǎn)生方波、鋸齒波、三角波、正弦波等,同時用LED顯示燈指示對應的波形。其設計簡單、性能優(yōu)良,可用于多種需要低頻信號源的場所,具有一定的實用性。</p><p> 關鍵詞:單片機;信號發(fā)生器;D/A轉(zhuǎn)換</p><p><b> ABSTRACT</b></p><p> The s
4、ystem is a digital signal generator based on single chip computer. At89s52 is used as a control microcontroller core. The system is composed by digital/analog conversion(DAC0832), imply circuit(NE4558),button and LED li
5、ghts .It can generate the square, triangle and sine wave, with LED display. The system can be used for a signal source in the low-frequency signal source. It is very practical.</p><p> Key words : The sing
6、le chip computer;The signal generator;D/ A conversion</p><p><b> 目 錄</b></p><p><b> 緒論1</b></p><p> 第一章 系統(tǒng)設計3 </p><p> 1.1 系統(tǒng)方案的比較3
7、</p><p> 1.2 控制芯片的選擇3 </p><p> 第二章 系統(tǒng)硬件設計4 </p><p> 2.1 基本原理4 </p><p> 2.2 單片機介紹及資源分配4 </p><p> 2.2.1 單片機的介紹4 </p><p> 2.2.2
8、資源分配8 </p><p> 2.3 各部分電路原理9 </p><p> 2.3.1 DAC0832芯片原理9 </p><p> 2.3.2 NE4558工作原理11 </p><p> 2.3.3 鍵盤電路原理12</p><p> 2.3.4 LED顯示電路原理14 </
9、p><p> 第三章 系統(tǒng)軟件設計16 </p><p> 3.1主程序流程圖16</p><p> 3.2子程序流程圖17</p><p> 第四章 測試結(jié)果23 </p><p> 第五章 結(jié)論25 </p><p><b> 參考文獻26 </b&
10、gt;</p><p><b> 致 謝27</b></p><p> 附錄A 元件清單28 </p><p> 附錄B 電路原理圖29 </p><p> 附錄C PCB圖30 </p><p> 附錄D 程序清單31 </p><p><b&
11、gt; 緒論</b></p><p> 波形發(fā)生器亦稱函數(shù)發(fā)生器,作為實驗用信號源,是現(xiàn)今各種電子電路實驗設計應用中必不可少的儀器設備之一。目前,市場上常見的波形發(fā)生器多為純硬件的搭接而成,且波形種類有限,多為鋸齒、正弦、方波、三角等波形。</p><p> 信號發(fā)生器作為一種常見的應用電子儀器設備,傳統(tǒng)的可以完全由硬件電路搭接而成,如采用555振蕩電路發(fā)生正弦波、三角波
12、和方波的電路便是可取的路徑之一,不用依靠單片機。但是這種電路存在波形質(zhì)量差,控制難,可調(diào)范圍小,電路復雜和體積大等缺點。在科學研究和生產(chǎn)實踐中,如工業(yè)過程控制,生物醫(yī)學,地震模擬機械振動等領域常常要用到低頻信號源。而由硬件電路構(gòu)成的低頻信號其性能難以令人滿意,而且由于低頻信號源所需的RC很大;大電阻,大電容在制作上有困難,參數(shù)的精度亦難以保證;體積大,漏電,損耗顯著更是其致命的弱點。一旦工作需求功能有增加,則電路復雜程度會大大增加。&l
13、t;/p><p> 當今是科學技術(shù)及儀器設備高度智能化飛速發(fā)展的信息社會,電子技術(shù)的進步,給人們帶來了根本性的轉(zhuǎn)變?,F(xiàn)代電子領域中,單片機的應用正在不斷的走向深入,這必將導致傳統(tǒng)控制與檢測技術(shù)的日益革新。單片機構(gòu)成的儀器具有高可靠性、高性能價格比,在智能儀表系統(tǒng)和辦公自動化等諸多領域得以極為廣泛的應用,并走入家庭,從洗衣機、微波爐到音響汽車,處處可見其應用。因此,單片機技術(shù)開發(fā)和應用水平已逐步成為一個國家工業(yè)發(fā)展水
14、平的標志之一。</p><p> 一塊單片機芯片就是一臺計算機。由于單片機的這種特殊的結(jié)構(gòu)形式,在某些應用領域中,它承擔了大中型計算機和通用微型計算機無法完成的一些工作。使其具有很多顯著的優(yōu)點和特點,因此在各個領域中都得到了迅猛的發(fā)展。單片機的特點歸納起來有以下幾個方面。</p><p> 具有優(yōu)異的性能價格比</p><p> 單片機盡可能地把應用所需的存儲
15、器,各種功能的I/O 接口集成在一塊芯片內(nèi),因而其性能很高,而價格卻相對較低廉,即性能價格比很高。</p><p> 集成度高、體積小、可靠性高</p><p> 單片機把各種功能部件集成在一塊芯片上,因而集成度高,均為大規(guī)?;虺笠?guī)模集成電路。又內(nèi)部采用總線結(jié)構(gòu),減少了芯片之間的連線,這大大提高了單片機的可靠性與抗干擾能力。同時,其體積小,對于強磁場環(huán)境易于采取屏蔽措施,適合于在惡劣
16、環(huán)境下工作。</p><p><b> 控制功能強</b></p><p> 單片機體積雖小,但“五臟俱全”,它非常適用于專門的控制用途。為了滿足工業(yè)控制要求,一般單片機的指令系統(tǒng)中有極豐富的轉(zhuǎn)移指令,I/O口的邏輯操作指令以及位操作指令。其邏輯控制功能及運行速度均高于同一檔次的微機。</p><p><b> 低電壓、低功耗&
17、lt;/b></p><p> 單片機大量用于攜帶式產(chǎn)品和家用消費類產(chǎn)品,低電壓和低功耗尤為重要。目前,許多單片機已可在2.2V電壓下運行,有的已能在1.2V或0.9V下工作,功耗降至μA級,一粒鈕扣電池就可長期使用。</p><p> 利用單片機采用程序設計方法來產(chǎn)生低頻信號,其下限頻率很低。具有線路相對簡單,結(jié)構(gòu)緊湊,價格低廉,頻率穩(wěn)定度高,抗干擾能力強,用途廣泛等優(yōu)點,并且
18、能夠?qū)Σㄐ芜M行細微調(diào)整,改良波形,使其滿足系統(tǒng)的要求。只要對電路稍加修改,調(diào)整程序,即可完成功能升級。</p><p> 這里介紹一種采用AT89S52單片機和一片DAC0832數(shù)模轉(zhuǎn)換器做成的數(shù)字式低頻信號發(fā)生器,它的特點是價格低、性能高,在低頻范圍穩(wěn)定性好、操作方便、體積小、耗電少等。</p><p> 信號發(fā)生器與其它相比還具有如下優(yōu)點:較分立元件信號發(fā)生器而言,具有頻率高,工作
19、穩(wěn)定,容易調(diào)試等特性;較專用DDS芯片的信號發(fā)生器而言,具有結(jié)構(gòu)簡單,成本低等特性。</p><p><b> 第一章 系統(tǒng)設計</b></p><p> 1.1 系統(tǒng)方案的比較</p><p> 方案一:采用函數(shù)信號發(fā)生器ICL8038集成模擬芯片,(如圖2-1)它是一種可以同時產(chǎn)生方波、三角波、正弦波的專用集成電路。但是這種模塊產(chǎn)
20、生的波形都不是純凈的波形,會寄生一些高次諧波分量,采用其他的措施雖可濾除一些,但不能完全濾除掉。</p><p> 方案二:采用分立元件實現(xiàn)非穩(wěn)態(tài)的多諧振振蕩器,然后根據(jù)需要加入積分電路等構(gòu)成正弦、矩形、三角等波形發(fā)生器。這種信號發(fā)生器輸出頻率范圍窄,而且電路參數(shù)設定較繁瑣,其頻率大小的測量往往需要通過硬件電路的切換來實現(xiàn),操作不方便。 </p><p>
21、 方案三:采用單片機和DAC0832數(shù)模轉(zhuǎn)換器生成波形,由于是軟件濾波,所以不會有寄生的高次諧波分量,生成的波形比較純凈。它的特點是價格低、性能高,在低頻范圍內(nèi)穩(wěn)定性好、操作方便、體積小、耗電少。</p><p> 經(jīng)比較,方案三既可滿足畢業(yè)設計的基本要求又能充分發(fā)揮其優(yōu)勢,電路簡單,易控制,性價比較高,所以采用該方案。</p><p> 1.2 控制芯片的選擇</p>
22、<p> 方案一:AT89S52單片機是一種高性能8位單片微型計算機。它把構(gòu)成計算機的中央處理器CPU、存儲器、寄存器、I/O接口制作在一塊集成電路芯片中,從而構(gòu)成較為完整的計算機。</p><p> 方案二:C8051F005單片機是完全集成的混合信號系統(tǒng)級芯片,具有與AT80S52兼容的微控制器的內(nèi)核,與MCS-51指令集完全兼容。除了具有標準AT80S52的數(shù)字外設部件之外,片內(nèi)還集成了數(shù)
23、據(jù)采集和控制系統(tǒng)中常用的模擬部件和其他數(shù)字外設及功能部件。</p><p> 方案選擇:方案二中C8051F005芯片系統(tǒng)內(nèi)部結(jié)構(gòu)復雜,不易控制,芯片成本高,對于本系統(tǒng)而言利用率低,AT89S52芯片比較常用,簡單易控制,成本低,性能穩(wěn)定故采用方案一。</p><p> 第二章 系統(tǒng)硬件設計</p><p><b> 2.1 基本原理</b
24、></p><p> 系統(tǒng)框圖如圖2.1所示</p><p> 圖2.1低頻信號發(fā)生器系統(tǒng)框圖</p><p> 低頻信號發(fā)生器系統(tǒng)主要由CPU、D/A轉(zhuǎn)換電路、基準電壓電路、電流/電壓轉(zhuǎn)換電路、按鍵和波形指示電路、電源等電路組成。</p><p> 其工作原理為當分別按下四個按鍵中的任一個按鍵就會分別出現(xiàn)方波、鋸齒波、三角波、
25、正弦波,并且有四個發(fā)光二極管分別作為不同的波形指示燈。</p><p> 2.2 單片機介紹及資源分配</p><p> 2.2.1 單片機的介紹</p><p> ?。?)AT89S52的引腳圖如圖2.2所示</p><p> 圖2.2 AT89S52引腳圖</p><p> ?。?)管腳說明 低頻信號發(fā)
26、生器采用AT89S52單片機作為控制核心,其內(nèi)部組成包括:一個8位的微處理器CPU及片內(nèi)振蕩器和時鐘產(chǎn)生電路,但石英晶體和微調(diào)電容需要外接;片內(nèi)數(shù)據(jù)存儲器RAM低128字節(jié),存放讀/寫數(shù)據(jù);高128字節(jié)被特殊功能寄存器占用;片內(nèi)程序存儲器4KB ROM;四個8位并行I/O(輸入/輸出)接口P3 -P0,每個口可以用作輸入,也可以用作輸出;兩個定時/計數(shù)器,每個定時/計數(shù)器都可以設置成計數(shù)方式,用以對外部事件進行計數(shù),也可以設置成定時方式
27、,并可以根據(jù)計數(shù)或定時的結(jié)果實現(xiàn)計算機控制;五個中斷源的中斷控制系統(tǒng);一個全雙工UART(通用異步接收發(fā)送器)的串行I/O口。</p><p><b> VCC:供電電壓。</b></p><p><b> GND:接地。</b></p><p> RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高
28、電平時間。</p><p> ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)
29、行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p> /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。</p><p> /EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H
30、-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。</p><p> XTAL2:來自反向振蕩器的輸出。</p><p> 89S52
31、單片機外部有32個端口可供用戶使用,其功能如下:</p><p> 表2.1 89S52并行I/O接口</p><p> P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,
32、此時P0外部必須被拉高。</p><p> P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。</p><p> P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可
33、接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。</p&
34、gt;<p> P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p> P3口也可作為AT89C51的一些特殊功能口,如下所示: </p><p><
35、b> 口管腳 備選功能</b></p><p> P3.0 RXD(串行輸入通道)</p><p> P3.1 TXD(串行輸出通道)</p><p> P3.2 /INT0(外中斷0)</p><p> P3.3 /INT1(外中斷1)</p><p> P3.4 T0(定時器0外部輸入
36、)</p><p> P3.5 T1(定時器1外部輸入)</p><p> P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)</p><p> P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)</p><p> ?。?)AT89S52的晶振及其連接方法 CPU工作時都必須有一個時鐘脈沖。有兩種方式可以向89S52提供時鐘脈沖:一是外部時鐘方式,即使用
37、外部電路向89S52提供時鐘脈沖,見圖2.3(a);二是內(nèi)部時鐘方式,即使用晶振由89S52內(nèi)部電路產(chǎn)生時鐘脈沖。一般常用第二種方法,其電路見圖2.3(b)。</p><p> 圖2.3 89S52的時鐘脈沖</p><p> J一般為石英晶體,其頻率由系統(tǒng)需要和器件決定,在頻率穩(wěn)定度要求不高時也可以使用陶瓷濾波器。一般來說,使用石英晶體時,C1=C2=30pF。使用陶瓷濾波器時,C1
38、=C2=47pF。</p><p> ?。?)AT89S52的復位 復位是單片機的初始化操作,其主要的作用是把PC初始化為0000H,使單片機從0000H單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,當由于程序運行出錯或操作失誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需要按復位鍵以重新啟動。除使PC歸零外,復位操作還對其他一些專用寄存器有影響,它們的復位狀態(tài)如表2.2所示。</p><p>
39、; 表2.2 復位后的內(nèi)部寄存器狀態(tài)</p><p> 另外,復位操作還對單片機的個別引腳有影響,例如會把ALE和/PSEN變成無效狀態(tài),即使ALE=0,/PSEN=1.RST變成低電平后,退出復位狀態(tài),CPU從初始狀態(tài)開始工作。</p><p> 89S52復位操作有3種方式:上電復位、上電按鈕復位和系統(tǒng)復位。上電復位電路如圖2.4所示。對于CMOS型單片機因RST引腳的內(nèi)部有一個
40、拉低電阻,故電阻R可不接。單片機在上電瞬間,RC電路充電,RST引腳端出現(xiàn)正脈沖,只要RST端保持兩個機器周期以上的高電平,就能使單片機有效地復位。當晶體振蕩頻率為12MHz時,RC的典型值為C=10uF,R=8.2K歐姆。簡單復位電路中,干擾信號易串入復位端,可能會引起內(nèi)部某些寄存器錯誤復位,這時可在RST引腳上接一去耦電容。</p><p> 通常因為系統(tǒng)運行等的需要,常常需要人工按鈕復位,復位電路如圖2.
41、5所示,其中R2>>R1,只需將一個常開按鈕開關并聯(lián)于上電復位電路,按下開關一定時間就能使RST引腳端為高電平,從而使單片機復位。</p><p> 圖2.4 上電復位電路 圖2.5 上電按鈕復位電路</p><p> 2.2.2 資源分配</p><p> 晶振采用12MHZ。P1口的P1.0-P1.3分別與
42、四個按鍵連接,分別控制鋸齒波、三角波、正弦波和方波,P1.4-P1.7與四個發(fā)光二極管相連,按鍵一對應發(fā)光二極管一,依次類推,發(fā)光二極管四對應按鍵四,實現(xiàn)輸出一個波形對應亮一個燈。</p><p> P0口與DAC0832的D0-D7數(shù)據(jù)輸入端相連。</p><p> P2口用來控制DAC0832的輸入寄存器選擇信號/CS和數(shù)據(jù)傳送信號/XFER。</p><p&g
43、t; 2.3 各部分電路原理</p><p> 2.3.1 DAC0832芯片原理</p><p> 管腳功能介紹(如圖2.6所示)</p><p> 圖2.6 DAC0832管腳圖</p><p> DI7~DI0:8位的數(shù)據(jù)輸入端,DI7為最高位。</p><p> ILE:數(shù)據(jù)鎖存允許控制信號輸入
44、線,高電平有效。</p><p> /CS:選片信號輸入線(選通數(shù)據(jù)鎖存器),低電平有效。</p><p> /WR1:數(shù)據(jù)鎖存器寫選選通輸入線,負脈沖有效,由ILE、/CS、/WR1的邏輯組合產(chǎn)生/LE1,當/LE1為高電平時,數(shù)據(jù)鎖存器狀態(tài)隨輸入數(shù)據(jù)線變化,/LE1的負跳變時將輸入數(shù)據(jù)鎖存。</p><p> /XFER:數(shù)據(jù)傳輸控制信號輸入線,低電平有效
45、,負脈沖有效。</p><p> /WR2:DAC寄存器選通輸入線,負脈沖有效,由/WR2、/XFER的邏輯組合產(chǎn)生/LE2,當/LE2為高電平時,DAC寄存器的輸出隨寄存器的輸入而變化,/LE2的負跳變時將數(shù)據(jù)鎖存器的內(nèi)容打入DAC寄存器并開始D/A轉(zhuǎn)換。</p><p> IOUT1:模擬電流輸出端1,當DAC寄存器中數(shù)據(jù)全為1時,輸出電流最大,當 DAC寄存器中數(shù)據(jù)全為0時,輸出
46、電流為0。</p><p> IOUT2:模擬電流輸出端2, IOUT2與IOUT1的和為一個常數(shù),即IOUT1+IOUT2=常數(shù)。</p><p> RFB:反饋電阻引出端,DAC0832內(nèi)部已經(jīng)有反饋電阻,所以 RFB端可以直接接到外部運算放大器的輸出端,這樣相當于將一個反饋電阻接在運算放大器的輸出端和輸入端之間。</p><p> VREF:參考電壓輸入
47、端,此端可接一個正電壓,也可接一個負電壓,它決定0至255的數(shù)字量轉(zhuǎn)化出來的模擬量電壓值的幅度,VREF范圍為(+10~-10)V。VREF端與D/A內(nèi)部T形電阻網(wǎng)絡相連。</p><p> Vcc:芯片供電電壓,范圍為(+5~+15)V。</p><p> AGND:模擬量地,即模擬電路接地端。</p><p> DGND:數(shù)字量地。 </p>
48、<p> 當WR2和XFER同時有效時,8位DAC寄存器端為高電平“1”,此時DAC寄存器的輸出端Q跟隨輸入端D也就是輸入寄存器Q端的電平變化;反之,當端為低電平“0”時,第一級8位輸入寄存器Q端的狀態(tài)則鎖存到第二級8位DAC寄存器中,以便第三級8位DAC轉(zhuǎn)換器進行D/A轉(zhuǎn)換。</p><p> 一般情況下為了簡化接口電路,可以把WR2和XFER直接接地,使第二級8位DAC寄存器的輸入端到輸出端直
49、通,只有第一級8位輸入寄存器置成可選通、可鎖存的單緩沖輸入方式。 特殊情況下可采用雙緩沖輸入方式,即把兩個寄存器都分別接成受控方式。</p><p> 制作低頻信號發(fā)生器有許多方案:主要有單緩沖方式,雙緩沖方式和直通方式。</p><p> 單緩沖方式具有適用于只有一路模擬信號輸出或幾路模擬信號非同步輸出的情形的優(yōu)點,但是電路線路連接比較簡單。而雙緩沖方式適用于在需要同時輸出幾路模擬信
50、號的場合,每一路模擬量輸出需一片DAC0832芯片,構(gòu)成多個DAC0832同步輸出電路,程序簡單化,但是電路線路連接比較復雜。根據(jù)以上分析,我選擇了單緩沖方式使用方便,程序簡單,易操作。</p><p> 這里我采用DAC0832與單片機89S52的典型的單緩沖方式接口電路。ILE接高電平,/WR1和/WR2相連后接89S52的/WR,/CS和/XFER相連后接89S52的地址高位,這樣就同時片選了DAC083
51、2的數(shù)據(jù)鎖存器和DAC寄存器,89S52對DAC0832執(zhí)行一次寫操作就把一個數(shù)據(jù)寫入數(shù)據(jù)鎖存器的同時也直接寫入到了DAC寄存器,模擬量輸出隨之變化。</p><p> DAC0832的輸出是電流,使用運算放大器可以將其電流輸出線性地轉(zhuǎn)換成電壓輸出。根據(jù)運算放大器和DAC0832的連接方法,運算放大器的輸出可以分為單極性和雙極性兩種。這里我采用雙極性方式(如圖2.7所示)。</p><p&g
52、t; 圖2.7 DAC0832雙極性電壓輸出電路</p><p> 2.3.2 NE4558工作原理</p><p> 圖2.8 NE4558引腳圖 圖2.9 NE4558運放引腳圖</p><p> 4558 是一片雙運放,帶內(nèi)部補償電路。極好的通道分離特性允許在單運放應用中使用雙運放器件,從而提供了最高的封裝密
53、度。他的內(nèi)部包含兩組形式完全相同的運算放大器,除電源共用外,兩組運放相互獨立。每一組運算放大器可用圖2.9所示的符號來表示,它有5個引出腳,其中“+”、“-”為兩個信號輸入端,“V+”、“V-”為正、負電源端,“OUT”為輸出端。兩個信號輸入端中,“-”為反相輸入端,表示運放輸出端OUT的信號與該輸入端的為相反;“+”為同相輸入端,表示運放輸出端OUT的信號與輸入端的相位相同。</p><p> AOUT:放大
54、信號輸出(1)。 </p><p> AIN-:反相信號輸入(1)。</p><p> AIN+:同相信號輸入(1)。 </p><p><b> GND:接地。 </b></p><p> BIN+:同相信號輸入(2)。 </p><p> BIN-:反相信號輸入(2)。 </p
55、><p> BOUT2:放大信號輸出(2)。 </p><p><b> Vcc:電源。</b></p><p> 4558特性有很多,2MHz單位增益帶寬保證,NE4558 的電源電壓為 ±18v,具備短路保護功能,無需頻率補償,無閂鎖效應,寬廣的共模和差動電壓范圍,低功耗。因此被廣泛運用在各種電路中。</p>&l
56、t;p> 2.3.3 鍵盤電路原理</p><p> 在單片機應用系統(tǒng)中為了控制系統(tǒng)的工作狀態(tài),以及向系統(tǒng)輸入數(shù)據(jù),應用系統(tǒng)應設有按鍵或鍵盤,實現(xiàn)簡單的人機會話。鍵盤是一組按鍵的組合,鍵通常是一種常開型按鈕開關,平時鍵的兩個出點處于斷開狀態(tài),按下鍵時他們才閉合。從鍵盤的結(jié)構(gòu)來分類,鍵盤可以分為獨立式和矩陣式兩類,每一類按其識別方法又都可以分為編碼和未編碼鍵盤兩種。鍵盤上閉合鍵的識別由專門的硬件譯碼器實
57、現(xiàn)并產(chǎn)生編號或鍵值的稱為編碼鍵盤,由軟件識別的稱未編碼鍵盤。在由單片機組成的測控系統(tǒng)及智能化儀器中,用得較多的是未編碼鍵盤,我這里也使用未編碼鍵盤。</p><p> 未編碼鍵盤又分為獨立式鍵盤跟矩陣式鍵盤。</p><p> (1)獨立式未編碼鍵盤結(jié)構(gòu)的工作原理及接口 在單片機應用系統(tǒng)中常常需要簡單的幾個鍵完成數(shù)據(jù)、命令的輸入,此時可采用獨立式鍵盤的結(jié)構(gòu)。其接口如圖2.10所示。此
58、接口電路的工作原理很簡單,無鍵按下時,各輸入線為高電平;有鍵按下時,相應的輸入線為低電平,CPU查詢此輸入口的狀態(tài)就可知是哪個鍵閉合。采用一鍵一線的方法,當按鍵的數(shù)目增加時,將增加輸入口的數(shù)量,為了減少占用輸入線數(shù),可采用矩陣式結(jié)構(gòu)的鍵盤。</p><p> 圖2.10 獨立式未編碼鍵盤</p><p> (2)矩陣式未編碼鍵盤結(jié)構(gòu)的工作原理 如圖2.11所示是4*4的鍵盤接口,它是
59、矩陣式的結(jié)構(gòu)。圖中鍵盤的行線(X0~X3)與列線(Y0~Y3)的交叉處通過一個按鍵來聯(lián)通,行線通過電阻接+5V,當鍵盤上沒有鍵閉合時所有的行線和列線都斷開,則行線都呈高電平。當鍵盤上某一個鍵閉合時,則該鍵所對應的行線和列線被短路。例如:6號鍵被按下閉合時,行線X1和列線Y2被短路,此時X1的電平由Y2的電位所決定。如果把行線接到單片機的輸入口,列線接到單片機的輸出口,則在單片機的控制下,先使列線Y0為低電平,其余三根列線Y1、Y2、Y3
60、都為高電平,讀行線狀態(tài)。如果X0、X1、X2、X3、都為高電平,則Y0這一列上沒有鍵合。如果讀出的行線狀態(tài)不全為高電平,則為低電平的行線和Y0相交的鍵處于閉合狀態(tài)。如果Y0這一列上沒有鍵合,接著使列線Y1為低電平,其余列線為高電平,用同樣方法檢查Y1這一列上有無鍵閉合。依此類推,最后使列線Y3為低電平,其余的列線為高電平,檢查Y3這一列上是否有鍵閉合。這種逐行逐列地檢查鍵盤狀態(tài)的過程稱為對鍵盤的一次掃描。CPU對鍵盤掃描可以采取程序控制
61、的隨機方式,CPU空閑時掃描鍵盤;也可以</p><p> 圖2.11 4*4矩陣式未編碼鍵盤結(jié)構(gòu)圖</p><p> 根據(jù)我設計的電路特點,只需要用到4個按鈕來選擇波形,實現(xiàn)的功能也比較簡單,所以我采用獨立式未編碼鍵盤結(jié)構(gòu)。鍵盤原理圖如圖2.12所示。</p><p> 圖2.12 鍵盤原理圖</p><p> 2.3.4 LE
62、D顯示電路原理</p><p> 在這里使用的是發(fā)光二極管,發(fā)光二極管通常用砷化鎵、磷化鎵等所制成的。當這種管子通以電流時將發(fā)出光來,這是由于電子與空穴直接復合而放出的能量的結(jié)果。當PN結(jié)處加以一個適當?shù)恼妷簳r,此管即導通,也就會發(fā)光。這樣我們就能知道我們所需要了解的信息,在此設計中發(fā)光二極管通過軟件的控制顯示波形種類。LED電路圖如圖2.13所示。</p><p> 圖2.13
63、LED電路圖</p><p> 4個LED的負極分別接P1.4~P1.7,當P1口高4位任意一個為低電平時,其對應的LED就會導通,從而發(fā)光,通過程序的控制可以設計波形類型的顯示。</p><p> 第三章 系統(tǒng)軟件設計</p><p> 軟件設計上,根據(jù)功能分了幾個模塊編程。模塊主要有:主程序模塊、鋸齒波模塊、三角波模塊、正弦波模塊、方波模塊、延時子程序模
64、塊等。</p><p> 顯示波形模塊是利用DAC0832的8位特點,把波形的數(shù)據(jù)以8位數(shù)據(jù)的形勢送進CPU中,只要一按鍵就能顯示波形。</p><p><b> 3.1主程序流程圖</b></p><p><b> 如圖3.1所示</b></p><p> 圖3.1主程序流程圖</p
65、><p> 本軟件設計過程中主要實現(xiàn)利用按鍵來控制不同波形的輸出,當按鍵1按下時,函數(shù)發(fā)生器就輸出鋸齒波;當按鍵2按下時,函數(shù)發(fā)生器就輸出三角波;當按鍵3按下時,函數(shù)發(fā)生器就輸出正弦波;當按鍵4按下時,函數(shù)發(fā)生器就輸出方波。通過按鍵可以以任意循環(huán)方式輸出不同波形。</p><p><b> 3.2子程序流程圖</b></p><p> 鋸齒波
66、流程圖如圖3.2所示。</p><p> 圖3.2 鋸齒波流程圖</p><p> 鋸齒波產(chǎn)生將00H送入寄存器A中,DAC0832輸出A中的內(nèi)容,當A中的內(nèi)容等于FFH返回開始,當A中的內(nèi)容不為FFH時,A中的內(nèi)容累加,從而輸出波形。</p><p> 鋸齒波產(chǎn)生子程序如下:</p><p> SANTOO: MOV A ,#0
67、0H </p><p> MOV DPTR,#7FFFH</p><p> LLOOP: MOVX @DPTR,A </p><p><b> INC A ;</b></p><p> CJNE A,FFH,LLOOP </p><p><b> RET</b>
68、;</p><p> 三角波流程圖如圖3.3所示</p><p> 圖3.3 三角波流程圖</p><p> 三角波產(chǎn)生通過A中數(shù)值的加一遞升,當A中的內(nèi)容加到為0時, A中的內(nèi)容減一遞減,從而循環(huán)產(chǎn)生三角波。</p><p> 三角波產(chǎn)生子程序如下:</p><p> TRIAN :MOV A ,#00H
69、</p><p> MOV DPTR,#7FFFH</p><p> UP: MOVX @DPTR,A INC A JNZ UP DO
70、WN: DEC A MOVX @DPTR,A JNZ DOWN RET</p><p> 正弦波程序流程圖如圖3.4所示</p><p> 圖3.4
71、 正弦波程序流程圖</p><p> 正弦波波形設計通過查表指令得出。其產(chǎn)生子程序如下:</p><p> SINE: MOV DPTR1,#sinTab</p><p> MOV DPTR,#7FFFH </p><p> LOOP: CLR A</p><p> MOVC A,@A+DPTR1&
72、lt;/p><p> CJNE A,#129,LOOP1</p><p><b> RET</b></p><p> LOOP1: MOVX @DPTR,A</p><p><b> INC DPTR1</b></p><p><b> AJMP LOOP&
73、lt;/b></p><p> sinTab:DB 128,132,137,141,146,150,154,159,163,167</p><p> DB 171,176,180,184,188,191,195,199,203,206</p><p> DB 210,213,216,219,222,225,228,231,233,236</p>
74、;<p> DB 238,240,242,244,246,247,249,250,251,252</p><p> DB 253,254,254,255,255,255,255,255,254,254</p><p> DB 253,252,251,250,249,247,246,244,242,240</p><p> DB 238,236,
75、233,231,228,225,222,219,216,213</p><p> DB 210,206,203,198,195,192,188,184,180,176</p><p> DB 172,167,163,159,155,150,146,141,137,133</p><p> DB 128,124,119,115,111,106,102,97,93
76、,89,85</p><p> DB 81,77,73,69,65,61,57,54,50,47,43,40,37</p><p> DB 34,31,28,25,23,20,18,16,14,12,10,9,7</p><p> DB 6,5,4,3,2,2,1,1,1,1,1,2,2,3,4,5,6</p><p> DB 7,9
77、,10,12,14,16,18,20,23,25,28,30,33,36</p><p> DB 40,43,46,50,53,57,60,64,68,72,76,80,84</p><p> DB 88,93,97,101,106,110,114,119,123,128,129</p><p> 方波程序流程圖如圖3.5所示</p><p
78、> 圖3.5 方波程序流程圖</p><p> 方波產(chǎn)生是當A中的內(nèi)容為0時,輸出對應模擬量,然后延時,當A中的內(nèi)容為0FFH時,同樣輸出對應模擬量,再延時,從而得到方波。</p><p> 方波產(chǎn)生子程序如下:</p><p> SQUN:MOV DPTR,#7FFFH </p><p> MOV A ,#
79、0FFH </p><p> MOVX @DPTR,A </p><p> LCALL Delay </p><p> MOV A ,#00H</p><p> MOVX @DPTR,A </p><p> LCALL Delay
80、 </p><p> RET </p><p><b> 延時子程序如下:</b></p><p> Delay: MOV R7,#10H</p><p> DLY0: MOV R6,#0EDH</p><p><b>
81、 NOP</b></p><p> DLY1: DJNZ R6,DLY1</p><p> DJNZ R7,DLY0</p><p><b> RET</b></p><p> 方波的上限和下限的延時時間為:7ms</p><p> S=1+(1+1+2×
82、237+2)×16+1=7648us</p><p><b> 第四章 測試結(jié)果</b></p><p> 在確定編程思路以后將各部分的程序及各子程序編好,使用keil進行編譯,根據(jù)提示的錯誤對程序進行修改。除了語法差錯和邏輯差錯外,當確認程序沒問題時,通過直接加載到protues軟件電路中進行仿真。</p><p> 當按鍵
83、1撥下時,波形為鋸齒波,同時指示燈1發(fā)光。仿真圖如圖4.1所示。</p><p> 圖4.1 鋸齒波仿真圖</p><p> 當按鍵2撥下時,波形為三角波,同時指示燈2發(fā)光。仿真圖如圖4.2所示。</p><p> 圖4.2 三角波仿真圖</p><p> 當按鍵3撥下時,波形為正弦波,同時指示燈3發(fā)光。仿真圖如圖4.3所示。<
84、/p><p> 圖4.3 正弦波仿真圖</p><p> 當按鍵4撥下時,波行為方波,同時指示燈4發(fā)光。仿真圖如圖4.4所示。</p><p> 圖4.4 方波仿真圖</p><p> 在對系統(tǒng)進行波形仿真時可以在虛擬示波器上觀察到鋸齒波、三角波、正弦波和方波的波形。其中鋸齒波、三角波以及正弦波的輸出誤差較大,方波波形較為理想。這一方面與
85、電路設置的參數(shù)有關,另一方面也與使用的仿真軟件有關。對于上述問題的解決辦法是:改變仿真電路的參數(shù)或著換用版本較高的仿真軟件。當然一般產(chǎn)生這種情況的原因多由于電路的參數(shù)設計不合理所制。當仿真時,由于存在一定的系統(tǒng)誤差,波形效果不是很好。</p><p><b> 第五章 結(jié)論</b></p><p> 基于單片機的智能信號發(fā)生器設計,該課題的設計目的是充分運用大學
86、期間所學的專業(yè)知識,考察現(xiàn)在正在使用的信號發(fā)生器的基本功能,完成一個基本的實際系統(tǒng)的設計全過程。關鍵是這個實際系統(tǒng)設計的過程,在整個過程中我可以充分發(fā)揮單片機知識。特別是這個信號發(fā)生器的設計中涉及到一個典型的控制過程。通過單片機控制一個模數(shù)轉(zhuǎn)換器DAC0832產(chǎn)生所需要的電流,然后使用運算放大器NE4558可以將其電流輸出線性地轉(zhuǎn)換成電壓輸出,通過程序的控制,可以產(chǎn)生一系列有規(guī)律的波形。這樣一個信號發(fā)生裝置在控制領域有相當廣泛的應用范圍
87、。</p><p> 此設計方案硬件較為簡單,主要是由單片機跟DAC08322個芯片構(gòu)成,連線也較簡便。鍵盤電路用的獨立未編碼結(jié)構(gòu),一個鍵控制一個波形。顯示電路主要是由發(fā)光二極管構(gòu)成,利用發(fā)光二極管的導通即發(fā)光的特性來顯示是哪個波形的輸出,簡單易懂。軟件程序方面較為復雜一點,此方案主要是靠程序的控制,主要由4個波形產(chǎn)生的子程序加上有承上啟下作用的主程序構(gòu)成,程序思路還是比較清晰。其中正弦波的程序較為繁瑣,因為是
88、通過查表指令產(chǎn)生的,所以要列出個含有較多字符的表格。</p><p> 當然還是存在不足的地方,比如不能實現(xiàn)頻率與幅度的可調(diào),顯示電路跟鍵盤電路有待進一步改進。</p><p><b> 參考文獻</b></p><p> [1]楊恢先,黃輝先.單片機原理及應用[M].人民郵電出版社,2006.</p><p>
89、 [2]曾一江.單片機微機原理與接口技術(shù)[M].科學出版社,2006.</p><p> [3]王新強.基于AT89S52的智能信號發(fā)生器[J].河南機電高等??茖W校學報,2006,14(3):37-39.</p><p> [4]康華光,陳大欽.電子技術(shù)基礎[M].高等教育出版社,1998.</p><p><b> 致 謝</b>&
90、lt;/p><p> 文從選題的確定,論文的寫作、修改到最后定稿得到了我的指導老師XXX老師的悉心指導。特別是她多次詢問寫作進程,并為我指點迷津,幫助我開拓思路,精心點撥,熱忱鼓勵。她嚴肅的教學態(tài)度,嚴謹?shù)闹螌W精神,精益求精的工作作風深深地感染和激勵著我。在此,謹向XXX老師致以誠摯的謝意和崇高的敬意。</p><p> 同時,論文的順利完成,離不開其它各位老師、同學和朋友的關心和幫助。在
91、整個的論文寫作中,各位老師、同學和朋友積極的幫助我查資料和提供有利于論文寫作的建議和意見,在他們的幫助下,論文得以不斷的完善,最終幫助我完整的寫完了整個論文。再次衷心地感謝所有在我論文寫作過程中給予過我?guī)椭娜藗?,謝謝!</p><p><b> 附錄A 元件清單</b></p><p><b> 附錄B 電路原理圖</b></p>
92、;<p><b> 附錄C PCB圖</b></p><p><b> 附錄D 程序清單</b></p><p> KEY1 BIT P1.0</p><p> KEY2 BIT P1.1</p><p> KEY3 BIT P1.2</p><
93、;p> KEY4 BIT P1.3</p><p> ;按鍵KEY1:鋸齒波 按鍵KEY2:三角波 按鍵KEY3: 正弦波 </p><p> ;按鍵KEY4: 方波;</p><p> ORG 0000H</p><p> LJMP MAIN</p><p> ORG 0030H&l
94、t;/p><p> MAIN:MOV SP,#50H</p><p> SCAN_KEY1:MOV A,P1</p><p> ANL A,#0FH</p><p> CJNE A,#0EH,SCAN_KEY2</p><p><b> LJMP B1</b></p><
95、p> SCAN_KEY2:MOV A,P1</p><p> ANl A,#0FH</p><p> CJNE A,#0DH,SCAN_KEY3</p><p><b> LJMP B2</b></p><p> SCAN_KEY3:MOV A,P1</p><p> ANl A
96、,#0FH</p><p> CJNE A,#0BH,SCAN_KEY4</p><p><b> LJMP B3</b></p><p> SCAN_KEY4:MOV A,P1</p><p> ANl A,#0FH</p><p> CJNE A,#07H,SCAN_KEY1<
97、/p><p><b> LJMP B4</b></p><p> ;利用dac0832產(chǎn)生鋸齒波;</p><p> B1:CLR P1.4</p><p> SETB P1.5</p><p> SETB P1.6</p><p> SETB P1.7&
98、lt;/p><p> SANTOO:MOV A ,#00H </p><p> MOV DPTR,#7FFFH</p><p> LLOOP:MOVX @DPTR,A </p><p><b> INC A ;</b></p><p> CJNE A,FFH,LLOOP </p&
99、gt;<p> LJMP SCAN_KEY1</p><p> ;利用dac0832產(chǎn)生三角波;</p><p> B2: CLR P1.5</p><p> SETB P1.4</p><p> SETB P1.6</p><p> SETB P1.7</p>&l
100、t;p> TRIAN :MOV A ,#00H</p><p> MOV DPTR,#7FFFH</p><p> UP: MOVX @DPTR,A INC A
101、; JNZ UP DOWN: DEC A MOVX @DPTR,A JNZ DOWN LJMP SCAN_KEY2&l
102、t;/p><p> ;利用dac0832產(chǎn)生正弦波;</p><p> ;在表格里取數(shù)送到指定地址</p><p> B3: CLR P1.6</p><p> SETB P1.4</p><p> SETB P1.5</p><p> SETB P1.7</p>
103、<p> SINE: MOV DPTR1,#sinTab</p><p> MOV DPTR,#7FFFH </p><p> LOOP: CLR A</p><p> MOVC A,@A+DPTR1</p><p> CJNE A,#129,LOOP1</p><p><b&g
104、t; RET</b></p><p> LOOP1: MOVX @DPTR,A</p><p><b> INC DPTR1</b></p><p><b> AJMP LOOP</b></p><p> sinTab:DB 128,132,137,141,146,150,15
105、4,159,163,167</p><p> DB 171,176,180,184,188,191,195,199,203,206</p><p> DB 210,213,216,219,222,225,228,231,233,236</p><p> DB 238,240,242,244,246,247,249,250,251,252</p>
106、<p> DB 253,254,254,255,255,255,255,255,254,254</p><p> DB 253,252,251,250,249,247,246,244,242,240</p><p> DB 238,236,233,231,228,225,222,219,216,213</p><p> DB 210,206,203
107、,198,195,192,188,184,180,176</p><p> DB 172,167,163,159,155,150,146,141,137,133</p><p> DB 128,124,119,115,111,106,102,97,93,89,85</p><p> DB 81,77,73,69,65,61,57,54,50,47,43,40,
108、37</p><p> DB 34,31,28,25,23,20,18,16,14,12,10,9,7</p><p> DB 6,5,4,3,2,2,1,1,1,1,1,2,2,3,4,5,6</p><p> DB 7,9,10,12,14,16,18,20,23,25,28,30,33,36</p><p> DB 40,43,
109、46,50,53,57,60,64,68,72,76,80,84</p><p> DB 88,93,97,101,106,110,114,119,123,128,129</p><p> LJMP SCAN_KEY3</p><p> ;利用dac0832產(chǎn)生方波;</p><p> B4: CLR P1.7</p>
110、<p> SETB P1.4</p><p> SETB P1.6</p><p> SETB P1.5</p><p> SQUN:MOV DPTR,#7FFFH </p><p> MOV A ,#0FFH </p><p> MOVX @DPTR,
111、A </p><p> LCALL Delay </p><p> MOV A ,#00H</p><p> MOVX @DPTR,A </p><p> LCALL Delay </p><p> LJMP SCAN_KEY4<
112、/p><p> Delay:MOV R7,#10H</p><p> DLY0: MOV R6,#0EDH</p><p><b> NOP</b></p><p> DLY1: DJNZ R6,DLY1</p><p> DJNZ R7,DLY0</p><
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設計--基于單片機的智能信號發(fā)生器設計
- 畢業(yè)設計----基于單片機的信號發(fā)生器設計
- 畢業(yè)設計--基于單片機的信號發(fā)生器
- 基于單片機的函數(shù)信號發(fā)生器畢業(yè)設計
- 畢業(yè)設計--基于單片機的函數(shù)信號發(fā)生器
- 基于單片機的函數(shù)信號發(fā)生器畢業(yè)設計
- 畢業(yè)設計-----基于單片機的函數(shù)信號發(fā)生器
- 基于單片機的函數(shù)信號發(fā)生器畢業(yè)設計
- 基于單片機的函數(shù)信號發(fā)生器畢業(yè)設計
- 單片機函數(shù)信號發(fā)生器畢業(yè)設計
- 畢業(yè)設計(論文)-基于單片機的信號發(fā)生器設計
- 畢業(yè)設計----基于單片機的方波信號發(fā)生器
- 單片機的函數(shù)信號發(fā)生器畢業(yè)設計
- 畢業(yè)設計---基于單片機的受控正弦信號發(fā)生器設計
- 數(shù)字信號發(fā)生器畢業(yè)設計--基于單片機的數(shù)字信號發(fā)生器設計
- 基于單片機的函數(shù)信號發(fā)生器畢業(yè)設計 (2)
- 畢業(yè)設計--基于單片機的低頻信號發(fā)生器設計
- 基于單片機的函數(shù)信號發(fā)生器畢業(yè)設計 (2)
- 畢業(yè)設計--- 基于單片機pc程控脈沖信號發(fā)生器設計
- 畢業(yè)設計--基于單片機pc程控脈沖信號發(fā)生器設計
評論
0/150
提交評論