版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 微機(jī)原理課程設(shè)計</b></p><p><b> 頻率計</b></p><p> 學(xué) 院: 電 氣 工 程 學(xué) 院 </p><p> 班 級: 電氣0909班 </p><p> 姓 名
2、: </p><p> 學(xué) 號: </p><p> 指導(dǎo)教師: 老師 </p><p> 2011年12月10日</p><p><b> 一.實驗內(nèi)容 </b
3、></p><p> 用89C52單片機(jī)實現(xiàn)頻率計</p><p><b> 二.實驗器材</b></p><p> 89C52一片, 74HC573一片,74HC245兩片,74LS74一片,555芯片一片,300Ω電阻兩個,導(dǎo)線若干。</p><p><b> 三.實驗要求 </b>
4、;</p><p> 信號的頻率變化在50Hz~50KHz范圍,能夠較精確測量,在數(shù)碼管顯示五位數(shù)字。</p><p> 拓展要求:能夠測量大于65536Hz以上的頻率。 </p><p><b> 四.實驗內(nèi)容</b></p><p><b> 1、硬件電路</b></p>
5、<p> 555構(gòu)成多諧振蕩器,產(chǎn)生頻率可調(diào)的方波信號;74LS74里的一個D觸發(fā)器連成計數(shù)器,用來對555產(chǎn)生的方波分頻;74HC14非門做驅(qū)動,防止產(chǎn)生的信號不能驅(qū)動單片機(jī)的I/O口;方波信號連接在單片機(jī)的INT0和T0外部計數(shù)口上。單片機(jī)的P1口做字位,連接74HC245驅(qū)動數(shù)碼管的共陽端;P2口做字型,連接74HC573鎖存器和74HC245驅(qū)動數(shù)碼管的a~g端。</p><p><b&
6、gt; 2、思路設(shè)計</b></p><p><b> 頻率計原理</b></p><p> 頻率的測量實際上就是在1s時間內(nèi)對信號進(jìn)行計數(shù),計數(shù)值就是信號頻率。用單片機(jī)設(shè)計頻率計通常采用兩種辦法,第一種方法是使用單片機(jī)自帶的計數(shù)器對輸入脈沖進(jìn)行計數(shù);第二種方法是單片機(jī)外部使用計數(shù)器對脈沖信號進(jìn)行計數(shù),計數(shù)值再由單片機(jī)讀取。第一種方法的好處是設(shè)計出的
7、頻率計系統(tǒng)結(jié)構(gòu)和程序編寫簡單,成本低廉,不需要外部計數(shù)器,直接利用所給的單片機(jī)最小系統(tǒng)就可以實現(xiàn)。這種方法的缺陷是受限于單片機(jī)計數(shù)的晶振頻率,輸入的時鐘頻率通常是單片機(jī)晶振頻率的幾分之一甚至是幾十分之一,在本次設(shè)計使用的98C51單片機(jī),由于檢測一個由“1”到“0”的跳變需要兩個機(jī)器周期,前一個機(jī)器周期測出“1”,后一個周期測出“0”。故輸入時鐘信號的最高頻率不得超過單片機(jī)晶振頻率的二十四分之一。第二種方法的好處是輸入的時鐘信號頻率可以
8、不受單片機(jī)晶振頻率的限制,可以對相對較高頻率進(jìn)行測量,但缺點是成本比第一種方法高,設(shè)計出來的系統(tǒng)結(jié)構(gòu)和程序也比較復(fù)雜。由于成本有限,本次設(shè)計中采用第一種方法,因此輸入的時鐘信號最高頻率不得高于11.0592MHz/24=460.8KHz。對外部脈沖的占空比無特殊要求。</p><p> 根據(jù)頻率檢測的原理,很容易想到利用51單片機(jī)的T0、T1兩個定時/計數(shù)器,一個用來定時,另一個用來計數(shù),兩者均應(yīng)該工作在中斷方
9、式,一個中斷用于1s時間的中斷處理,一個中斷用于對頻率脈沖的計數(shù)溢出處理,(對另一個計數(shù)單元加一),此方法可以彌補計數(shù)器最多只能計數(shù)65536的不足。</p><p><b> 程序設(shè)計原理</b></p><p> 定時器T1作為定時器、定時器T0作為計數(shù)器。T1定時50ms,循環(huán)20次,實現(xiàn)定時1s,在1s用定時器T0計數(shù),即計得脈沖的次數(shù)。由于T0計數(shù)到65
10、536溢出,開T0中斷,將溢出次數(shù)存入R4。將溢出次數(shù)與T0計數(shù)值(TH0,TL0)綜合處理數(shù)據(jù),經(jīng)BCD轉(zhuǎn)換,得到6位數(shù)碼管顯示的頻率。設(shè)計框圖如圖1所示,T1定時流程如圖2。</p><p> 計數(shù)器T0采用計數(shù)功能,需要注意的一個問題是,輸入的待測時鐘信號的頻率最高可以達(dá)到460800Hz,但計數(shù)器最多只能計數(shù)65536次,顯然需要對計數(shù)單元進(jìn)行擴(kuò)展,擴(kuò)展的思路是除了計數(shù)器T0的TH0和TL0用于計數(shù)外,
11、再選用一個計數(shù)單元23H,每當(dāng)計數(shù)器T1溢出回零時產(chǎn)生中斷,中斷程序執(zhí)行23H單元自增1,這樣,當(dāng)一秒到時時采集的計數(shù)數(shù)據(jù),23H單元存放的是數(shù)據(jù)的最高位,TH1存放的是數(shù)據(jù)的次高位,TL1存放的是數(shù)據(jù)的最低位。當(dāng)然,這里所說的“最高位”“次高位”以及“最低位”都是針對十六進(jìn)制而言的。T0計數(shù)程序的流程圖如圖3所示。</p><p><b> 進(jìn)制轉(zhuǎn)換</b></p><
12、;p> 從計數(shù)器采集到的頻率數(shù)據(jù)是十六進(jìn)制的,如果直接把這些數(shù)據(jù)送給數(shù)碼管顯示顯然很不直觀,因此需要把這些數(shù)據(jù)向十進(jìn)制轉(zhuǎn)換。轉(zhuǎn)換的算法有兩種,第一種算法的思想是對該十六進(jìn)制數(shù)除以100,商為百位,余數(shù)再除以10,再得到的商為十位,余數(shù)為個位。這種算法雖然程序的編寫非常簡單,但是它的局限性也非常明顯,即它只能對不大于兩位的十六進(jìn)制數(shù)進(jìn)行轉(zhuǎn)換,對于大于兩位的十進(jìn)制數(shù)則無能為力。這次設(shè)計的頻率計頻率范圍遠(yuǎn)不止兩位十六進(jìn)制數(shù)就能記得下,
13、所以這里采用第二種方法。</p><p> 第二種方法算法的編程實現(xiàn)非常復(fù)雜,但是可以對任意長度的十六進(jìn)制數(shù)向十進(jìn)制轉(zhuǎn)換。這種算法的基本思路是:第一步將最高位的高半字節(jié)提出來,除以10,把商存儲起來,余數(shù)與最高位的低半字節(jié)組合成一個字節(jié),再除以10,再存儲商,余數(shù)以此類推,直到最后一次計算得到的余數(shù)即為十進(jìn)制數(shù)的個位;第二步把第一步存儲的商組合成一個字節(jié),依次除以10,仍然把每次得到的商存儲起來,以此類推最后一
14、次得到的余數(shù)即為十進(jìn)制數(shù)的十位;以后也是以此類推得到十進(jìn)制數(shù)的百位、千位……以上算法必須要注意的一個為題是,每次得到的余數(shù)與低位的半字節(jié)組合成一個字節(jié)時,余數(shù)必須放在該字節(jié)的高半字節(jié),否則計算錯誤。該本次頻率計系待測的時鐘信號的最高頻率為67584Hz,對應(yīng)的十六進(jìn)制數(shù)為10800H,這里就以10800H轉(zhuǎn)換為十進(jìn)制數(shù)為例來說明這種算法。</p><p> 第一步:用1H除以10,商0H余1H,把商0存儲在24
15、H單元,余數(shù)1H與下一個字節(jié)08H的高半字節(jié)0H組合成一個字節(jié)10H。10H除以10,商1H余0H,把商1H存儲在25H單元,余數(shù)0H與8H組合成一個字節(jié)08H。08H除以10,商0H余4H,把商0H存儲在26H單元,余數(shù)4H與0H組合成一個字節(jié)40H。40H除以10,商4H余0H,把商4H存儲在27H單元,余數(shù)0H與0H組合成一個字節(jié)00H。00H除以10,商0H余0H,把商0H存儲在28H單元,余數(shù)4即為所需十進(jìn)制數(shù)的個位。<
16、/p><p> 第二步:把存儲在24H與25H單元的商組合成一個字節(jié)0BH。0BH除以10,同第一步,存儲商,余數(shù)與下一個商組合成一個字節(jié),再除以10,一次類推得到十進(jìn)制數(shù)的十位8。</p><p> 第三步:方法同第二步,得到十進(jìn)制數(shù)的百位5。</p><p> 第四步:方法同第三步,得到十進(jìn)制數(shù)的千位7。</p><p> 第五步:方
17、法同第四步,得到十進(jìn)制數(shù)的萬位6</p><p> 最后得到了十進(jìn)制數(shù)60800。圖4詳細(xì)的展示了這種進(jìn)制轉(zhuǎn)換算法的過程。</p><p><b> 源程序:</b></p><p><b> ORG 0000H</b></p><p><b> LJMP MAIN</b&g
18、t;</p><p><b> ORG 000BH</b></p><p><b> LJMP T_0</b></p><p><b> ORG 001BH</b></p><p><b> LJMP T_1</b></p><
19、p><b> ORG 0100H</b></p><p><b> MAIN:</b></p><p> MOV SP,#70H</p><p> MOV R5,#20</p><p> MOV 23H,#0H</p><p> MOV TMOD,#0001
20、0101B</p><p> MOV TH0,#0H</p><p> MOV TL0,#0H</p><p> MOV TH1,#03CH</p><p> MOV TL1,#0B0H</p><p><b> SETB PT1</b></p><p><
21、b> CLR PT0</b></p><p><b> SETB ET0</b></p><p><b> SETB ET1</b></p><p><b> SETB EA</b></p><p> MOV TCON,#01010000B</
22、p><p> LCALL DISP</p><p><b> T_0:</b></p><p><b> INC 23H</b></p><p><b> RETI</b></p><p><b> T_1:</b></
23、p><p> DJNZ R5,BACK</p><p> MOV TCON,#0H</p><p><b> CLR EA</b></p><p> LCALL CHAI</p><p> LCALL TRANS</p><p> MOV TH1,#03CH<
24、/p><p> MOV TL1,#0B0H</p><p> MOV TH0,#0H</p><p> MOV TL0,#0H</p><p> MOV 23H,#0H</p><p> MOV R5,#20</p><p><b> SETB EA</b><
25、/p><p> MOV TCON,#01010000B</p><p><b> RETI</b></p><p><b> BACK:</b></p><p> MOV TH1,#03CH</p><p> MOV TL1,#0B0H</p><p
26、><b> RETI</b></p><p><b> CHAI:</b></p><p><b> MOV A,TH0</b></p><p> ANL A,#11110000B</p><p><b> RR A</b></p&g
27、t;<p><b> RR A</b></p><p><b> RR A</b></p><p><b> RR A</b></p><p><b> MOV 40H,A</b></p><p><b> MOV A,T
28、L0</b></p><p> ANL A,#11110000B</p><p><b> RR A</b></p><p><b> RR A</b></p><p><b> RR A</b></p><p><b>
29、 RR A</b></p><p><b> MOV 42H,A</b></p><p><b> MOV A,TH0</b></p><p> ANL A,#00001111B</p><p><b> MOV 41H,A</b></p>&
30、lt;p><b> MOV A,TL0</b></p><p> ANL A,#00001111B</p><p><b> MOV 43H,A</b></p><p><b> RET</b></p><p><b> TRANS:</b>
31、;</p><p><b> MOV A,23H</b></p><p> MOV B,#0AH</p><p><b> DIV AB</b></p><p> MOV 24H,A </p><p><b> MOV A,B</b></
32、p><p> MOV 30H,TH0</p><p> ANL 30H,#0F0H</p><p><b> ADD A,30H</b></p><p><b> SWAP A</b></p><p> MOV B,#0AH</p><p>&l
33、t;b> DIV AB</b></p><p> MOV 25H,A </p><p><b> MOV A,B</b></p><p><b> SWAP A</b></p><p> ANL TH0,#0FH</p><p><b>
34、 ADD A,TH0</b></p><p> MOV B,#0AH</p><p><b> DIV AB</b></p><p> MOV 26H,A </p><p><b> MOV A,B</b></p><p> MOV 30H,TL0&l
35、t;/p><p> ANL 30H,#0F0H</p><p><b> ADD A,30H</b></p><p><b> SWAP A</b></p><p> MOV B,#0AH</p><p><b> DIV AB</b></p
36、><p> MOV 27H,A </p><p><b> MOV A,B</b></p><p><b> SWAP A</b></p><p> ANL TL0,#0FH</p><p><b> ADD A,TL0</b></p>
37、<p> MOV B,#0AH</p><p><b> DIV AB</b></p><p> MOV 28H,A </p><p> MOV 55H,B </p><p><b> MOV A,24H</b></p><p><b>
38、SWAP A</b></p><p><b> ADD A,25H</b></p><p> MOV B,#0AH</p><p><b> DIV AB</b></p><p> MOV 24H,A </p><p><b> MOV A,B
39、</b></p><p><b> SWAP A</b></p><p><b> ADD A,26H</b></p><p> MOV B,#0AH</p><p><b> DIV AB</b></p><p> MOV 25H
40、,A </p><p><b> MOV A,B</b></p><p><b> SWAP A</b></p><p><b> ADD A,27H</b></p><p> MOV B,#0AH</p><p><b> DIV
41、AB</b></p><p> MOV 26H,A </p><p><b> MOV A,B</b></p><p><b> SWAP A</b></p><p><b> ADD A,28H</b></p><p> MOV
42、B,#0AH</p><p><b> DIV AB</b></p><p> MOV 27H,A </p><p> MOV 54H,B </p><p><b> MOV A,24H</b></p><p><b> SWAP A</b>&
43、lt;/p><p><b> ADD A,25H</b></p><p> MOV B,#0AH</p><p><b> DIV AB</b></p><p> MOV 24H,A </p><p><b> MOV A,B</b></p&
44、gt;<p><b> SWAP A</b></p><p><b> ADD A,26H</b></p><p> MOV B,#0AH</p><p><b> DIV AB</b></p><p> MOV 25H,A </p>&l
45、t;p><b> MOV A,B</b></p><p><b> SWAP A</b></p><p><b> ADD A,27H</b></p><p> MOV B,#0AH</p><p><b> DIV AB</b></
46、p><p> MOV 26H,A </p><p><b> MOV 53H,B</b></p><p><b> MOV A,24H</b></p><p><b> SWAP A</b></p><p><b> ADD A,25H&
47、lt;/b></p><p> MOV B,#0AH</p><p><b> DIV AB</b></p><p> MOV 24H,A </p><p><b> MOV A,B</b></p><p><b> SWAP A</b>
48、</p><p><b> ADD A,26H</b></p><p> MOV B,#0AH</p><p><b> DIV AB</b></p><p> MOV 25H,A </p><p> MOV 52H,B </p><p>&
49、lt;b> MOV A,24H</b></p><p><b> SWAP A</b></p><p><b> ADD A,25H</b></p><p> MOV B,#0AH</p><p><b> DIV AB</b></p>
50、<p> MOV 51H,B </p><p><b> MOV 50H,A</b></p><p><b> RET</b></p><p><b> DISP:</b></p><p> MOV 35H,#111011111B</p>&
51、lt;p> MOV P0,35H</p><p> MOV R0,#50H</p><p><b> MOV A,@R0</b></p><p> ADD A,#1CH</p><p> MOVC A,@A+PC</p><p><b> MOV P2,A</b&
52、gt;</p><p> ACALL DELAY1</p><p><b> JUDGE:</b></p><p> CJNE R0,#55H,NEXT</p><p><b> SJMP DISP</b></p><p><b> NEXT:</b
53、></p><p><b> MOV A,35H</b></p><p><b> RR A</b></p><p><b> MOV 35H,A</b></p><p> MOV P0,35H</p><p><b> INC
54、 R0</b></p><p><b> MOV A,@R0</b></p><p><b> ADD A,#6</b></p><p> MOVC A,@A+PC</p><p><b> MOV P2,A</b></p><p>
55、 ACALL DELAY1</p><p> SJMP JUDGE</p><p> DTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H</p><p><b> DELAY1:</b></p><p> MOV R7,
56、#01H</p><p><b> DELAY2:</b></p><p> MOV R6,#0FFH</p><p><b> GO:</b></p><p> DJNZ R6,GO</p><p> DJNZ R7,DELAY2</p><p
57、><b> RET</b></p><p><b> 五、課設(shè)步驟</b></p><p> 1、課設(shè)初期,確定分工,前期由主要負(fù)責(zé)硬件電路部分的學(xué)習(xí),Proteus的仿真,主要是軟件實現(xiàn);后期調(diào)試時兩人配合。</p><p> 2、結(jié)合老師的講解及查閱相關(guān)資料,理解測頻、測周原理,并開始編程;根據(jù)發(fā)的電路板
58、在proteus上畫出實際原理圖;</p><p> 3、在WAVE上調(diào)試程序,并把生成的HEX文件寫入proteus單片機(jī)中,仿真效果;</p><p> 4、根據(jù)軟件顯示現(xiàn)象,分析問題所在,或畫圖出錯,或程序有誤,最后經(jīng)調(diào)試成功;</p><p> 5、將程序燒入AT89S52單片機(jī)芯片中,然后將芯片插到電路板上,接上電源線和地線,驗證顯示結(jié)果是否與仿真結(jié)
59、果相同,如不同,分析問題,重新調(diào)試直到顯示正確頻率。</p><p> 六、遇到的問題及解決</p><p> 1、電路設(shè)計方向不明確</p><p> 在電路設(shè)計過程中,不明確整個系統(tǒng)的結(jié)構(gòu)及原理,通過網(wǎng)上查找大量資料,理解了頻率計的工作原理及典型頻率測量方法,確定了各個部分實現(xiàn)的原件及使用方法,最終設(shè)計了預(yù)習(xí)電路。</p><p>
60、 2、實驗板連線不清楚</p><p> 在提交完預(yù)習(xí)報告后,老師給每組發(fā)了一塊已經(jīng)設(shè)計好的電路板,需要我們自己將整塊電路板的每個原件、每條連線都繪制出來。只通過板子上面明顯的兩線并不能準(zhǔn)確確定連線,我選擇通過短路法確定連線,先通過單片機(jī)的20腳和40腳確定接地端和電源端,通過萬用表的蜂鳴檔測各端點是否連接。</p><p> 3、實驗板調(diào)試不正常顯示</p><
61、p> 在向單片機(jī)中燒錄程序后實驗板無法正確顯示,開始以為是程序的問題,在反復(fù)理解程序并確認(rèn)無誤后,又仔細(xì)檢查了一下實驗板,將數(shù)碼管和單片機(jī)使勁按下,確認(rèn)管腳連接緊實,后發(fā)現(xiàn)數(shù)碼管顯示不正常可能是實驗板連線有問題,后借了其他同學(xué)的板子進(jìn)行調(diào)試發(fā)現(xiàn)程序跟仿真效果一致,基本能滿足要求。</p><p> 4、 無法實現(xiàn)由16進(jìn)制轉(zhuǎn)換成10進(jìn)制數(shù)并顯示在6位數(shù)碼管上</p><p>
62、在編程初期,因為無法解決這個問題使得進(jìn)度停滯不前,后來多方查閱資料,借鑒程序,套用了轉(zhuǎn)換方法,最終才解決了這個問題。</p><p><b> 5、數(shù)碼管顯示亂碼</b></p><p> 經(jīng)檢查,是字形表有錯。對照電路板的接線,重新計算字形表。將修改后的程序通過偉福生成HEX文件,燒錄到單片機(jī)ROM內(nèi)。再接好單片機(jī),通入5V電壓,數(shù)碼管顯示正確。</p&g
63、t;<p><b> 七、心得體會</b></p><p><b> 八、參考文獻(xiàn)</b></p><p> [1] 陸彬.單21天學(xué)通51單片機(jī)開發(fā)(第2版).北京:電子工業(yè)出版社,2011</p><p> [2] 楊立等. 微型計算機(jī)原理與接口技術(shù)學(xué)習(xí)指導(dǎo)(第3版).北京:中國鐵道出版社,201
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 頻率計課程設(shè)計
- 頻率計課程設(shè)計
- eda課程設(shè)計--頻率計
- 簡易頻率計課程設(shè)計
- 頻率計課程設(shè)計 (2)
- 智能儀器頻率計課程設(shè)計
- eda頻率計課程設(shè)計報告
- 簡單頻率計課程設(shè)計報告
- eda課程設(shè)計報告---頻率計
- 基于arm頻率計課程設(shè)計
- 智能儀器課程設(shè)計——頻率計設(shè)計
- eda課程設(shè)計--簡易頻率計設(shè)計
- 單片機(jī)頻率計課程設(shè)計
- 課程設(shè)計——數(shù)字頻率計
- 數(shù)字頻率計課程設(shè)計
- 簡易頻率計畢業(yè)課程設(shè)計報告
- 數(shù)電課程設(shè)計報告頻率計
- 數(shù)字頻率計課程設(shè)計
- 頻率計課程設(shè)計實驗報告
- 數(shù)字頻率計課程設(shè)計
評論
0/150
提交評論