方波函數發(fā)生器設計_第1頁
方波函數發(fā)生器設計_第2頁
方波函數發(fā)生器設計_第3頁
方波函數發(fā)生器設計_第4頁
方波函數發(fā)生器設計_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、方波函數發(fā)生器設計目 錄摘要1 關鍵詞1 Abstract1 Key words1 引言21 總體方案的論證與設計21.1 方案選擇設計21.2 總體硬件組成框圖22 系統(tǒng)硬件模塊32.1系統(tǒng)主要模塊設計32.1.1 STC89C52單片機簡介32.1.2 復位電路設計42.1.3 串行通信接口42.2 系統(tǒng)實物的焊接組裝62.2.1 系統(tǒng)原理圖62.2.2 焊接前的準備62.2.3 焊接注意事項62.2.4 焊接過程72.2.5 系統(tǒng)實物展示73 系統(tǒng)軟件設計73.1編程語言的選擇方案73.2 系統(tǒng)程序的設計84 系統(tǒng)調試84.1 軟件調試94.2 實踐操作94.3 測試結果分析10參考文獻

2、10附錄 方波函數發(fā)生器程序10方波函數發(fā)生器設計自動化專業(yè)學生 姬生達指導教師 00摘要:本函數發(fā)生器采用STC89C52單片機作為控制核心組成數字式低頻信號發(fā)生器。運用單片機內部的定時器模塊,采用程序編寫波形函數,通過控制按鍵可以改變方波的周期。本設計具有低功耗、 程控性、高穩(wěn)定性、結構簡單性能優(yōu)良等特點??捎糜诙喾N需要低頻信號源的地方,具有很好的實用性。關鍵詞:單片機;占空比;方波 Design of Square Wave Function GeneratorStudent Majoring in Automation Ji ShengdaTutor 00Abstract: This

3、function generator adopts STC89C52 single chip microcomputer as the control core to form a digital low frequency signal generator. The use of single-chip internal timer module, the use of procedures for the preparation of the waveform function, through the control button can change the square wave c

4、ycle. This design has the characteristics of low power consumption, program control, high stability, simple structure, excellent performance and so on. Can be used for a variety of low frequency signal source, and has a good practicality. Key words: Single chip microcomputer; Duty ratio; Circuit dia

5、gram 引言 函數發(fā)生器是為電子測量提供符合一定技術要求的電信號的設備。單片機集成度高,功能強,低功耗,價格便宜等一系列的優(yōu)點。目前已經深入到生活的方方面面。本次設計是基于單片機的占空比可調方波函數發(fā)生器,是通過單片機定時器和中斷來實現輸出占空比可調的方波信號,以達到簡易函數發(fā)生器的設計。1總體方案的論證與設計1.1 方案選擇設計實現方波發(fā)生器的方法很多,但主要有三個案:采用單片函數發(fā)生器8038;采用鎖相式頻率合成器;采用單片機編程。方案一:采用單片函數發(fā)生器8038,8038可同時產生正弦波、方波等。而且方法簡單易行但產生信號的頻率穩(wěn)定度不高。 方案二:采用鎖相式頻率合成器,利用鎖相環(huán),

6、將壓控振蕩器VCO的輸出頻率鎖定在所需頻率上,該方案性能良好,但難以達到輸出頻率覆蓋系數的要求,且電路復雜。方案三:采用單片機編程的方法來實現,該方案可以通過編程的方法控制信號的占空比,而且硬件電路不變的情沉下,通過改變程序來實現占空比的變換。此外通過編程的方法產生的是數字信號,所以信號的精度可以做到很高。鑒于方案一的信號不穩(wěn)定,方案二的電路較為復雜等缺點,我采用的是方案三的設計方法。本設計采用軟硬件的結合,軟件控制硬件的方法來實現,能夠使輸出信號頻率穩(wěn)定和準確性的得到保證,而且本次設計使用的一些元器件價格相對便宜,都是常用的元器件。2.2 總體硬件組成框圖系統(tǒng)框圖如圖2-1所示,系統(tǒng)主要由四

