基于AVR單片機的高精度頻率調(diào)節(jié)器_第1頁
基于AVR單片機的高精度頻率調(diào)節(jié)器_第2頁
基于AVR單片機的高精度頻率調(diào)節(jié)器_第3頁
基于AVR單片機的高精度頻率調(diào)節(jié)器_第4頁
基于AVR單片機的高精度頻率調(diào)節(jié)器_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、基于AVR單片機的高精度頻率調(diào)節(jié)器我要打印  IE收藏  放入公文包  我要留言  查看留言 來源:電子產(chǎn)品世界  中國軍工網(wǎng) 添加時間:2006-7-11 11:04:37    摘要: 精確的頻率控制是現(xiàn)代化工業(yè)生產(chǎn)與高精度測試的必備手段。基于AD9850可以發(fā)生優(yōu)于1Hz頻率精確度的信號,這對于頻率測試來說至關(guān)重要。本文介紹的這種頻率調(diào)節(jié)器由Atmel公司的AVR單片機Atmega16L作為控制核心,采用4×4鍵盤作為頻率值輸入設(shè)備。AVR單片機掃描鍵盤并且讀

2、入用戶設(shè)定的頻率值。隨后,AVR單片機計算出AD9850的控制字,并且對AD9850發(fā)出指令。本文介紹的頻率控制器可以通過“+1Hz”鍵和“1Hz”鍵微調(diào)頻率值。本文對頻率控制器擴展了液晶顯示模塊,因此當(dāng)前頻率值可以被實時顯示。它可以生成方波和正弦波。設(shè)計中使用了看門狗定時器防止程序進入死循環(huán)而不能正常工作。    關(guān)鍵詞: AVR, 單片機, 頻率, 控制    1 引言     在現(xiàn)代化工業(yè)生產(chǎn)與高精度測試中,我們需要相當(dāng)精確的頻率來幫助判斷設(shè)備性能指標(biāo)。而且我們希望能夠

3、微調(diào)該頻率。采用壓控振蕩器得到的頻率不夠精確,微調(diào)頻率步驟煩瑣,耗時漫長,因此有些測試項目限制了壓控振蕩器的使用。     Mega系列單片機是Atmel公司于2002年起陸續(xù)推出的。這款A(yù)VR增強型單片機具有速度快,抗干擾能力強,價格低廉等諸多優(yōu)點。為了加快AVR單片機的軟件編制,Atmel以及第三方提供的開發(fā)工具多種多樣,程序開發(fā)方便有效。該單片機內(nèi)部FLASH結(jié)構(gòu)功能靈活,加鎖后很難解密,可以最大限度地保護知識產(chǎn)權(quán)。AVR單片機可以廣泛應(yīng)用于通信、野外測試、汽車電子、醫(yī)療器械等領(lǐng)域,并且適用于各種低電壓、低功耗的場合。  

4、60;  本文提出一種方法能夠基于AVR單片機,采用AD9850提供精確到1Hz的頻率信號,不但可以發(fā)生正弦波,也可以發(fā)生方波,從而為要求頻率精度高的企業(yè)解決了難題。它以Atmel公司的AVR單片機Atmega16L作為核心,能夠方便、準(zhǔn)確地控制輸出頻率。由于AVR單片機實現(xiàn)了在線可編程,所以大大簡化了設(shè)計步驟,加快了設(shè)計進程,同時不會燒毀、燒費芯片,節(jié)約了成本。     圖1給出了該頻率調(diào)節(jié)器的整體設(shè)計框圖。用戶通過4×4鍵盤設(shè)定頻率值,AVR單片機使用I/O端口,掃描讀入頻率值。隨后AVR單片機控制AD9850調(diào)節(jié)到用戶要求的頻率

5、。AD9850的輸出可以接電壓比較器整形為方波,也可以經(jīng)過低通濾波器限制帶寬,輸出正弦波形。AVR單片機同時控制液晶顯示模塊,使之實時顯示當(dāng)前頻率。 圖1. 頻率調(diào)節(jié)器整體框圖2 控制核心與頻率發(fā)生技術(shù) 2.1 控制核心     本設(shè)計采用了Atmel公司的AVR單片機Atmega16L作為控制核心。AVR單片機的單周期指令能夠保證高的執(zhí)行效率和低成本,是精簡指令集CPU中的高性能器件。AVR單片機可以提供高達16 MIPS的執(zhí)行時間,具有128K字節(jié)的可編程Flash存儲器,同時具備4096字節(jié)的靜態(tài)RAM。AVR單片機自

6、帶看門狗定時器,在強烈的電磁干擾條件下可以防止程序跑飛。本設(shè)計中采用的Atmega16L還具有以下特點: l    內(nèi)部包含有硬件乘法器,加快乘法運算速度;I/O端口引腳數(shù)多達32根; l    支持在線可編程功能,不需要頻繁從電路板插拔芯片;帶有可編程的支持同步傳輸?shù)腢ART端口; l    支持三線傳輸SPI端口;具有方便的I2C總線端口,直接與Philips芯片接駁; l    支持JTAG邊界掃描電路;具有BOD低電壓檢測功能;

