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

正文內(nèi)容

基于單片機的4位數(shù)字頻率計設計論文(含程序)(文件)

2025-06-27 08:50 上一頁面

下一頁面
 

【正文】 源程序如下: module control_core(clk, clr, reset, of, IN3, IN4, counter_clrn, latch_clk, clrof, latch_stat, stat)。 reg counter_clrn, latch_clk, clrof, reset_reg。 stat_reg = 0。 clrof = 1。 end else if(count == 0) begin //T1 脈沖 count = count + 1。 stat_reg = stat。amp。 if(reset_reg == 0) begin // 非復位周期 clrof = 0。 end end else if(flag == 2) begin //檔位不夠 latch_stat = latch_stat。 //計數(shù)有效,鎖存 end end end else if(count == 2) begin //T3 脈沖 flag = 0。 end end always (negedge clr) begin stat = stat_reg。經(jīng)過分析,我發(fā)現(xiàn)這 是我的這種分頻器結(jié)構所特有的。 六、實驗總結(jié) 這次實驗是相當成功的一次實驗,我不僅在實驗中學會了 Verilog 這種硬件描述語言以及基本的 FPGA 設計思想和方法。定時 / 計數(shù)器的工作首先被設置為計數(shù)器方式 ,即用來測量信號頻率。計數(shù)寄存器中的值通過16 進制數(shù)到 10 進制數(shù)轉(zhuǎn)換程序轉(zhuǎn)換為 10 進制數(shù)。定時 / 計數(shù)器的工作這時被設置為定時器方式 ,在對定時 / 計數(shù)器的計數(shù)寄存器清 0 后 ,判斷待測信號的上跳沿是否到來。當產(chǎn)生定時 / 計數(shù)器將溢出 ,程序進入定時器中斷服務程序 ,中斷服務程序?qū)?溢出次數(shù)進行計數(shù)。浮點數(shù)用 3 個字節(jié)組成 ,第一字節(jié)最高位為數(shù)符 ,其余 7 位為階碼 。然后浮點數(shù)算術運算對其進行處理 ,獲得用浮點數(shù)格式表達的信 號頻率值。整個系統(tǒng)由初始化模塊、顯示模塊和信號頻率測量模塊等各種功能模塊組成 (見圖 4) 。在本頻率計中需要完成周期到頻率的換數(shù)字頻率計實驗報告 202171 26 算 ,為保證測量結(jié)果的準確 ,這里應用了浮點數(shù)數(shù)學運算。以南京電訊儀器廠制造的 E312B 型通用計數(shù)器為基準 ,用這次設計的頻率計對信號源進行了測量 ,測量數(shù)據(jù)如表 1 所示。采用計數(shù)法實現(xiàn)頻率測量 ,誤差來源主要有計數(shù)誤差和閘門誤差兩部分 。對于 dN/ N 部分 ,無論閘門時間長短 ,計數(shù)法測頻總存在 1 個單位的量化誤差。周期測量的誤差表達式為 : dT/ T = | dN/ N| + | dτ 0/τ 0| 這里 dN/ N 為量化誤差 ,dτ 0/τ 0 為晶振的頻率穩(wěn)定度。 數(shù)字頻率計實驗報告 202171 28 四 參考文 獻 [1 ] 周航慈著 . 單片機應用程序設計技術 [M] . 北京 :北京航空航天大學出版社 ,1991. [2 ] 李華等編著 . MCS 51 系列單片機實用接口技術 [M] . 北京 :北京航空航天大學出版社 ,1993. [3 ] 侯伯亨 李伯成 . CPLD 原理及接口技術 西安電子科技大學出版社 [4 ] 夏路易等 . 電路原理圖與電路板設計 北京希望電子出版社 [5 ] 馬忠梅 . C語言應用程序設計 北京航空航天大學出版社 [6 ] 張志良 . CPLD 原理與控制技術 機械工業(yè)出版社 數(shù)字頻率計實驗報告 202171 29 附件 1:程序清單 /*一個機器周期采樣值為 1,下一個機器周期采樣為 0,則計數(shù)器加 1. 外部事件的最高計數(shù)頻率為晶振的 1/24,故最高計數(shù)為 。 void main() { TMOD=0x51。//定時 25MS TL0=(6553646197)%256。 //開總中斷 ET0=1。 if(l++==39) { l=0。 SEG2=tab1[10]。} else if(m100) { SEG1=tab1[10]。 TH1=TL1=0。 SEG4=tab1[m%100%10]。 SEG3=tab1[m%1000%100/10]。 SEG2=tab1[11]。 } } 。 SEG4=tab1[11]。 TH1=TL1=0。 } else if(m10000) {SEG1=tab1[m/1000 ]。 數(shù)字頻率計實驗報告 202171 31 SEG2=tab1[m/100]。 SEG3=tab1[m/10]。 SEG4=tab1[m]。 m=256*TH1+TL1。//等待中斷 } void t0(void) interrupt 1 using 1 { TH0=(6553646197)/256。//開定時器 0 TR1=1。 TL1=0。 uint j=0,k,l=0。當數(shù)字頻率計實驗報告 202171 27 僅顯示 3 位有效數(shù)字時 ,該項誤差現(xiàn)在也可以忽略。增加顯示的有效數(shù)字位數(shù)可降低該項誤差的影響。閘門時間相對誤差 dt/ t 主要取決于晶振的頻率穩(wěn)定度 ,選擇合適的石英晶體和振蕩電路 ,誤差一般可小于 10 6 。頻率計以進入單片機時的信號頻率等于 100Hz 為基準 ,既待測信號頻率等于 2 KHz 為基準 ,大于此頻率采用頻率測量 ,小于此頻率采用周期測量。由于通過多次的轉(zhuǎn)換 ,整個換算過程精度還不是很高 ,通過實測 ,精度大約為千分之二左右。在執(zhí)行過程中 ,根據(jù)運行流程分別調(diào)用各個功能模塊完成頻率測量、量程自動切換、周期測量和測量結(jié)果顯示。無論從哪一種方式進入顯示模塊 ,完成顯示后 ,頻率計都開始下一次信號的頻率測量。第三字節(jié)為尾數(shù)的低字節(jié)。信號的頻率 f 與信號的周期 T 之間的關系為 : f = 1/ T 完成信號的周期測量后 ,需要做一次倒數(shù)運算才能獲得信號的頻率。然后判斷待測信號的下跳沿是否到來 ,待測信號的下跳沿到來后 ,運行控制位 TR 清 0 ,停止計數(shù)。若該位為 0 ,將計數(shù)閘門的寬度擴大 10 倍 ,重新對待測信號的計數(shù) ,直到滿足測量數(shù)據(jù)有效位數(shù)的要求。計數(shù)閘門由軟件延時程序?qū)崿F(xiàn) ,從計數(shù) 閘門的最小值開始 ,也就是從測量頻率的高量程開始。 數(shù)字頻率計實驗報告 202171 24 三 系統(tǒng)設計 (1)數(shù)據(jù)處理過程 在頻率計開始工作 ,或者完成一次頻率測量 ,系統(tǒng)軟件都進行測量初始化。具體程序見附錄。 五、誤差分析及改進 經(jīng)過下載測試,實際的測量誤差在 1~ 2 檔時,誤差在 1 310? ~ 4 310? 數(shù)量級,在 3~ 4檔時,誤差相對大一些,一般> 4 310? ,這是由于計數(shù)分頻時計數(shù)值為近似值造成的系統(tǒng)誤差。 count = 0。 //檔位保持 end else begin stat_reg = stat_reg 1。 //鎖存器置位 end else begin //向上調(diào)檔 stat_reg = stat_reg + 1。 end else if((IN3) || (IN4)) begin //計數(shù)有效 flag = 0。 flag = 1。 latch_clk = 0。 end else if(clr) begin //清零信號 T4 flag = 0。 count = 0。 reg[1:0] latch_stat, stat, flag, count, stat_reg。 input[3:0] IN3, IN4。當 3T脈沖到來時,清除中間狀態(tài)寄存器。在 1T 時刻第工作脈沖到來時,首先檢測是不是復位周期,是則跳過,不作任何動作。下面根據(jù)時序圖簡要介紹一下工作過程。另外還有寄存器 stat_reg[1..0],用在轉(zhuǎn)換檔位時臨時保存檔位。 OFREGISTER 由 CLK 端接受計數(shù)器溢出脈沖在其上升沿置 1,當控制器核心開始換檔工作時,通過 CLR清除 OFREGISTER。 else if(reset) out = 0。 output[3:0] out。下面將 LATCH_4_16 的功能表(見左)和源程序列出,同樣將另一鎖存器源程序收于附錄。 橋接器 BRIDGE 主要是為了數(shù)據(jù)對齊。分頻器單元 FREQCER_10240的源程序如下(其他兩個單元僅計數(shù)值不相同,其他均一樣,故不列在此,見附錄): 鎖存器 鎖存器有八個輸入:時鐘脈沖 CLK,置位端 SET,復位端 RESET, 4 個 4bit十進制 BCD 輸入 IN1[3..0]~ IN4[3..0],檔位狀態(tài) STAT[1..0]。采用這樣的像 CPU 時鐘一樣的信號的原因,一方面,處理計數(shù)數(shù)據(jù)只用了很短的時間,兩次測量之間時間很短,加快了頻率計的響應速度;另一方面,解決了異步時序邏輯的競爭,使系統(tǒng)工作在異步時序狀態(tài)下,既保持了很高的響應速度,又有很高的穩(wěn)定性。 輸出 FGATE 送計數(shù)器 EN 作為計數(shù)器使能閘門電平。 分頻器采用計數(shù)分頻的辦法,即使用一內(nèi)部寄存器,在時鐘脈沖上升沿加一計數(shù),當計到一定值時就改變 FGATE 的狀態(tài),從而達到分頻的目的。源程序如下: CLK EN CLRN STAT[1..0] OUT4~1 OF H L 0,1,2 3 位加一計數(shù) OF等于第三位進位 H L 3 4 位加一計數(shù) OF等于第四位進位 L L 計數(shù)保持 L L L H L L 輸入 輸出 數(shù)字頻率計實驗報告 202171 18 分頻器 分頻器是本系統(tǒng)最重要的功能部件之一,由它產(chǎn)生閘門電平和控制器、計數(shù)器的控制脈沖。 計數(shù)器 COUNTER 計數(shù)器設計圖見附圖 1 右上部分,由四個十進制計數(shù)器級聯(lián)。 LATCH_STAT[1..0] 用來保存鎖存器狀態(tài)信息, LATCH_STAT[1..0]= 0 時,鎖存器在 CLK 作用下打開關 閉。數(shù)字頻率計實驗報告 202171 17 鎖存器 用來儲存有效計數(shù)值,以穩(wěn)定輸出。產(chǎn)生閘門電平的工作由分頻器完成。由圖示可以看出,一個閘門電平時間內(nèi)計數(shù)的最大誤差為 N177。 設計細化要求: 頻率計 能根據(jù) 輸入待測信號頻率 自動 選擇量程,并在超過最大量程時 顯示過量程, 當復位脈沖到來時,系統(tǒng)復位,重新開始計數(shù)顯示頻率。 數(shù)字頻率計實驗報告 202171 15 二、系統(tǒng)總體設計 計數(shù)器鎖存器分頻器控 制 器輸出待 測 信 號1 0 2 4 H z 標 準 時 鐘系 統(tǒng) 框 圖R E S E T小數(shù)點 數(shù)字頻率計實驗報告 202171 16 1 2 N0 考慮到測量方便,將數(shù)字頻率計劃分為 四檔: 10~
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1