7、大部分組成即:復位電路;LED顯示;按鍵電路;示波器顯示。其核心部位是STC89C52單片機。復位電路 STC89C52 LED顯示按鍵電路 串口轉換電路示波器顯示 圖2-1總體硬件系統(tǒng)組成框圖2系統(tǒng)硬件模塊2.1 系統(tǒng)主要模塊設計2.1.1 STC89C52單片機簡介STC89C52單片機內部有兩個16位可編程的定時器計數器T0和T1,他們具有計數器方式和定時器方式兩種工作方式及4種工作模式。在波形發(fā)生器中,用定時器功能來精確地確定兩個采樣點輸出之間的延遲時間。模式1采用的是16位計數器,當中斷開啟后,計數器開始從初值開始計數,最高位產生溢出時間時向CPU請求中斷。STC89C52芯片的引腳

8、結構圖如圖2-2所示,其實物圖如圖2-3所示。圖2-2 STC89C52引腳結構圖2-3 STC89C52實物圖系統(tǒng)的中斷是使處理器具有對外異步事件的處理能力設置的。當CPU正在處理某件事的時候外界發(fā)生了緊急事件,要求CPU暫停當前的工作,執(zhí)行緊急事件。在本次設計 中,只用到單片機內部定時器溢出時產生中斷請求,進而達到實現單片機輸出方波信號的要求。2.1.2 復位電路設計AT89C52單片機復位需要一個長達24個時鐘周期的高電平才能復位,復位的作用 就是將程序的指針指向地址0,所有程序重新從頭開始運行。復位電路圖設計如圖2-3所示,該電路不但具有復位按鍵復位功能,還有上電復位的功能。上電復位功

9、能是由極性電容C實現的。當系統(tǒng)上電時該電容有一個充電放電的過程,放電過程會產生一個高電平,放電時間根據t=RC計算。R為電阻的阻值,C為電容的大小。圖2-4 復位電路 在系統(tǒng)正常運行的時候,按下按鍵時(人手的反應時間要遠大于單片機復位需要的時間),REST端的電平為VCC也是一個高電平,此時單片機也會復位。2.1.3 串行通信接口單片機通信有并行和串行兩種方式。并行通信常是將數據字節(jié)的各位用多條數據線同時傳輸,每一位數據需要一條傳輸線。其優(yōu)點是控制簡單,相對傳輸速度快。缺點是傳輸線較多,長距離傳輸成本增加。串行通信方式是將數據字節(jié)分成一位一位的形式在一條數據線上逐個的傳輸。其優(yōu)點是傳輸線少,長

10、距離傳輸成本低。缺點是傳送控制比并行傳輸復雜。而串行通信又分為兩種,異步同步串行通信。綜合考慮在本次設計中我采用的是同步串行通信方式。ELA RS-232C是現在常用的串行接口標準。用于計算機與計算機之間,計算機與外設之間的數據通信。該標準的目的是定義數據終端設備之間的電氣特性。RS-232C提供了單片機與單片機, 單片機與PC機之問串行數據通信的標準接口。通信距離可以達到15m。但是RS-232C規(guī)定的邏輯電平與單片機的邏輯電平不是一致的。所以在應用中,要把微處理器的信號電平(TTL電平)轉換為RS-232C電平,或者對二者進行逆轉換。本次設計中我們選用專用的電平轉換芯片MAX232實現單片

11、機與PC之間電平的轉換。其組成電路如圖2-4所示,RS232 9孔焊接頭實物圖如圖2-5所示。圖2-5 串口模塊圖2-6 RS232 9孔焊接頭2.2 系統(tǒng)實物的焊接組裝 2.2.1 焊接前的準備 本次設計需要用到的主要元器件是:89c52單片機一片,四位LED數碼管一個,MAX232芯片一片,RS232串口一個,pcb板一塊。焊接工具:焊錫絲,烙鐵,松香等。測試工具:示波器一臺。2.2.2 系統(tǒng)原理圖 如圖2-7所示為系統(tǒng)原理圖圖2-7 系統(tǒng)原理圖2.2.3 焊接注意事項(1)補焊時應按照從左到右,由上到下的順序,避免檢查時漏檢或焊接時漏修。(2)焊接時要經常清洗烙鐵頭,防止烙鐵頭的雜物造成

