?? 基于avr單片機的高精度頻率調節(jié)器 - 21ic中國電子網(wǎng).htm
字號:
<P align=left><STRONG>3 輸入設備與輸出設備 <BR>3.1 鍵盤輸入設備與相應軟件
<BR></STRONG>
本設計采用了4×4鍵盤作為頻率輸入設備。由于按鍵個數(shù)少,只有16個,需要表示從1Hz — 10MHz的廣泛頻率,故在軟件設計中采用了AVR單片機掃描方式。將端口A的8根I/O引腳全部作為掃描鍵盤使用。鍵盤定義除了0——9共10個數(shù)字之外,還定義了“退格”鍵、“全刪”鍵、“輸入”鍵、“+1Hz”鍵和“-1Hz”鍵,這樣就可以極大地方便用戶隨時修改頻率和微調頻率。讀入用戶輸入的頻率值時,采用了延時防抖抗干擾的軟件程序。掃描變量的初始值設置為0xFE,以低電平0依次變化實現(xiàn)掃描。本單片機鍵盤掃描的C代碼如下所示:
<BR> sccode=0xFE;/*every scan initiative value,11111110*/
<BR> while(sccode!=0xEF)/*sccode is not 11101111,follow;or return 0*/
<BR> {
<BR> PORTA=sccode;/*send scan code 11111110 to portA*/
<BR> PORTA=sccode;/*send scan code 11111110 to portA*/
<BR> if((PINA&0xF0)!=0xF0)/*read portA,if high 4 bits are not 1111,key pressed in this line*/
<BR> {
<BR> recode=(PINA&0xF0)|0x0F;/*portA high 4 bits reserved,low 4 bits are 1111*/
<BR> while((PINA&0xF0)!=0xF0)
<BR> {};
<BR> /*read portA,if portA high 4 bits are not 1111,key pressed,
<BR> if key pressed,we must wait,wait for key released*/
<BR> return((~sccode)+(~recode));/*return row+column*/
<BR> }
<BR> else
<BR> {
<BR> sccode=(sccode<<1)|0x01;
<BR> /*scan code left shift 1 bit, add 1 to right,11111101*/
<BR> }
<BR> }
<BR> 最終返回的掃描結果包括按鍵所在的行值和列值。判斷步驟是:先將端口A的高4比特記錄在掃描變量recode中,低4比特置為1111。再次讀入端口A的高4比特,由此判斷按鍵是否松開。用戶還未松開按鍵時,高4比特當中有低電平0存在,此時只能循環(huán)等待。只有當用戶松開按鍵之后,才將高4比特與低4比特進行按位反操作,并復合形成最終返回的掃描結果。如果沒有檢測到有按鍵按下,則將掃描變量sccode向左移位1比特,繼續(xù)進行下一次掃描。
<BR><STRONG><BR>3.2 液晶顯示模塊</STRONG> <BR>
用戶在多次進行輸入頻率以及“+1Hz”和“-1Hz”微調后,專注于觀察信號輸出對下一級電路的影響,往往忘了目前系統(tǒng)的輸出頻率。這樣導致在精確測試中要求微調時也不知該向高調整還是向低調整。為了告知用戶系統(tǒng)所處的當前頻率,我們擴展了液晶顯示模塊,實現(xiàn)了當前頻率在液晶顯示模塊上實時顯示。液晶顯示模塊占用了單片機Atmega16L的PD0-PD7作為數(shù)據(jù)接口,采用了單片機的PB0-PB4作為控制端口。圖3給出了液晶顯示模塊與控制器電路設計電路圖。
<BR> <BR>
PB0引腳選擇液晶顯示模塊的數(shù)據(jù)存儲器或指令存貯器,PB1引腳表明此次操作是讀液晶顯示模塊還是寫液晶顯示模塊,PB2則構成上升沿與下降沿完成讀寫時序。PB3負責選中液晶顯示模塊的左半部分,PB4負責選中右半部分,通常PB3與PB4都置為1。需要注意的是,在數(shù)據(jù)或指令準備好了之后,再讓PB2進行電平變化,否則讀寫會出錯。
<BR><BR>
本設計借助單片機Atmega16L的大容量程序存貯器,將英文字母和若干漢字的字型點陣作為數(shù)組存入單片機的程序存貯器中。需要顯示某字符時直接調用數(shù)組,從而簡化了設計,實現(xiàn)了英文、漢字以及圖形的顯示。本設計顯示界面友好,操作可控性強。
</P>
<P align=left><IMG
src="基于AVR單片機的高精度頻率調節(jié)器 - 21IC中國電子網(wǎng).files/060710133166223.jpg"
border=0></P>
<P align=left>圖3 液晶顯示模塊與控制器電路設計</P>
<P align=left><STRONG>4 結論</STRONG> <BR>
為了方便現(xiàn)代化工業(yè)生產(chǎn)與精確的頻率測試,我們設計了基于AVR單片機的高精度頻率調節(jié)器。在本設計中,可以使用小鍵盤上的“+1Hz”鍵和“-1Hz”鍵,方便地進行頻率精確到1Hz的調節(jié)。此頻率調節(jié)器體積小而功能強,由Atmel公司的AVR單片機Atmega16L作控制核心,用戶可隨時調整系統(tǒng)輸出頻率。采用了4×4鍵盤輸入用戶設定的頻率值,占位小而效率高,編制程序讓AVR單片機掃描即可得到頻率,省去了專用鍵盤接口芯片8279。液晶顯示模塊可實時顯示當前頻率,顯示界面友好,操作可控性強。本系統(tǒng)可以產(chǎn)生方波和正弦波。
<BR><BR>
本設計的硬件與軟件均已經(jīng)應用在某頻率測試生產(chǎn)線中。工業(yè)生產(chǎn)與測試使用表明,本設計簡化了頻率調節(jié)過程,用戶使用方便,具有節(jié)電、低成本、抗干擾能力強、頻率控制精度高速度快的特點。
<BR><BR>參考文獻
<BR>[1] Atmel Corporation. 8-bit AVR Microcontroller with 16K Bytes In-System Programmable Flash Atmega16L data sheet. Atmel Corporation, 2003: 3-18.
<BR>[2] Atmel Data Sheets. http://www.atmel.com/dyn/products/devices.asp?family_id=607%20
<BR>[3] Atmel Application Note. http://www.atmel.com/dyn/products/app_notes.asp?family_id=607
<BR><BR></P>
<P></P>
<P><BR> </P>
<SCRIPT event=onload for=window type=text/javascript>ImgLoad(document.getElementById("BodyLabel"));</SCRIPT>
</DIV><BR><BR>
<TABLE cellSpacing=0 cellPadding=0 width="97%">
<TBODY>
<TR>
<TD align=right>
<TABLE>
<TBODY>
<TR>
<TD>錄入:<SPAN id=MemberNameLabel>manan</SPAN>
<BR><BR></TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD align=right>【>>>>><A
href="http://bbs.21ic.com/club/bbs/bbsview.asp?remark=13697"
target=_blank><FONT color=red><B>察看網(wǎng)友評論 ,
或發(fā)表您對本文的看法</B></FONT></A>】【 <A href="javascript:doPrint()">打印</A> 】
</TD></TR></TBODY></TABLE>
<TABLE width="97%" align=center>
<TBODY>
<TR>
<TD>上一篇:<A
href="http://www.21ic.com/news/html/64/show13695.htm">在P87LPC764單片機I2C總線系統(tǒng)中擴展LCD顯示器</A><BR>下一篇:<A
href="http://www.21ic.com/news/html/64/show13719.htm">基于ARM核的ADμC7024在醫(yī)療電子中的應用</A>
</TD></TR></TBODY></TABLE></TD>
<TD class=mr></TD>
<TD vAlign=top width=122><IFRAME border=0 frameSpacing=0
src="基于AVR單片機的高精度頻率調節(jié)器 - 21IC中國電子網(wǎng).files/ad2006.htm" frameBorder=0
noResize width=120 scrolling=no
height=600></IFRAME></TD></TR></TBODY></TABLE></DIV></DIV>
<DIV class=mframe>
<TABLE cellSpacing=0 cellPadding=0 width="100%">
<TBODY>
<TR>
<TD class=tl></TD>
<TD class=tm><SPAN class=tt><A
href="http://www.21ic.com/news/search.aspx?Where=Nkey&Keyword=AD9850 AVR 單片機 Atmega16L 液晶顯示模塊">相關新聞</A></SPAN>
</TD>
<TD class=tr></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width="100%">
<TBODY>
<TR>
<TD class=ml></TD>
<TD class=mm></TD>
<TD class=mr></TD></TR></TBODY></TABLE></DIV>
<DIV class=mframe>
<TABLE cellSpacing=0 cellPadding=0 width="100%" align=center>
<TBODY>
<TR>
<TD class=ml></TD>
<TD class=mm></TD>
<TD class=mr></TD></TR></TBODY></TABLE></DIV>
<TABLE id=footer cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR style="LINE-HEIGHT: 130%" align=middle>
<TD height=60><BR>
<P align=center><IMG height=13
src="基于AVR單片機的高精度頻率調節(jié)器 - 21IC中國電子網(wǎng).files/p_gc.gif" width=12><A
href="http://www.21ic.com/news/show.aspx?id=1&cid=42"><FONT
color=#000000> 本站介紹</FONT></A>| <FONT color=#003333><IMG height=13
src="基于AVR單片機的高精度頻率調節(jié)器 - 21IC中國電子網(wǎng).files/p_gc.gif" width=12><A
href="http://www.21ic.com/news/show.aspx?id=2&cid=42"
target=_blank><FONT color=#000000> 合作聯(lián)絡</FONT></A></FONT><FONT
color=#000000>| </FONT><FONT color=#003333><IMG height=13
src="基于AVR單片機的高精度頻率調節(jié)器 - 21IC中國電子網(wǎng).files/p_gc.gif" width=12><A
href="http://www.21ic.com/news/show.aspx?id=3&cid=42"
target=_blank><FONT color=#000000> 歡迎投稿</FONT></A>| <IMG height=13
src="基于AVR單片機的高精度頻率調節(jié)器 - 21IC中國電子網(wǎng).files/p_gc.gif" width=12><A
href="http://www.21ic.com/news/show.aspx?id=4&cid=42"><FONT
color=#000000> 廣告業(yè)務</FONT></A></FONT><FONT color=#000000>| <IMG height=13
src="基于AVR單片機的高精度頻率調節(jié)器 - 21IC中國電子網(wǎng).files/p_gc.gif" width=12><A
href="http://www.21ic.com/news/sitemap.aspx">網(wǎng)站地圖</A><FONT
color=#000000>|</FONT> <FONT color=#000000><IMG height=13
src="基于AVR單片機的高精度頻率調節(jié)器 - 21IC中國電子網(wǎng).files/p_gc.gif" width=12></FONT><A
onclick="javascript:window.external.addFavorite('http://www.21ic.com','21IC 中國電子網(wǎng)')"
href="http://www.21ic.com/news/html/64/show13697.htm#">加入收藏</A><FONT
color=#000000>|</FONT> <FONT color=#000000><IMG height=13
src="基于AVR單片機的高精度頻率調節(jié)器 - 21IC中國電子網(wǎng).files/p_gc.gif" width=12></FONT><A
href="http://www.21ic.com/news/search.aspx">站內搜索</A><FONT
color=#000000>|</FONT> <FONT color=#000000><IMG height=13
src="基于AVR單片機的高精度頻率調節(jié)器 - 21IC中國電子網(wǎng).files/p_gc.gif" width=12></FONT><A
href="mailto:info@21ic.com">聯(lián)系我們</A>
<HR align=center width="80%" color=#0066ff SIZE=1>
<P></P>
<TABLE cellSpacing=0 cellPadding=0 width=600 align=center border=0>
<TBODY>
<TR>
<TD align=middle width="100%" colSpan=2><FONT
color=blue>ICP許可證號:</FONT><FONT color=red>[京 041110]</FONT><BR><A
href="http://www.21ic.com/news/show.aspx?id=2&cid=42"
target=_blank>總部:北京市海淀區(qū)中關村南大街2號數(shù)碼大廈A座32層3215室</A>
<BR>聯(lián)系電話:010-51626290 傳真: 010-51626279 <IMG
src="基于AVR單片機的高精度頻率調節(jié)器 - 21IC中國電子網(wǎng).files/email.gif"><A
href="mailto:info@21ic.com">info@21ic.com</A> <BR>Better
View:800*600 Best View:1024x768 為了本系統(tǒng)能夠更好的為您服務,請使用IE4.0或以上版本瀏覽器
<BR><BR>除特別聲明外的站內文章均為作者高論,并不代表21IC之觀點<BR>版權所有 謝絕轉載(C)21IC中國電子網(wǎng)
2000-2007</TD></TR></TBODY></TABLE>
<DIV class=menuskin id=popmenu
onmouseover="clearhidemenu();highlightmenu(event,'on')"
style="Z-INDEX: 100"
onmouseout="highlightmenu(event,'off');dynamichide(event)"></DIV>
<SCRIPT language=javascript1.2 type=text/javascript>
jsdone=true;
</SCRIPT>
</FONT></TD></TR></TBODY></TABLE></DIV></BODY></HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -