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

正文內(nèi)容

基于單片機(jī)的4位數(shù)字頻率計(jì)設(shè)計(jì)論文含程序(參考版)

2025-06-07 08:50本頁(yè)面
  

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