12、虛焊、針孔、加焊等不良發(fā)生。(3)不要在基板上給烙鐵頭加焊錫,生產過程中不能抖錫、敲錫、甩錫,防止焊錫渣、焊錫珠掉到基板上面。(4)在壓件或拆件時要先在線路板的銅箔面上加焊錫,要求均勻加熱,避免松香失效或銅箔翹皮造成線路破壞。(5)電烙鐵使用以后,一定要穩(wěn)妥地插放在烙鐵架上,并注意導線等其他雜物不要碰到烙鐵頭,以免燙傷導線,造成漏電等事故。(6)保持烙鐵頭的清潔:焊接時,烙鐵頭長期處于高溫狀態(tài),又接觸助焊劑等弱酸性物質,其表面很容易氧化腐蝕并沾上一層黑色雜質。這些雜質形成隔熱層,妨礙了烙鐵頭與焊件之間的熱傳導。因此,要注意用一塊濕布或濕的木質纖維海綿隨時擦拭烙鐵的頭。對于普通烙鐵頭,在腐蝕污染

13、嚴重時可以使用銼刀修去表面氧化層。2.2.4 焊接過程 首先進行元器件的識別,將其按照電路圖那樣安裝到PCB板上進行固定。然后安裝先焊接體積較小的元器件,然后再焊接體積大的元器件,焊接時要用助焊劑輔助焊接,焊接芯片的時候停留時間不宜超過3秒,防止燒壞芯片。焊點焊接完成后,按照電路圖如圖2-5所示進行線的焊接,要求同上。2.2.5 系統(tǒng)實物展示 如圖2-8所示實物是本次設計最終完成的作品,在一個洞洞板上焊接了所有需要的模塊:一個自鎖式按鍵為電源開關按鍵,三個點觸式按鍵,其中一個是復位按鍵,兩個方波占空比調節(jié)按鍵。圖2-8 系統(tǒng)實物圖3 系統(tǒng)軟件設計3.1 編程語言的選擇方案方案一:使用高級語言-

14、C語言。C語言具有可移植性,能夠結構化編程,而且程序很容易讀懂。使用標準的C語言程序,幾乎可以不做任何改變就能移植到不同的微機平臺上。其缺點是C語言的語法限制不太嚴格,對變量的類型約束不嚴格,對數組下標越界不做檢查,對數據的封裝性上有很大的安全性缺陷。方案二:使用低級語言匯編語言。匯編語言代碼執(zhí)行效率高速度很快,占用內存少,保留了機器語言的靈活性,而且具有直接訪問硬件的能力,直接面向機器并較好的發(fā)揮機器的特性,屬于質量較高的程序。但是匯編語言依賴于具體的硬件系統(tǒng),不能通用,不能再不同機型之間移植,而且其開發(fā)工作量非常大,可讀性差。綜合兩種語言的優(yōu)缺點我選用的是高級語言C語言來完成本次設計。3.

15、2 系統(tǒng)程序的設計本次系統(tǒng)程序的設計我采用的是KELL單片機語言編譯軟件,其編譯界面如圖3-1所示。圖3-1 編譯軟件(1)首先設計總體的主程序思路,本設計的主要功能就是實現占空比可調的方波發(fā)生電路,而且通過LED數碼管顯示出占空比,示波器顯示相應的波形。(2)定時器中斷子程序的設計思路,用定時器0和定時器2中斷,定時器0控制方波占空比,定時器2控制方波的周期。(3)按鍵子程序的設計思路,按鍵的兩個觸電一端連接IO口一端接地,當單片機讀取連接按鍵的IO電平被拉低時,說明按鍵被按下,進而進行相應的程序。在處理按鍵掃描的時候要用軟件對按鍵按下這個動作進行延時消抖。(4)LED數碼管顯示器的驅動程序

