freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的4位數(shù)字頻率計(jì)設(shè)計(jì)論文含程序-資料下載頁(yè)

2025-01-18 14:24本頁(yè)面
  

【正文】 工作寄存器、中斷控制和定時(shí)/ 計(jì)數(shù)器的工作方式。定時(shí)/ 計(jì)數(shù)器的工作首先被設(shè)置為計(jì)數(shù)器方式,即用來(lái)測(cè)量信號(hào)頻率。在對(duì)定時(shí)/ 計(jì)數(shù)器的計(jì)數(shù)寄存器清0 后,置運(yùn)行控制位TR 為1 ,啟動(dòng)對(duì)待測(cè)信號(hào)的計(jì)數(shù)。計(jì)數(shù)閘門由軟件延時(shí)程序?qū)崿F(xiàn),從計(jì)數(shù)閘門的最小值開始,也就是從測(cè)量頻率的高量程開始。計(jì)數(shù)閘門結(jié)束時(shí)TR 清0 ,停止計(jì)數(shù)。計(jì)數(shù)寄存器中的值通過16 進(jìn)制數(shù)到10 進(jìn)制數(shù)轉(zhuǎn)換程序轉(zhuǎn)換為10 進(jìn)制數(shù)。對(duì)10 進(jìn)制數(shù)的最高位進(jìn)行判別,若該位不為0 ,滿足測(cè)量數(shù)據(jù)有效位數(shù)的要求,測(cè)量值和量程信息一起送到顯示模塊。若該位為0 ,將計(jì)數(shù)閘門的寬度擴(kuò)大10 倍,重新對(duì)待測(cè)信號(hào)的計(jì)數(shù),直到滿足測(cè)量數(shù)據(jù)有效位數(shù)的要求。當(dāng)上述測(cè)量判斷過程直到計(jì)數(shù)閘門寬度達(dá)到1s ,這時(shí)對(duì)應(yīng)的頻率測(cè)量范圍為100Hz 999Hz ,如果測(cè)量結(jié)果仍不具有3 位有效數(shù)字,頻率計(jì)則使用定時(shí)方法測(cè)量待測(cè)信號(hào)的周期。定時(shí)/ 計(jì)數(shù)器的工作這時(shí)被設(shè)置為定時(shí)器方式,在對(duì)定時(shí)/ 計(jì)數(shù)器的計(jì)數(shù)寄存器清0 后,判斷待測(cè)信號(hào)的上跳沿是否到來(lái)。待測(cè)信號(hào)的上跳沿到來(lái)后,置運(yùn)行控制位TR 為1 ,以單片機(jī)工作周期為單位,啟動(dòng)對(duì)待測(cè)信號(hào)的周期測(cè)量。然后判斷待測(cè)信號(hào)的下跳沿是否到來(lái),待測(cè)信號(hào)的下跳沿到來(lái)后,運(yùn)行控制位TR 清0 ,停止計(jì)數(shù)。16 位定時(shí)/ 計(jì)數(shù)器的最高計(jì)數(shù)值為65535 ,這樣在待測(cè)信號(hào)的頻率較低時(shí),定時(shí)/ 計(jì)數(shù)器將發(fā)生溢出。當(dāng)產(chǎn)生定時(shí)/ 計(jì)數(shù)器將溢出,程序進(jìn)入定時(shí)器中斷服務(wù)程序,中斷服務(wù)程序?qū)σ绯龃螖?shù)進(jìn)行計(jì)數(shù)。待測(cè)信號(hào)的周期由3 個(gè)字節(jié)組成:定時(shí)/ 計(jì)數(shù)器溢出次數(shù)、定時(shí)/ 計(jì)數(shù)器的高8 位和低8 位。信號(hào)的頻率f 與信號(hào)的周期T 之間的關(guān)系為:f = 1/ T完成信號(hào)的周期測(cè)量后,需要做一次倒數(shù)運(yùn)算才能獲得信號(hào)的頻率。為提高運(yùn)算精度,這里采用浮點(diǎn)數(shù)算術(shù)運(yùn)算。浮點(diǎn)數(shù)用3 個(gè)字節(jié)組成,第一字節(jié)最高位為數(shù)符,其余7 位為階碼。第二字節(jié)為尾數(shù)的高字節(jié)。第三字節(jié)為尾數(shù)的低字節(jié)。待測(cè)信號(hào)周期的3 個(gè)字節(jié)定點(diǎn)數(shù)首先通過截取高16 位、設(shè)置數(shù)符和計(jì)算階碼轉(zhuǎn)換為上述格式的浮點(diǎn)數(shù)。然后浮點(diǎn)數(shù)算術(shù)運(yùn)算對(duì)其進(jìn)行處理,獲得用浮點(diǎn)數(shù)格式表達(dá)的信號(hào)頻率值。浮點(diǎn)數(shù)到BCD 碼轉(zhuǎn)換模塊把用浮點(diǎn)數(shù)格式表達(dá)的信號(hào)頻率值變換成本頻率計(jì)的顯示格式,送到顯示模塊顯示待測(cè)信號(hào)的頻率值。無(wú)論從哪一種方式進(jìn)入顯示模塊,完成顯示后,頻率計(jì)都開始下一次信號(hào)的頻率測(cè)量。(2)系統(tǒng)軟件框圖系統(tǒng)軟件設(shè)計(jì)采用模塊化設(shè)計(jì)方法。整個(gè)系統(tǒng)由初始化模塊、顯示模塊和信號(hào)頻率測(cè)量模塊等各種功能模塊組成(見圖4) 。上電后,進(jìn)入系統(tǒng)初始化模塊,系統(tǒng)件開始運(yùn)行。在執(zhí)行過程中,根據(jù)運(yùn)行流程分別調(diào)用各個(gè)功能模塊完成頻率測(cè)量、量程自動(dòng)切換、周期測(cè)量和測(cè)量結(jié)果顯示。圖4  系統(tǒng)軟件流程圖(3)浮點(diǎn)數(shù)學(xué)運(yùn)算程序8031 系列單片機(jī)屬于微控制器,由于其CPU字長(zhǎng)和指令功能的限制,它適用于控制領(lǐng)域,在信號(hào)處理方面不很擅長(zhǎng)。在本頻率計(jì)中需要完成周期到頻率的換算,為保證測(cè)量結(jié)果的準(zhǔn)確,這里應(yīng)用了浮點(diǎn)數(shù)數(shù)學(xué)運(yùn)算。從周期到頻率的換算過程包括: 3字節(jié)定點(diǎn)數(shù)到浮點(diǎn)數(shù)的轉(zhuǎn)換、浮點(diǎn)數(shù)數(shù)學(xué)運(yùn)算和浮點(diǎn)數(shù)到BCD 碼的轉(zhuǎn)換。由于通過多次的轉(zhuǎn)換,整個(gè)換算過程精度還不是很高,通過實(shí)測(cè),精度大約為千分之二左右。(4)實(shí)測(cè)結(jié)果和誤差分析為了衡量這次設(shè)計(jì)的頻率計(jì)的工作情況和測(cè)量精度,我們對(duì)系統(tǒng)進(jìn)行了試驗(yàn)。以南京電訊儀器廠制造的E312B 型通用計(jì)數(shù)器為基準(zhǔn),用這次設(shè)計(jì)的頻率計(jì)對(duì)信號(hào)源進(jìn)行了測(cè)量,測(cè)量數(shù)據(jù)如表1 所示。表1  頻率測(cè)量對(duì)比表  如圖3 信號(hào)予處理電路所示,待測(cè)信號(hào)在進(jìn)入單片機(jī)之前經(jīng)過了10 2 次分頻。頻率計(jì)以進(jìn)入單片機(jī)時(shí)的信號(hào)頻率等于100Hz 為基準(zhǔn),既待測(cè)信號(hào)頻率等于2 KHz 為基準(zhǔn),大于此頻率采用頻率測(cè)量,小于此頻率采用周期測(cè)量。由表1 頻率測(cè)量對(duì)比表可以看出,頻率測(cè)量的測(cè)量精度大于周期測(cè)量的測(cè)量精度。采用計(jì)數(shù)法實(shí)現(xiàn)頻率測(cè)量,誤差來(lái)源主要有計(jì)數(shù)誤差和閘門誤差兩部分。誤差表達(dá)式為d f / f = | dN/ N| + | dt/ t|這里N 為計(jì)數(shù)值,t 為閘門時(shí)間。閘門時(shí)間相對(duì)誤差dt/ t 主要取決于晶振的頻率穩(wěn)定度,選擇合適的石英晶體和振蕩電路,誤差一般可小于10 6 。當(dāng)僅顯示3 位有效數(shù)字時(shí),該項(xiàng)誤差可以忽略。對(duì)于dN/ N 部分,無(wú)論閘門時(shí)間長(zhǎng)短,計(jì)數(shù)法測(cè)頻總存在1 個(gè)單位的量化誤差。在表1 中,待測(cè)信號(hào)頻率大于2 KHz 時(shí)的誤差就來(lái)源于計(jì)數(shù)誤差。增加顯示的有效數(shù)字位數(shù)可降低該項(xiàng)誤差的影響。當(dāng)待測(cè)信號(hào)頻率小于2 KHz 時(shí),直接測(cè)量的是信號(hào)的周期。周期測(cè)量的誤差表達(dá)式為:dT/ T = | dN/ N| + | dτ0/τ0|這里dN/ N 為量化誤差,dτ0/τ0 為晶振的頻率穩(wěn)定度。在進(jìn)行周期測(cè)量時(shí)進(jìn)入單片機(jī)的信號(hào)頻率小于100Hz ,使用12MHz 時(shí)鐘這時(shí)的最小計(jì)數(shù)值為10000 。當(dāng)僅顯示3 位有效數(shù)字時(shí),該項(xiàng)誤差現(xiàn)在也可以忽略。待測(cè)信號(hào)的周期測(cè)量值通過浮點(diǎn)數(shù)數(shù)學(xué)運(yùn)算變換成頻率值,這時(shí)的誤差來(lái)源于浮點(diǎn)數(shù)數(shù)學(xué)運(yùn)算和數(shù)制之間的轉(zhuǎn)換所帶來(lái)的誤差。四 參考文獻(xiàn)[1 ]  周航慈著. 單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù)[M] . 北京:北京航空航天大學(xué)出版社,1991.[2 ]  李華等編著. MCS 51 系列單片機(jī)實(shí)用接口技術(shù)[M] . 北京:北京航空航天大學(xué)出版社,1993.[3 ]  侯伯亨 李伯成. CPLD原理及接口技術(shù) 西安電子科技大學(xué)出版社[4 ]  夏路易等. 電路原理圖與電路板設(shè)計(jì) 北京希望電子出版社[5 ]  馬忠梅. C語(yǔ)言應(yīng)用程序設(shè)計(jì) 北京航空航天大學(xué)出版社[6 ]  張志良. CPLD原理與控制技術(shù) 機(jī)械工業(yè)出版社附件1:程序清單/*一個(gè)機(jī)器周期采樣值為1,下一個(gè)機(jī)器周期采樣為0,則計(jì)數(shù)器加1.外部事件的最高計(jì)數(shù)頻率為晶振的1/24,。*//*目前狀態(tài)下只是顯示0到9999HZ的頻率*/includeincludedefine uint unsigned intdefine uchar unsigned chardefine ulong unsigned long define SEG1 XBYTE[0xfcec]define SEG2 XBYTE[0xfced]define SEG3 XBYTE[0xfcee]define SEG4 XBYTE[0xfcef] Uchar codetab1[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf}。 uint j=0,k,l=0。ulong m=0。void main(){ TMOD=0x51。/*01010001 T1計(jì)數(shù),T0定時(shí)*/ TH1=0。 TL1=0。 TH0=(6553646197)/256。//定時(shí)25MS TL0=(6553646197)%256。 TR0=1。//開定時(shí)器0 TR1=1。//啟動(dòng)計(jì)時(shí)器1 EA=1。 //開總中斷 ET0=1。//開定時(shí)器0中斷 while(1)。//等待中斷 }void t0(void) interrupt 1 using 1 { TH0=(6553646197)/256。 TL0=(6553646197)%256。 if(l++==39) { l=0。 TR1=0。 m=256*TH1+TL1。 if(m10) { SEG1=tab1[10]。 SEG2=tab1[10]。 SEG3=tab1[10]。 SEG4=tab1[m]。 TH1=TL1=0。} else if(m100) { SEG1=tab1[10]。 SEG2=tab1[10]。 SEG3=tab1[m/10]。 SEG4=tab1[m%10]。 TH1=TL1=0。} else if(m1000) { SEG1=tab1[10]。 SEG2=tab1[m/100]。 SEG3=tab1[m%100/10]。 SEG4=tab1[m%100%10]。 TH1=TL1=0。 } else if(m10000) {SEG1=tab1[m/1000 ]。 SEG2=tab1[m%1000/100 ]。 SEG3=tab1[m%1000%100/10]。 SEG4=tab1[m%1000%100%10]。 TH1=TL1=0。 } else { SEG1=tab1[11]。 SEG2=tab1[11]。 SEG3=tab1[11]。 SEG4=tab1[11]。 } TR1=1。 } }
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1