《單片機(jī)畢業(yè)設(shè)計.doc》由會員分享,可在線閱讀,更多相關(guān)《單片機(jī)畢業(yè)設(shè)計.doc(8頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 “簡易數(shù)字頻率計”是第三屆(1997 年) 全國
大學(xué)生電子設(shè)計競賽試題之一。我院學(xué)生就該試
題設(shè)計獲得山東賽區(qū)一等獎。原設(shè)計有許多不完
善之處,考慮到此題具有一定實用價值,特經(jīng)完善
后,整理成文。
1 設(shè)計要求
1. 1 基本要求
(1) 頻率測量:
a. 測量范圍:信號:方波、正弦波
幅度:0. 5V~5V
頻率:1Hz~10MHz
b. 測試誤差≤0. 1 %
(2) 周期測量:
a. 測量范圍:信號:方波、正弦波
幅度:0. 5V~5V
頻率:1Hz~10MHz
b. 測試誤差≤0. 1 %
(3) 脈沖寬度測量:
a. 測量范圍:信號:脈沖波
2、
幅度:0. 5V~5V
頻率:1Hz~10MHz
b. 測試誤差≤0. 1 %
(4) 顯示:十進(jìn)制數(shù)字顯示,顯示刷新時間1
~10 秒連續(xù)可調(diào),對上述三種測量功能分別用不
同顏色的發(fā)光二極管指示。
(5) 具有自校功能,時標(biāo)信號頻率為10MHz。
(6) 自行設(shè)計并制作滿足本設(shè)計任務(wù)要求的
穩(wěn)壓電源。
1. 2 發(fā)揮部分:
(1) 擴(kuò)展頻率測量范圍為0. 1Hz~10MHz (信
號幅度0. 5V~5V) ,測試誤差降低為0. 01 %(最
大閘門時間≤10s) 。
(2) 測量并顯示周期脈沖信號(幅度0. 5V~
5V、頻率1Hz~1kHz) 的占空比
3、,占空比變化范圍
為10 %~90 % ,測試誤差≤0. 1 %。
(3) 在1Hz~1MHz 范圍內(nèi)及測試誤差≤0.
1 %的條件下,進(jìn)行小信號的頻率測量,提出并實
現(xiàn)抗干擾的措施。
2 設(shè)計方案選擇:
方案一:選用頻率計專用模塊。該方案在技
術(shù)上是可行的,但競賽規(guī)則規(guī)定不能采用頻率計
專用模塊。即使允許使用,對于設(shè)計要求中的某
些指標(biāo),采用專用模塊來完成也是困難的。
方案二: 采用邏輯芯片和可編程器件實現(xiàn)。
該方案也是可行的。該方案的優(yōu)點是:僅使用硬
件電路實現(xiàn),調(diào)試工作量相對較小。缺點是,某些
功能實現(xiàn)困難,不易修改。
圖1 N 周期測量原理
方
4、案三:用單片機(jī)實現(xiàn)。目前單片機(jī)種類很
多,單片機(jī)功能越來越強(qiáng)。根據(jù)設(shè)計要求,選用
MCS - 51 系統(tǒng)單片機(jī)中的AT89C52 ,該芯片內(nèi)
含3 個16 位定時/ 計數(shù)器,能最大限度地簡化頻
率計外圍硬件。AT89C52 還含一個全功能串行
口、8K 程序存儲器等,因此該方案具有硬件構(gòu)成
簡單,功能靈活,易于修改等優(yōu)點。
綜合上述三種方案,本設(shè)計選用方案三。
3 測量原理與分析計算
3. 1 頻率、周期測量
由于頻率和周期之間存在倒數(shù)關(guān)系( f = 1/
T) ,所以只要測得兩者中的一個,另一個可通過
計算求得。
3. 1. 1 測量方法
本設(shè)計采用直接測周
5、期法,而頻率則通過計
算得出。但是,單片機(jī)內(nèi)部計數(shù)器一個計數(shù)值為
1μs ,在f 很高時僅測量一個周期,無法保證測量
精度。為此,本設(shè)計采用在閘門時間內(nèi),最大限度
地測量多個信號的周期,從而保證信號頻率、周期
測量的精度。測量原理如圖1 所示。
3. 1. 2 測量方法實現(xiàn)
為實現(xiàn)上述測量方法,需要啟動AT89C52 中
的3 個定時/ 計數(shù)器。其中T0 設(shè)置成16 位定時
方式,用于產(chǎn)生閘門時間; T2 設(shè)置成16 位定時方
式,用于記錄NTx 值; T1 設(shè)置成16 位計數(shù)方式,
用于記錄閘門時間內(nèi)波形個數(shù)N。為了提高精
度,T0~ T2 通過軟件中斷方式分別擴(kuò)展
6、一字節(jié)
內(nèi)部RAM ,與16 位定時/ 計數(shù)器一起構(gòu)成24 位
定時/ 計數(shù)器。
AT89C52 單片機(jī)內(nèi)部定時/ 計數(shù)器的響應(yīng)頻
率低于10MHz ,當(dāng)信號輸入為高頻時,需先進(jìn)行
分頻。根據(jù)實驗,當(dāng)AT89C52 單片機(jī)晶振頻率等
于12MHz ,輸入信號頻率≤500kHz 時,內(nèi)部定時
/ 計數(shù)器能夠進(jìn)行可靠計數(shù)。當(dāng)信號頻率f 為
500kHz ≤ f ≤10MHz 時, 需進(jìn)行分頻, 兼顧
500kHz 與10MHz ,取分頻數(shù)為128 。
因此,當(dāng)輸入信號為低頻( ≤500kHz) 時,不
進(jìn)行分頻;當(dāng)輸入信號為高頻( ≥500kHz) 時,進(jìn)
行128 分頻。
7、
3. 1. 3 信號周期計算
設(shè)T1 計數(shù)值N 為X1 , T2 計數(shù)值N T 為X2 ,
則信號周期為:
低頻段(不分頻) T = X2/ X1 μs (1)
高頻段(128 分頻) T = X2/ (128 3 X1) μs
(2)
3. 1. 4 信號頻率計算
X1 , X2 含義同上,則信號周期f 為
低頻段: f = ( X1/ X2) 106 Hz (3)
高頻段: f = (128 3 X1/ X2) 3 106 Hz (4)
3. 1. 5 測量理論誤差
設(shè)閘門時間為1s ,低頻段、高頻段分別取2
個典型點進(jìn)行分析。
低頻段( ≤
8、500kHz) :
(1) f = 1. 999Hz 時,閘門時間內(nèi)僅能測量1
個波形的周期,若計數(shù)誤差為1μs ,即0. 000001s ,
理論誤差為:
〔0. 000001/ (1/ 1. 999) 〕3 100 % = 0. 0002 %
(2) f = 499. 9999kHz 時,閘門時間內(nèi)能測
量499999 個波形的周期,若計數(shù)誤差為1μs ,則
理論誤差為:
〔(0. 000001/ (499999/ 499999. 9) 〕3 100 %
= 0. 0001 %
高頻段( ≥500kHz) :
( 1 ) 128 分頻后f = 3906. 99Hz (
9、 分頻前
500094. 72Hz) ,閘門時間內(nèi)能測量3906 個波形
的周期,若計數(shù)誤差1 ,即1μs ,則理論誤差為:
( 0. 000001/ ( 3906/ 3906. 99 ) ) 3 100 % =
0. 0001 %
( 2 ) 128 分頻后f = 7811. 99Hz ( 分頻前
999934. 72Hz) ,閘門時間內(nèi)能測量7811 個波形
的周期,若計數(shù)誤差1 ,即1μs ,則理論誤差為:
(0. 000001/ ( 78811/ 7811. 99 ) ) 3 100 % =
0. 0001 %
可見周期測量理論誤差最大為0. 0002 %。
3.
10、 1. 6 計算誤差
當(dāng)采用三字節(jié)浮點數(shù)計算時,有效數(shù)字為兩
個字節(jié),計算誤差為:
(1/ 65536) 3 100 % = 0. 0015 %
除理論誤差、計算誤差外,還有基準(zhǔn)頻率誤差
等。
3. 2 脈沖寬度及占空比測量(低頻段)
3. 2. 1 測量方法:
T1 采用定時工作方式,當(dāng)信號正跳變時啟動
定時器T1 ,當(dāng)信號負(fù)跳變時存儲T1 計數(shù)值X3
(高電平寬度) ,并清0 ,信號再次正跳變時存儲計
數(shù)值X4 (低電平寬度。)
為了增加計算位數(shù)除定時器T1 自身16 位
外,擴(kuò)展1 字節(jié)內(nèi)存與T1 共同形成一個24 位計
數(shù)器(定時器
11、) 。
3. 2. 2 (高電平) 脈沖寬度計算
W = X3 μs (5)
3. 2. 3 占空比計算
P =〔X3/ ( X3 + X4) 〕3 100 % (6)
4 簡易數(shù)字頻率計的硬件設(shè)計
簡易數(shù)字頻率計的硬件電路如圖1 所示,該
電路可分為: (1) 前置整形電路, (2) 分頻電路, (3)
基準(zhǔn)信號源, (4) 單片機(jī)電路: 單片機(jī)、數(shù)據(jù)選擇
器、鍵盤、狀態(tài)指示, (5) 數(shù)字顯示電路, (6) 穩(wěn)壓直
流電源等。
4. 1 前置整形電路
根據(jù)設(shè)計要求,信號頻率最大值為10MHz ,
考慮到器件性能與價格等因素,選擇高速低功耗
比較器MAX
12、913 構(gòu)成整形電路,MAX913 的響應(yīng)
時間為10ns ,最高時鐘頻率為70MHz ; 在DC
5V 供電時,輸入電壓范圍為- 5. 2V~ + 3. 5V. 為
克服振鈴現(xiàn)象,整形電路在MAX913 正向輸入端
引入弱正反饋,使其產(chǎn)生一個遲滯回差。
當(dāng)輸入信號幅度較大時,信號經(jīng)電阻衰減后
再加到MAX913 。
4. 2 分頻電路
分頻電路由2 片74HC161 構(gòu)成。根據(jù)3. 1
的分析,只要對高頻信號( > 500kHz) 進(jìn)行128 分
頻,即可滿足精度要求,也能滿足AT89C52 計數(shù)
器的要求。因此分頻信號由第二片74HC161 的
Q2 輸出。分頻
13、電路如圖1 —(2) 所示。
4. 3 基準(zhǔn)信號源
根據(jù)設(shè)計要求,1MHz 信號基準(zhǔn)源由74HC04
以及1MHz 晶振構(gòu)成。電路如圖1 —(3) 。
4. 4 單片機(jī)電路
單片機(jī)選用AT89C52 ,其內(nèi)部含3 個16 位
定時/ 計數(shù)器,8K程序存儲器,其它內(nèi)部結(jié)構(gòu)及指
令系統(tǒng)與單片機(jī)8031 相同。為便于計算,選用
12MHz 晶振,這時內(nèi)部定時器一個計數(shù)值為1μs。
信號在低頻段( ≤500kHz) 直接輸入,在高頻
段( > 500kHz) 時經(jīng)128 分頻后輸入到單片機(jī),另
外還要根據(jù)1MHz 時基準(zhǔn)信號進(jìn)行校正。三路信
號通過74HC151 進(jìn)行控制選
14、擇??刂菩盘枮?
P1. 2 和P1. 3 。
4 只L ED 發(fā)光二極管由P1. 3~ P1. 6 控制,
分別指示測頻率、測周期、測脈沖寬度和測占空比
四個狀態(tài)。
5 個按鍵由P3. 2 、P3. 3 、P3. 4 、P3. 6 、P3. 7 讀
入,分別控制測頻率、測周期、測脈沖寬度、占空比
和校正5 項功能。
4. 5 數(shù)字顯示電路
顯示共用8 只共陽極L ED 數(shù)碼管顯示器,由
AT89C52 串行口擴(kuò)展8 片74HC164 驅(qū)動。電路
如圖2 所示。
4. 6 穩(wěn)壓直流電源
穩(wěn)壓電源采用雙9V 變壓器分別經(jīng)整流濾波
和穩(wěn)壓后產(chǎn)生+ 5V 直流電源。+ 5V 輸出要求≥
500mA , - 5V 輸出要求達(dá)到≥500mA(電路略) 。
5 軟件設(shè)計
根據(jù)設(shè)計的硬件和測量方法,編寫并調(diào)試了
全部軟件程序。限于篇幅,下面僅給出部分程序
框圖。