16、設計思路,用單片機的P2和P3的IO進行對數碼管的驅動。用動態(tài)掃描的方式讓數碼管顯示相應的數據。 以上為主要部分程序的設計思路及方法,具體的程序設計請看附錄。4 系統(tǒng)調試根據本次的設計方案,本系統(tǒng)的調試分為軟件調試和實踐操作演示過程以及測試結果分析。4.1 軟件調試用KELL軟件進行本次設計的C語言程序的編譯,檢查是否有語法的錯誤,若有則進行修正,當編譯沒有錯誤提示時,編譯生成HEX文件,然后再下載到單片機進行下一步的實踐操作過程。4.2 實踐操作將本次設計的函數發(fā)生器,平穩(wěn)放到試驗臺上,接通電源,然后打開示波器先對示波器調零,用示波器探針接觸函數發(fā)生器的信號輸出引腳。先觀察示波器顯示的是否為

17、設定的初值為50%占空比的方波。若是則按下增加和減少按鍵,觀察示波器波形的變化規(guī)律。示波器波形演示如圖4-1所示為初始化的方波,如圖4-2所示為按下增加占空比按鍵時產生的波形。圖4-1 初始化方波 圖4-2 波形變化4.3 測試結果分析 此次系統(tǒng)設計的效果較好,在試驗中可以發(fā)現,LED數碼管上顯示初始值為50,示波器輸出方波占空比為1/2。按下控制按鍵,LED數碼管上的數字變化增加或減少,示波器方波占空比也跟隨增加或減少,一直增加到99或減少到0都跳變?yōu)槌跏贾?0。示波器占空比也變?yōu)?/2。參考文獻1郭天祥.51單片機C語言教程M.北京:電子工業(yè)出版社,2009.2童詩白,華成英.模擬電子技術

18、基礎M.北京:高等教育出版社,2001.3梁明理,鄧仁清.電子線路M.北京:高等教育出版社,2001.4謝自美.電子線路設計#實驗#測試M.武漢:華中科技大學出版社,2000.5韓國棟,趙月飛,婁建安.Altium Designer Winter 09電路設計入門與提高M.北京:化學工業(yè)出版社.2010.附錄/* 關于頻率和占空比的確定,對于12M晶振,假定PWM輸出頻率為1KHZ,這樣定時中斷次數 設定為C=10,即0.01MS中斷一次,則TH0=FF,TL0=F6;由于設定中斷時間為0.01ms,這樣可以設定占空比可從1-100變化。即0.01ms*100=1ms * /#include

19、<REGX51.H> #define uchar unsigned char /* TH0和TL0是計數器0的高8位和低8位計數器,計算辦法:TL0=(65536-C)%256; TH0=(65536-C)/256,其中C為所要計數的次數即多長時間產生一次中斷;TMOD是計數器工作模式選擇,0X01表示選用模式1,它有16位計數器,最大計數脈沖為65536,最長時間為1ms*65536=65.536ms */#define V_TH0 0XFF /定時器初值的宏定義 #define V_TL0 0XF6 #define V_TMOD 0X01 uchar code Tab = 0x

20、C0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff; void init_sys(void); /*系統(tǒng)初始化函數*/ void Delay5Ms(void); /*5毫秒基準延時*/unsigned char ZKB1; /*函數功能:顯示子程序 參數:ZKB1*/ void display(ZKB1) P3=0xbf; /P2.6引腳輸出低電平 P2=TabZKB1/10; delay(); /消影 delay(); delay(); P3=0x7f; /P2.7引腳輸出低電平 P2=TabZKB1%10; delay(); delay(); delay();P2=0xff; /關閉所有數碼管 P0=0xff;delay(); delay(); delay(); void main (void) init_sys(); /系統(tǒng)初始化 ZKB1=50; /占空比初始值設定 while(1) if (!P14) /如果按了+鍵,增加占空比 Delay5Ms(); /按鍵消抖延時 if (!P14) /再次確認按鍵是否按下 ZKB1+; if (ZKB1>99) ZKB1=1; /給占空比設定范圍值 if (!P15) /如果按了-鍵,減少占空比 Delay5Ms(); /按鍵消抖延時 i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論