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

下載本文檔

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

文檔簡介

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

2、10附錄 方波函數(shù)發(fā)生器程序10方波函數(shù)發(fā)生器設(shè)計(jì)自動(dòng)化專業(yè)學(xué)生 姬生達(dá)指導(dǎo)教師 00摘要:本函數(shù)發(fā)生器采用STC89C52單片機(jī)作為控制核心組成數(shù)字式低頻信號(hào)發(fā)生器。運(yùn)用單片機(jī)內(nèi)部的定時(shí)器模塊,采用程序編寫波形函數(shù),通過控制按鍵可以改變方波的周期。本設(shè)計(jì)具有低功耗、 程控性、高穩(wěn)定性、結(jié)構(gòu)簡單性能優(yōu)良等特點(diǎn)??捎糜诙喾N需要低頻信號(hào)源的地方,具有很好的實(shí)用性。關(guān)鍵詞:單片機(jī);占空比;方波 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 引言 函數(shù)發(fā)生器是為電子測量提供符合一定技術(shù)要求的電信號(hào)的設(shè)備。單片機(jī)集成度高,功能強(qiáng),低功耗,價(jià)格便宜等一系列的優(yōu)點(diǎn)。目前已經(jīng)深入到生活的方方面面。本次設(shè)計(jì)是基于單片機(jī)的占空比可調(diào)方波函數(shù)發(fā)生器,是通過單片機(jī)定時(shí)器和中斷來實(shí)現(xiàn)輸出占空比可調(diào)的方波信號(hào),以達(dá)到簡易函數(shù)發(fā)生器的設(shè)計(jì)。1總體方案的論證與設(shè)計(jì)1.1 方案選擇設(shè)計(jì)實(shí)現(xiàn)方波發(fā)生器的方法很多,但主要有三個(gè)案:采用單片函數(shù)發(fā)生器8038;采用鎖相式頻率合成器;采用單片機(jī)編程。方案一:采用單片函數(shù)發(fā)生器8038,8038可同時(shí)產(chǎn)生正弦波、方波等。而且方法簡單易行但產(chǎn)生信號(hào)的頻率穩(wěn)定度不高。 方案二:采用鎖相式頻率合成器,利用鎖相環(huán),

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

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

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

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

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

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

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

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

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

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

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

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

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

19、<REGX51.H> #define uchar unsigned char /* TH0和TL0是計(jì)數(shù)器0的高8位和低8位計(jì)數(shù)器,計(jì)算辦法:TL0=(65536-C)%256; TH0=(65536-C)/256,其中C為所要計(jì)數(shù)的次數(shù)即多長時(shí)間產(chǎn)生一次中斷;TMOD是計(jì)數(shù)器工作模式選擇,0X01表示選用模式1,它有16位計(jì)數(shù)器,最大計(jì)數(shù)脈沖為65536,最長時(shí)間為1ms*65536=65.536ms */#define V_TH0 0XFF /定時(shí)器初值的宏定義 #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)初始化函數(shù)*/ void Delay5Ms(void); /*5毫秒基準(zhǔn)延時(shí)*/unsigned char ZKB1; /*函數(shù)功能:顯示子程序 參數(shù):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; /關(guān)閉所有數(shù)碼管 P0=0xff;delay(); delay(); delay(); void main (void) init_sys(); /系統(tǒng)初始化 ZKB1=50; /占空比初始值設(shè)定 while(1) if (!P14) /如果按了+鍵,增加占空比 Delay5Ms(); /按鍵消抖延時(shí) if (!P14) /再次確認(rèn)按鍵是否按下 ZKB1+; if (ZKB1>99) ZKB1=1; /給占空比設(shè)定范圍值 if (!P15) /如果按了-鍵,減少占空比 Delay5Ms(); /按鍵消抖延時(shí) i

溫馨提示

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

評論

0/150

提交評論