7、 l    內(nèi)部有8路10位的A/D變換器;具有4個PMW,可以協(xié)同或單獨工作; l    內(nèi)部帶有實時時鐘電路;工作頻率最高可達16MHz。 2.2 AD9850頻率發(fā)生技術(shù)     AD9850是AD公司推出的低功耗直接數(shù)字頻率合成器芯片,可以產(chǎn)生從直流到62.5MHz的寬頻率信號,從投入市場到今天已經(jīng)應(yīng)用在雷達系統(tǒng)、低功耗頻率源中。它良好的頻率合成功能適合于應(yīng)用在高精度測試中。本設(shè)計采用了AD9850作為波形發(fā)生器,具有體積小,功耗低的優(yōu)點。 在控制流程中,AVR單片機

8、為AD9850計算了頻率控制字,并且將頻率控制字寫入其中。聯(lián)合小鍵盤上的“+1Hz”鍵和“-1Hz”鍵,本設(shè)計使得頻率可以精確到步長為1Hz的調(diào)節(jié)。它可以產(chǎn)生方波和正弦波。用戶要求產(chǎn)生正弦波時,我們設(shè)計了低通濾波器用來濾除信號的高頻分量。該低通濾波器還可以使用五階橢圓濾波器實現(xiàn)。圖2示出了本系統(tǒng)的AD9850電路設(shè)計圖。PC2PC5可以同時作為I2C總線端口。 圖2  AD9850電路設(shè)計3 輸入設(shè)備與輸出設(shè)備 3.1 鍵盤輸入設(shè)備與相應(yīng)軟件      本設(shè)計采用了4×4鍵盤作為頻率輸入設(shè)備。由于按鍵個數(shù)

9、少,只有16個,需要表示從1Hz  10MHz的廣泛頻率,故在軟件設(shè)計中采用了AVR單片機掃描方式。將端口A的8根I/O引腳全部作為掃描鍵盤使用。鍵盤定義除了09共10個數(shù)字之外,還定義了“退格”鍵、“全刪”鍵、“輸入”鍵、“+1Hz”鍵和“-1Hz”鍵,這樣就可以極大地方便用戶隨時修改頻率和微調(diào)頻率。讀入用戶輸入的頻率值時,采用了延時防抖抗干擾的軟件程序。掃描變量的初始值設(shè)置為0xFE,以低電平0依次變化實現(xiàn)掃描。本單片機鍵盤掃描的C代碼如下所示:           &#

10、160; sccode=0xFE;/*every scan initiative value,11111110*/             while(sccode!=0xEF/*sccode is not 11101111,follow;or return 0*/           &

11、#160;                  PORTA=sccode;/*send scan code 11111110 to portA*/                 PORTA=sccode;/*send&#

12、160;scan code 11111110 to portA*/                 if(PINA&0xF0!=0xF0/*read portA,if high 4 bits are not 1111,key pressed in this line*/  

13、;                                    recode=(PINA&0xF0|0x0F;/*portA high 4 bits reserved,low 4&#

14、160;bits are 1111*/                     while(PINA&0xF0!=0xF0                      

15、60;                   /*read portA,if portA high 4 bits are not 1111,key pressed,              

16、       if key pressed,we must wait,wait for key released*/                     return(sccode+(recode;/*return row+column*/ &#

17、160;                                else                   &

18、#160;                  sccode=(sccode<<1|0x01;                     /*scan code left shift

19、 1 bit, add 1 to right,11111101*/                                   最終返回的掃描結(jié)果包括按鍵所在的行值和列值。判斷步驟是:先將端口A的高4比特記錄在掃

20、描變量recode中,低4比特置為1111。再次讀入端口A的高4比特,由此判斷按鍵是否松開。用戶還未松開按鍵時,高4比特當(dāng)中有低電平0存在,此時只能循環(huán)等待。只有當(dāng)用戶松開按鍵之后,才將高4比特與低4比特進行按位反操作,并復(fù)合形成最終返回的掃描結(jié)果。如果沒有檢測到有按鍵按下,則將掃描變量sccode向左移位1比特,繼續(xù)進行下一次掃描。 3.2 液晶顯示模塊     用戶在多次進行輸入頻率以及“+1Hz”和“-1Hz”微調(diào)后,專注于觀察信號輸出對下一級電路的影響,往往忘了目前系統(tǒng)的輸出頻率。這樣導(dǎo)致在精確測試中要求微調(diào)時也不知該向高調(diào)整還是向低調(diào)整。為了告知用戶系統(tǒng)所處的當(dāng)前頻率,我們擴展了液晶顯示模塊,實現(xiàn)了當(dāng)前頻率在液晶顯示模塊上實時顯示。液晶顯示模塊占用了單片機Atmega16L的PD0-PD7作為數(shù)據(jù)接口,采用了單片機的PB0-PB4作為控制端口。圖3給出了液晶顯示模塊與控制器電路設(shè)計電路圖。 PB0引腳選擇液晶顯示模塊

溫馨提示

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

最新文檔

評論

0/150

提交評論