




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、東 北 石 油 大 學 課 程 設 計課 程 單片機課程設計 題 目 函數波形發生器設計 院 系 電氣信息工程學院測控系 專業班級 測控技術與儀器 111 學生姓名 任建偉 學生學號 110601240123 指導教師 路敬祎 張巖 2014 年 7 月 8 日單片機課程設計東北石油大學課程設計任務書課程 單片機課程設計 題目 函數波形發生器設計 專業 測控技術與儀器 姓名 任建偉 學號 110601240123 一、任務 設計一款基于 AT89C51 單片機的函數波形發生器。二、設計要求要求:利用 D/A 芯片產生峰峰值為 5V 的鋸齒波、三角波、梯形波、正弦波和方波。控制功能:使用 5 個
2、撥動開關進行功能切換。當 K0 接高電平時輸出鋸齒波;當 K1 接高電平輸出梯形波;當 K2 接高電平輸出三角波;K3 接高電平輸出正弦波;K4 接高電平輸出方波。使用的主要元器件:8031、6MHz 的晶振、74LS373、74LS138、2764、DAC0832、LM324、撥動開關 K0、K1、K2、K3、K4 等。輸出波形的驗證方法:使用示波器測量輸出波形。三、參考資料1陳志旺,李亮。51 單片機快速上手。機械工業出版社。2薛定宇。控制系統計算及輔助設計MATLAB 語言與應用(第 2 版) 。清華大學出版社。3鄒虹。單片機波形發生器的設計。重慶郵電學院學報。4毅剛,彭喜元。單片機原理
3、與應用設計。電子工業出版社。5楊素行.模擬電子技術基礎簡明教程(第三版)M.北京:高等教育出版社, 2006. 6 Altium Designer 原理圖與 PCB 設計 M.北京:電子工業出版社 2009. 完成期限 2014.6.30 至 2014.7.9 指導教師 路敬祎 張巖 專業負責人 曹廣華 單片機課程設計2014 年 6 月 30 日目錄第一章 緒論.11.1 課題背景 .11.2 本系統研究的國內外現狀 .21.3 本文主要研究內容和工作 .2第二章 方案論證.32.1 方案一 純硬件設計法.32.2 方案二純軟件設計法 .32.3 方案三 軟硬件結合法.4第三章 系統硬件設計
4、.53.1 內部結構概述 .53.2 P0P3 口結構及功能.53.3 時鐘電路和復位電路 .63.4 系統硬件總體設計 .83.5 DAC0832 的引腳及功能.83.6 74LS373 的引腳及功能.93.7 系統硬件原理 .9第四章 系統的軟件設計.114.1 主程序流程圖 .114.2 波形的產生 .12第五章 系統調試與仿真結果.145.1 系統調試 .145.2 仿真結果 .14結論.15參考文獻.16附錄一 程序.17附錄二 仿真效果圖.22單片機課程設計1第一章 緒論1.1 課題背景波形發生器是能夠產生大量的標準信號和用戶定義信號,并保證高精度、高穩定性、可重復性和易操作性的電
5、子儀器。函數波形發生器具有連續的相位變換、和頻率穩定性等優點,不僅可以模擬各種復雜信號,還可對頻率、幅值、相移、波形進行動態、及時的控制,并能夠與其它儀器進行通訊,組成自動測試系統,因此被廣泛用于自動控制系統、震動激勵、通訊和儀器儀表領域。在 70 年代前,信號發生器主要有兩類:正弦波和脈沖波,而函數發生器介于兩類之間,能夠提供正弦波、余弦波、方波、三角波、上弦波等幾種常用標準波形,產生其它波形時需要采用較復雜的電路和機電結合的方法。這個時期的波形發生器多采用模擬電子技術,而且模擬器件構成的電路存在著尺寸大、價格貴、功耗大等缺點,并且要產生較為復雜的信號波形,則電路結構非常復雜。同時,主要表現
6、為兩個突出問題,一是通過電位器的調節來實現輸出頻率的調節,因此很難將頻率調到某一固定值;二是脈沖的占空比不可調節。在 70 年代后,微處理器的出現,可以利用處理器、A/D 和 D/A,硬件和軟件使波形發生器的功能擴大,產生更加復雜的波形。這時期的波形發生器多以軟件為主,實質是采用微處理器對 DAC 的程序控制,就可以得到各種簡單波形。90 年代末,出現幾種真正高性能、高價格的函數發生器、但是 HP 公司推出了型號為 HP770S 的信號模擬裝置系統,它由 HP8770A 任意波形數字化和HP1776A 波形發生軟件組成。HP8770A 實際上也只能產生 8 中波形,而且價格昂貴。不久以后, A
7、nalogic 公司推出了型號為 Data-2020 的多波形合成器, Lecroy 公司生產的型號為 9100 的任意波形發生器等。到了二十一世紀,隨著集成電路技術的高速發展,出現了多種工作頻率可過 GHz 的 DDS 芯片,同時也推動了函數波形發生器的發展, 2003 年, Agilent 的產品 33220A 能夠產生 17 種波形,最高頻率可達到 20M, 2005 年的產品 N6030A 能夠產生高達 500MHz 的頻率,采樣的頻率可達 1.25GHz。由上面的產品可以看出,函數波形發生器發展很快近幾年來,國際上波形發生器技術發展主要體現在以下幾個方面:(1)過去由于頻率很低應用的
8、范圍比較狹小,輸出波形頻率的提高,使得波形發生器能應用于越來越廣的領域。波形發生器軟件的開發正使波形數據的輸入變得更加方便和容易。波形發生器通常允許用一系列的點、直線和固定的函數段單片機課程設計2把波形數據存入存儲器。同時可以利用一種強有力的數學方程輸入方式,復雜的波形可以由幾個比較簡單的公式復合成 v=f (t)形式的波形方程的數學表達式產生。從而促進了函數波形發生器向任意波形發生器的發展,各種計算機語言的飛速發展也對任意波形發生器軟件技術起到了推動作用。目前可以利用可視化編程語言 (如 Visual Basic ,Visual C 等等)編寫任意波形發生器的軟面板這樣允許從計算機顯示屏上輸
9、入任意波形,來實現波形的輸入。(2)與 VXI 資源結合。目前,波形發生器由獨立的臺式儀器和適用于個人計算機的插卡以及新近開發的 VXI 模塊。由于 VXI 總線的逐漸成熟和對測量儀器的高要求,在很多領域需要使用 VXI 系統測量產生復雜的波形,VXI 的系統資源提供了明顯的優越性,但由于開發 VXI 模塊的周期長,而且需要專門的 VXI 機箱的配套使用,使得波形發生器 VXI 模塊僅限于航空、軍事及國防等大型領域。在民用方面,VXI 模塊遠遠不如臺式儀器更為方便。(3)隨著信息技術蓬勃發展,臺式儀器在走了一段下坡路之后,又重新繁榮起來。不過現在新的臺式儀器的形態,和幾年前的己有很大的不同。這
10、些新一代臺式儀器具有多種特性,可以執行多種功能。而且外形尺寸與價格,都比過去的類似產品減少了一半。1.2 本系統研究的國內外現狀早在 1978 年,由美國 Wavetek 公司和日本東亞電波工業公司公布了最高取樣頻率為 5MHz,可以形成 256 點(存儲長度)波形數據,垂直分辨率為8bit,主要用于振動、醫療、材料等領域的第一代高性能信號源,經過將近 30年的發展,伴隨著電子元器件、電路、及生產設備的高速化、高集成化,波形發生器的性能有了飛速的提高,變得操作越來越簡單而輸出波形的能力越來越強。波形操作方法的好壞,是由波形發生器控制軟件質量保證的,編輯功能增加得越多,波形形成的操作性越好。1.
11、3 本文主要研究內容和工作近年來,波形發生器在各種領域中得到越來越廣泛的應用。本系統主要通過研究 51 單片機的功能,外加 D/A 轉換器等其它器件,進行硬件設計和軟件編程,完成鋸齒波、梯形波、三角波、方波和正弦波共五種波形的形成。波形頻率的變化由程序來控制,即通過改變定時器的初值來改變輸出波形相鄰兩點的時間間隔,從而實現波形頻率的改變。單片機課程設計3第二章 方案論證2.1 方案一 純硬件設計法波形發生器設計的純硬件法早期,波形發生器的設計主要是采用運算放大器加分立元件來實現。實現的波形比較單一,主要為正弦波、方波和三角波。工作原理嗍也相對簡單:首先是產生正弦波,然后通過波形變換(正弦波通過
12、比較器產生方波,方波經過積分器變為三角波)實現方波和三角波。在各種波形后加上一級放大電路,可以使輸出波形的幅度達到要求,通過開關電路實現不同輸出波形的切換,改變電路的具體參數可以實現頻率、幅度和占空比的改變。通過對電路結構的優化及所用元器件的嚴格選取可以提高電路的頻率穩定性和準確度。純硬件法中,正弦波的設計是基礎,實現方法也比較多,電路形式一般有 LC、RC 和石英晶體振蕩器三類。LC 振蕩器適宜于產生幾 Hz 至幾百 MHz 的高頻信號;石英晶體振蕩器能產生幾百 kHz 至幾十 MHz 的高頻信號且穩定度高;對于頻率低于幾MHz,特別是在幾百 Hz 時,常采用 RC 振蕩電路。RC 振蕩電路
13、又分為文氏橋振蕩電路、雙 T 網絡式和移相式振蕩電路等類型。其中,以文氏橋振蕩電路最為常用。目前,實現波形發生器最簡單的方法是采用單片集成的函數信號發生器。它是將產生各種波形的功能電路集成優化到一個集成電路芯片里,外加少量的電阻、電容元件來實現。采用這種方法的突出優勢是電路簡單,實現方便,精度高,性能優越;缺點是功能較全的集成芯片價格較貴。實際中應用較多的單片函數信號發生器有 MAX038(最高頻率可達 40MHz)和 ICL8038(最高頻率為 300kHz)。2.2 方案二 純軟件設計法波形發生器的設計還可以采用純軟件的方法來實現。虛擬儀器鞠使傳統儀器發生了革命性的變化,是 21 世紀測試
14、儀器領域技術發展的重要方向。它以計算機為基礎,軟件為核心,沒有傳統儀器那樣具體的物理結構在計算機上實現儀器的虛擬面板,通過軟件設計實現和改變儀器的功能。例如用圖形化編程工具 LabVIEW 來實現任意波形發生器的功能:在 LabVIEW 軟件的前面板通過拖放控件,設計儀器的功能面板(如波形顯示窗口,波形選擇按鍵,波形存儲回放等工作界面),在軟件的后面板直接拖放相應的波形函數并進行參數設置或直接單片機課程設計4調用編程函數來設計任意波形以實現波形產生功能;完成的軟件打包后,可脫離編程環境獨立運行。實現任意波形發生器的功能。采用純軟件的虛擬儀器設計思路可以使設計簡單、高效,僅改變軟件程序就可以輕松
15、實現波形功能的改變或升級。從長遠角度來看,純軟件法成本較低。軟件法的缺點是波形的響應速度和精度遜色于硬件法。2.3 方案三 軟硬件結合法軟硬件結合的波形發生器設計方法同時兼具軟硬件設計的優勢:既具有純硬件設計的快速、高性能,同時又具有軟件控制的靈活性、智能性。如以單片機和單片集成函數發生器為核心。輔以鍵盤控制、液晶顯示等電路,設計出智能型函數波形發生器,采用軟硬件結合的方法可以實現功能較全、性能更優的波形發生器,同時還可以擴展波形發生器的功能,比如通過軟件編程控制實現波形的存儲、運算、打印等功能,采用 USB 接口設計。使波形發生器具有遠程通信功能等。目前,實驗、科研和工業生產中使用的信號源大
16、多采用此方法來實現。純硬件設計法功能較單一,波形改變困難、控制的靈活性不夠,不具備智能性,其中由運算放大器加分立元件組成的波形發生器,除在學生實驗訓練中使用外。基本不被采用。純軟件設計法實現簡單,程序改變及功能升級靈活,但實現的波形精度及響應速度不如硬件法高。純軟件法主要適用于對波形精度、響應速度要求不是很高的場合。相比之下,軟硬件結合的方法可以設計出性能最優、功能擴展靈活、控制智能化的新一代的波形發生器,可以滿足教學、科研、工業生產等各方面對波形發生器性能有較高要求的應用場合。綜合以上幾種設計方案,本設計采用方案三的方法軟硬件設計法。其方案能夠產生很好的波形,也易實現。單片機課程設計5第三章
17、 系統硬件設計3.1 內部結構概述典型的 MCS-51 單片機芯片集成了以下幾個基本組成部分:1)一個 8 位的 CPU;2) 128B 或 256B 單元內數據存儲器(RAM) ;3) 4KB 或 8KB 片內程序存儲器(ROM 或 EPROM) ; 4) 4 個 8 位并行 I/O 接口 P0P3;5)兩個定時/計數器; 6) 5 個中斷源的中端管理控制系統; 7)一個全雙工串行 I/O 口 UART(通用異步接收、發送器) ;8)一個片內振蕩器和時鐘產生電路。圖 3-1 單片機引腳圖3.2 P0P3 口結構及功能單片機課程設計63.2.1 P0 口結構及功能P0 口由一個輸出鎖存器、一個
18、轉換開關 MUX、兩個三態輸入緩沖器、輸出驅動電路和一個與門及一個反相器組成。P0 口具有兩種功能:第一, P0 口可以用作通用 I/O 接口;第二, P0 口可以用作地址/數據總線。3.2.2 P1 口結構及功能P1 口是由一個輸出鎖存器、兩個三態輸入緩沖器和輸出驅動電路組成,驅動電路內部設有上拉電阻。 3.2.3 P2 口結構及功能P2 口由一個輸出鎖存器、一個轉換開關 MUX、兩個三態輸入緩沖器、輸出驅動電路和一個反相器組成。P2 口共有兩個功能:第一個功能與上述兩組引腳的第一功能相同,即可用作通用 I/O 口;它的第二功能與 P0 口引腳的第二功能相配合,作為地址總線用于輸出片外存儲器
19、的高 8 位。3.2.4 P3 口結構及功能 P3 口由一個輸出鎖存器、三個三態輸入緩沖器、輸出驅動電路和一個與非門組成。P3 口有兩個功能:第一個功能與其余三個端口的第一功能相同;第二功能做控制用,每個引腳的功能不同: P3.0RXD:串行口接收數據輸入端P3.1TXD:串行口發送數據輸出端P3.2INT0:外部中斷申請輸入端 0P3.3INT1:外部中斷申請輸入端 1 P3.4T0:外部計數脈沖輸入端 0 P3.5T1:外部計數脈沖輸入端 1 P3.6WR:寫外設控制信號輸出端P3.7RD:讀外設控制信號輸出端單片機課程設計73.3 時鐘電路和復位電路單片機的時鐘信號用來提供單片機內各種微
20、操作的時間基準;復位操作則使單片機的片內電路初始化,使單片機從一種確定的狀態開始運行。3.3.1 時鐘電路單片機的時鐘信號通常有兩種產生方式。一種是內部時鐘方式;另一種是外部時鐘方式。 圖 3-2 時鐘方式圖內部時鐘方式只要在單片機的 XTAL1 和 XTAL2 引腳外接晶振就構成了自激振蕩器,并在單片機內部產生時鐘脈沖信號。外部時鐘方式是把外部已有的時鐘信號引入到單片機內,常用于多片單片機同時工作,已使各單片機同步。單片機的時序單位:晶振周期為時鐘脈沖頻率的倒數,為最小的時序單位,也稱 T 狀態;時鐘周期包含兩個晶振周期,也稱 S 狀態;完成一個基本操作所需要的時間稱為機器周期,由 6 個時
21、鐘周期組成,即 12 個晶振周期;指令的執行時間稱為指令周期,通常含有 14 個機器周期。3.3.2 單片機的復位狀態當 MCS-51 系列單片機的復位引腳 RST(全稱 RESET)出現 2 個機器周期以上的高電平時,單片機就執行復位操作。如果 RST 持續為高電平,單片機就處于循環復位狀態。根據應用的要求,復位操作通常有兩種基本形式:上電復位和手動復位。上電復位要求接通電源后,自動實現復位操作。手動復位是當單片機已在運行當中時,按下復位鍵 K 后松開,也能使 RST 為一段時間的高電平,從而實現上電或開關復位的操作。 單片機的復位操作使單片機進入初始化狀態,其中包括使程序計數器單片機課程設
22、計8PC0000H,這表明程序從 0000H 地址單元開始執行。單片機冷啟動后,片內RAM 為隨機值,運行中的復位操作不改變片內 RAM 區中的內容, 21 個特殊功能寄存器復位后的狀態為確定值。單片機課程設計93.4 系統硬件總體設計波形的產生是通過 51 單片機執行某一波形發生器程序,向 D/A 轉換器的輸入端按一定的規律發生數據,從而在 D/A 轉換電路的輸出端得到相應的電壓波形。鍵盤AT89C51DAC0832運放電路波形輸出圖 3-3 總體設計圖3.5 DAC0832 的引腳及功能DAC0832 是雙列直插式 8 位 D/A 轉換器,完成數字量輸入到模擬量輸出的轉換。圖 3-4 DA
23、C0832 引腳圖DAC0832 結構:D0D7: 8 位的數據輸入端, D7 為最高位, TTL 電平,有效時間應大于 90ns(否則鎖存器的數據會出錯) ;ILE:數據鎖存允許控制信號輸入線,高電平有效;CS:片選信號輸入線(選通數據鎖存器) ,低電平有效;WR1:數據鎖存器寫選通輸入線,負脈沖(脈寬應大于 500ms)有效。由ILE、CS、WR1 的邏輯組合產生,當 LE1 為高電平時,數據鎖存器狀態隨輸入數據線變換, LE1 的負跳變時將輸入數據鎖存;單片機課程設計10XFER:數據傳輸控制信號輸入線,低電平有效,負脈沖(脈寬應大于500ms)有效。WR2:DAC 寄存器選通輸入線,負
24、脈沖(脈寬應大于 500ms)有效。由WR1、XFER 的邏輯組合產生 LE2,當 LE2 為高電平時, DAC 寄存器的輸出隨寄存器的輸入而變化,LE2 的負跳變時將數據鎖存器的內容打入 DAC 寄存器并開始 D/A 轉換。IOUT1:模擬電流輸出端 1,當 DAC 寄存器中數據全為 1 時,輸出電流最大,當 DAC 寄存器中數據全為 0 時,輸出電流為 0。IOUT2:模擬電流輸出端 2, IOUT2 與 IOUT1 的和為一個常數。Rfb:反饋信號輸入線,改變 Rfb 端外接電阻值可調整轉換滿量程精度。Vcc:電源輸入端,范圍為 (+5+ 15)V。VREF:基準電壓輸入線,范圍為 (-
25、10+10)V; AGND:模擬信號地。DGND:數字信號地。3.6 74LS373 的引腳及功能74LS373 是常用的地址鎖存器芯片,它實質是一個帶三態緩沖輸出的 8D觸發器。D0D7:數據輸入端; Q0Q7:數據輸出端;OE:三態允許控制端,低電平有效;當 OE 為低電平時, Q0Q7 為正常邏輯狀態,可用來驅動負載或總線;當 OE 為高電平時, Q0Q7 呈高阻態,既不驅動總線,也不為總線的負載,但鎖存器內部的邏輯操作不受影響。LE:鎖存允許端。當鎖存允許端 LE 為高電平時, Q 隨數據 D 而變;當LE 為低電平時, Q 被鎖存在已建立的數據電平。圖 3-5 74LS373 引腳圖
26、3.7 系統硬件原理51 單片機的最小系統最小系統由振蕩電路、電源電路、復位電路、EA 及單片機課程設計11應用程序組成。它有三種聯接方式。一種是兩級緩沖器型,即輸入數據經過兩級緩沖器型,即輸入數據經過兩級緩沖器后,送入 D/A 轉換電路。第二種是單級緩沖型,輸入數據經輸入寄存器直接送入 DAC 寄存器,然后送 D/A 轉換電路。第三種是兩個緩沖器直通,輸入數據直接送 D/A 轉換電路進行轉換。3.7.1 系統原理圖圖 3-6 系統原理圖單片機課程設計12第四章 系統的軟件設計系統軟件由主程序和產生波形的子程序組成,軟件設計主要是產生各種波形的子程序的編程。通過編程可得到各種波形。頻率的改變可
27、采用插入延時子程序的方法來實現。4.1 主程序流程圖圖 4-1 主程序流程圖開始初始化讀取波形選擇開關調波形發生子程序結束波形轉換否是否波形判別單片機課程設計134.2 波形的產生4.2.1 設計思路利用中斷,當 5 個開關中有任意一個閉合時,跳轉至中斷程序,在中斷程序中判斷是哪一個按鍵閉合,跳轉至相應的程序,執行輸出波形的操作,每輸出一個點之后,判斷按鍵是否斷開,如果依舊閉合,則繼續輸出,如果已經斷開,則結束中斷程序。函數波形發生器K0鋸齒波K1梯形波K2三角波K3方波K4正弦波 圖 4-2 主程序流程圖4.2.2 鋸齒波的產生鋸齒波的實現過程是首先定義一個初值然后進行加法操作,加的步數的多
28、少則根據要求的頻率來進行。然后加到某個數之后就再重新設置為初值,再重復執行剛剛的操作,如此循環下去。4.2.3 梯形波的產生梯形波的實現是設置一個初值,然后進行加一,當加到某個數時延時,之后減一,減到初值時在返回到之前的操作,繼續加一、延時、減一。4.2.4 三角波的產生三角波的實現是設置一個初值,當加到某個值的時候,執行減一操作,減到初值時,再加一。4.2.5 方波的產生方波的實現只需開始的時候設置一個初值然后直接輸出這個值就行了,輸單片機課程設計14出一段時間后,然后再重新置一個數據,然后再輸出這個數據一段時間,但是此時的時間一定要等于前面那段時間。4.2.6 正弦波的產生正弦波的實現需要
29、查表,每查一次表,輸出一個數值,之后查下一個數值繼續輸出,當一個波形的 256 個數值全部輸出之后,從頭開始繼續輸出。單片機課程設計15第五章 系統調試與仿真結果5.1 系統調試根據系統設計方案,本系統的調試共分為三大部分:仿真電路調試,程序調試和程序和仿真電路聯調。由于在系統設計中采用模塊設計法,所以方便對各電路模塊功能進行逐級測試。5.1.1 仿真電路調試對各個模塊的功能進行調試,主要調試各模塊能否實現指定的功能。調試結果表明,各模塊能夠實現其預期功能。5.1.2 程序調試軟件調試采用 keil c 軟件,將編好的程序進行調試,主要是檢查語法錯誤。在此過程中,發現了好多錯誤。要耐心調試。5
30、.1.3 聯調 將調試好的仿真電路和程序進行聯調,主要調試系統的實現功能。只要程序調試完成,線路連好,本步沒有困難。5.2 仿真結果在 Proteus 軟件中運行仿真。按下 K0 鍵時,示波器輸出鋸齒波;按下 K1鍵時輸出梯形波;按下 K2 鍵時輸出三角波;按下 K3 鍵時輸出方波;按下 K4鍵時輸出正弦波。具體波形見附錄二。單片機課程設計16結論本次的設計中利用 AT89C51 和 DAC0832 以及放大器完成電路的設計,用開關來控制各種波形的發生及轉換,用單片機輸出后,經過模數轉換器生成波形,最終可以通過示波器觀察。在這次的軟件設計中,程序設計采用的是匯編語言。匯編語言具有速度快,可以直
31、接對硬件進行操作的優點,它可以極好的發揮硬件的功能。但是匯編語言也存在編寫的代碼非常難懂,不好維護,很容易產生 bug,難于調試的缺點。因此,在大型程序的設計中,多采用 C 語言進行程序編譯。C 語言簡潔高效,是最貼近硬件的高級編程語言,經過多年的發展,現在已成熟為專業水平的高級語言。而且,現在單片機產品推出時紛紛配套了 C 語言編譯器,應用廣泛。不過就本次課程設計來說,匯編語言還是適用的。由于此次是第一次進行課設,有些軟件以及芯片以前從未接觸過,因此還不是很得心應手,所以在設計中遇到了很多問題及難點。比如: proteus 軟件以及wave6000 的使用; D/A 轉換器和鎖存器的結構、功
32、能等等,這些都需要自己去查找資料了解這些。通過此次的課程設計,我進一步了解了波形發生器的原理,在實際動手操作過程中,使我接觸了許多我以前沒接觸過的元件,提高了自己的動手能力。而且在編程時重新溫習了剛學不久的 51 單片機以及 MATLAB語言,不僅讓我學習了一些新的知識,而且對以前所學內容進行了鞏固,讓我懂得理論知識的重要性,沒有理論的指導一切實際行動都是盲目的,且實際操作是所學的理論知識得到驗證,更能加深對理論知識的理解,讓我受益匪淺。單片機課程設計17參考文獻1陳志旺,李亮。51 單片機快速上手。機械工業出版社。2薛定宇。控制系統計算及輔助設計MATLAB 語言與應用(第 2 版) 。清華
33、大學出版社。3鄒虹。單片機波形發生器的設計。重慶郵電學院學報。4毅剛,彭喜元。單片機原理與應用設計。電子工業出版社。5楊素行.模擬電子技術基礎簡明教程(第三版)M.北京:高等教育出版社, 2006. 6 Altium Designer 原理圖與 PCB 設計 M.北京:電子工業出版社 2009. 7譚浩強.C 程序設計(第 2 版) M .北京:清華大學出版社 1999. 8陳明義.電子技術教程設計實用教程(第 3 版)M.長沙:中南大學, 2009. 9馬曉.函數信號發生器的設計 D.河南 2012.10李華.MCS-51 系列單片機實用接口技術 M.11何立民.單片機應用技術選編 M. 1
34、2閻石.模擬電子技術基礎 M.單片機課程設計18附錄一 程序ORG 0000H LJMP MAIN ORG 0003H 外部中斷 0 LJMP INT00 ORG 0040H MAIN:MOV SP,60H; 更改堆棧指針,避免堆棧與工作寄存器區發生沖突SETB IT0; 外部中斷請求 0 為下降沿觸發方式SETB EA; 中斷允許總開關打開SETB EX0; 允許外部中斷 0 中斷INT00:CLR EA ; 關中斷PUSH PSW; 現場保護PUSH Acc SETB EA; 開中斷JNB P1.0,IR0; 如果 K0 鍵閉合,則跳轉至 IR0 輸出鋸齒波 JNB P1.1,IR1; 如
35、果 K1 鍵閉合,則跳轉至 IR1 輸出梯形波JNB P1.2,IR2; 如果 K2 鍵閉合,則跳轉至 IR2 輸出三角波JNB P1.3,IR3; 如果 K3 鍵閉合,則跳轉至 IR3 輸出方波JNB P1.4,IR4; 如果 K4 鍵閉合,則跳轉至 IR4 輸出正弦波INTIR: CLR EA; 關中斷POP Acc; 現場恢復POP PSW SETB EA ; 開中斷RETI鋸齒波發生子程序如下:單片機課程設計19IR0:MOV R0,#0FEH 設置端口地址MOV A,#00H LOOP:MOVX R0,A ; 寫入JB P1.0,INTIR; 如果 k0 鍵已經斷開,則返回INC A
36、 ; A 加一SJMP LOOP; 循環LJMP INTIR; 返回梯形波發生子程序如下: IR1:MOV R0,#0FEH; 設置端口地址MOV A,#00H UP: MOVX R0,A; 寫入JB P1.1,INTIR; 如果 k1 鍵已經斷開,則返回INC A; A 加一JNZ UP ; 循環DEC A; 如果已經溢出,則減一,減一之后 A 的值為 255 LCALL DELAY; 延時 JB P1.1,INTIR; 如果 k1 鍵已經斷開,則返回DOWN:DEC A; MOVX R0,A; 寫入JB P1.1,INTIR; 如果 k1 鍵已經斷開,則返回JNZ DOWN ; 循環SJM
37、P UP; 如果減到 0,則跳轉至 UP,繼續執行加一操作LJMP INTIR; 返回DELAY:MOV R7,#100; 延時子程序DELAY1: MOV R6,#10 NOP 單片機課程設計20DELAY2:DJNZ R6,DELAY2 DJNZ R7,DELAY1 RET三角波發生子程序如下:IR2: MOV R0,#0FEH; 設置端口地址MOV A,#00H UP2:MOVX R0,A; 寫入JB P1.2,INTIR; 如果 k2 鍵已經斷開,則返回INC A; A 加一JNZ UP2; 循環DOWN2:DEC A; A 減一MOVX R0,A; 寫入JB P1.2,INTIR;
38、如果 k2 鍵已經斷開,則返回JNZ DOWN2; 循環SJMP UP2; 如果減到 0,則跳轉至 UP2,繼續加一操作LJMP INTIR; 返回方波發生子程序如下:IR3: MOV R0,#0FEH; 設置端口地址POSI: MOV A,#00H; 給 A 賦值 0 x00 MOVX R0,A; 寫入LCALL DELAY ; 延時JB P1.3,INTIR; 如果 k3 鍵已經斷開,則返回NEGA: MOV A,#0FFH ; 給 A 賦值 0 xFF MOVX R0,A; 寫入LCALL DELAY; 延時JB P1.3,INTIR; 如果 k3 鍵已經斷開,則返回單片機課程設計21S
39、JMP POSI; 跳轉至 POSI,繼續下一個波形的輸出LJMP INTIR; 返回正弦波發生子程序如下:IR4: MOV R0,#0FEH; 設置端口地址MOV R1,#00HXX: MOV A,R1 LCALL HANSHU; 調用查表函數MOVX R0,A; 寫入JB P1.4,INTIR; 如果 k4 鍵已經斷開,則返回INC R1 SJMP XX; 繼續查表LJMP INTIR ; 返回HANSHU:MOV DPTR,#TAB1 MOVC A,A+DPTR RETTAB1: db 080h,083h,086h,089h,08ch,090h,093h,096h,099h,09ch,09fh,0a2h,0a5h,0a8h,0abh,0aeh db 0b1h,0b3h,0b6h,0b9h,0bch,0bfh,0c1h,0c4h,0c7h,0c9h,0cch,0ceh,0d1h,0d3h,0d5h,0d8h db 0dah,0dch,0deh,0e0h,0e2h,0e4h,0e6h,0e8h,0eah,0ebh,0edh,0efh,0f0h,0f1h,0f3h, 0f4h db 0f5h,0f6h,0f8h,0f9h,0fah,0fah,0fbh,0fch,0fdh,0fdh,0feh,0feh,0feh,0ffh,0ffh,0ffh db0ffh,0f
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025長期雇傭合同的變革
- 2025股票發行承銷合同協議范本
- 2025財務管理委托合同
- 2025標準版停車場承包合同樣本
- 2024年浙江博思睿招聘真題
- 2024年德陽城市軌道交通職業學院輔導員考試真題
- 廣西幼師幼兒園教育活動設計與指導教案02幼兒園科學教育活動的類型及其組織指導教案
- 2025年二手交易平臺信用評價體系構建與信用保險產品開發報告
- 2025年二手電商信用體系建設與平臺競爭策略研究報告
- 素食養生主題餐廳企業制定與實施新質生產力項目商業計劃書
- 湖北省2024年技能高考高職高專批平行志愿投檔線
- 2024年江蘇省南京市中考數學試卷真題(含答案逐題解析)
- 高中家長會 高中期中考試暨一輪復習家長會課件
- 注安2024注冊安全工程師【其他】核心母題600題
- 工程施工雙代號網絡圖課件
- 2025年泰安市泰山城建集團有限公司招聘筆試參考題庫含答案解析
- 2025年工業廢水處理工(高級)理論考試題庫(含答案)
- 語文-山東省2025年1月濟南市高三期末學習質量檢測濟南期末試題和答案
- 地震災害培訓課件
- 2024年新疆維吾爾自治區中考英語真題含解析
- 物業綠化管理養護服務方案
評論
0/150
提交評論