基于單片機(jī)的簡(jiǎn)單頻率計(jì)課程設(shè)計(jì)報(bào)告_第1頁(yè)
基于單片機(jī)的簡(jiǎn)單頻率計(jì)課程設(shè)計(jì)報(bào)告_第2頁(yè)
基于單片機(jī)的簡(jiǎn)單頻率計(jì)課程設(shè)計(jì)報(bào)告_第3頁(yè)
基于單片機(jī)的簡(jiǎn)單頻率計(jì)課程設(shè)計(jì)報(bào)告_第4頁(yè)
基于單片機(jī)的簡(jiǎn)單頻率計(jì)課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、單片機(jī)原理與接口技術(shù) 課程設(shè)計(jì)報(bào)告頻率計(jì)1功能分析與設(shè)計(jì)目標(biāo) .12頻率計(jì)的硬件電路設(shè)計(jì) .32.1控制、計(jì)數(shù)電路.322 譯碼顯示電路.53頻率計(jì)的軟件設(shè)計(jì)與調(diào)試 .63.1軟件設(shè)計(jì)介紹.63.2程序框圖.83.3功能實(shí)現(xiàn)具體過(guò)程 .83.4測(cè)試數(shù)據(jù)處理,圖表及現(xiàn)象描述 .104討論.115心得與建議.126附錄(程序及注釋) .131 功能分析與設(shè)計(jì)目標(biāo)背景:在電子技術(shù)中,頻率是最基本的參數(shù)之一,并且與許多電參量的測(cè)量方案、 測(cè)量結(jié)果都有十分密切的關(guān)系,因此頻率的測(cè)量就顯得更為重要。為了實(shí)現(xiàn)智能 化的計(jì)數(shù)測(cè)頻,實(shí)現(xiàn)一個(gè)寬領(lǐng)域、高精度的頻率計(jì) ,一種有效的方法是將單片機(jī) 用于頻率計(jì)的設(shè)計(jì)當(dāng)中

2、。用單片機(jī)來(lái)做控制電路的數(shù)字頻率計(jì)測(cè)量頻率精度高, 測(cè)量頻率的范圍得到很大的提高。題目要求:用兩種方法檢測(cè)(m, T)要求顯示單位時(shí)間的脈沖數(shù)或一個(gè)脈沖的 周期。設(shè)計(jì)分析:電子計(jì)數(shù)式的測(cè)頻方法主要有以下幾種:脈沖數(shù)定時(shí)測(cè)頻法 (M 法),脈沖周 期測(cè)頻法(T 法),脈沖數(shù)倍頻測(cè)頻法(AM 法),脈沖數(shù)分頻測(cè)頻法(AT 法),脈沖 平均周期測(cè)頻法(M/T 法),多周期同步測(cè)頻法。下面是幾種方案的具體方法介紹。脈沖數(shù)定時(shí)測(cè)頻法(M 法):此法是記錄在確定時(shí)間 Tc 內(nèi)待測(cè)信號(hào)的脈沖個(gè) 數(shù)Mx 則待測(cè)頻率為:Fx=Mx/ Tc脈沖周期測(cè)頻法(T 法):此法是在待測(cè)信號(hào)的一個(gè)周期 Tx 內(nèi),記錄標(biāo)準(zhǔn)頻

3、 率信號(hào)變化次數(shù) Mo 這種方法測(cè)出的頻率是:Fx=Mo/Tx脈沖數(shù)倍頻測(cè)頻法(AM 法):此法是為克服 M 法在低頻測(cè)量時(shí)精度不高的缺 陷發(fā)展起來(lái)的。通過(guò) A 倍頻,把待測(cè)信號(hào)頻率放大 A 倍,以提高測(cè)量精度。其待 測(cè)頻率為:Fx=Mx/ATo脈沖數(shù)分頻測(cè)頻法(AT 法):此法是為了提高 T 法高頻測(cè)量時(shí)的精度形成的。 由于 T 法測(cè)量時(shí)要求待測(cè)信號(hào)的周期不能太短,所以可通過(guò) A 分頻使待測(cè)信號(hào)的 周期擴(kuò)大 A 倍,所測(cè)頻率為:Fx=AMo/Tx脈沖平均周期測(cè)頻法(M/T 法):此法是在閘門時(shí)間 Tc 內(nèi),同時(shí)用兩個(gè)計(jì)數(shù) 器分別記錄待測(cè)信號(hào)的脈沖數(shù)Mx和標(biāo)準(zhǔn)信號(hào)的脈沖數(shù)Mo若標(biāo)準(zhǔn)信號(hào)的頻率為

4、 Fo,則待測(cè)信號(hào)頻率為:Fx=FoMx/Mo多周期同步測(cè)頻法:是由閘門時(shí)間 Tc 與同步門控時(shí)間 Td 共同控制計(jì)數(shù)器 計(jì)數(shù)的一種測(cè)量方法,待測(cè)信號(hào)頻率與 M/T 法相同。以上幾種方法各有其優(yōu)缺點(diǎn):脈沖數(shù)定時(shí)測(cè)頻法,時(shí)間 Tc 為準(zhǔn)確值,測(cè)量的精度主要取決于計(jì)數(shù) Mx 的誤 差。其特點(diǎn)在于:測(cè)量方法簡(jiǎn)單,測(cè)量精度與待測(cè)信號(hào)頻率和門控時(shí)間有關(guān),當(dāng) 待測(cè)信號(hào)頻率較低時(shí),誤差較大。脈沖周期測(cè)頻法,此法的特點(diǎn)是低頻檢測(cè)時(shí)精度高,但當(dāng)高頻檢測(cè)時(shí)誤差較 大。脈沖數(shù)倍頻測(cè)頻法,其特點(diǎn)是待測(cè)信號(hào)脈沖間隔減小,間隔誤差降低;精度 比 M法高 A 倍,但控制電路較復(fù)雜。脈沖數(shù)分頻測(cè)頻法,其特點(diǎn)是高頻測(cè)量精度比

5、T 法高 A 倍,但控制電路也較 復(fù)雜。脈沖平均周期測(cè)頻法,此法在測(cè)高頻時(shí)精度較高,但在測(cè)低頻信號(hào)時(shí)精度較 低。多周期同步測(cè)頻法,此法的優(yōu)點(diǎn)是,閘門時(shí)間與被測(cè)信號(hào)同步,消除了對(duì)被 測(cè)信號(hào)計(jì)數(shù)產(chǎn)生的個(gè)字誤差,測(cè)量精度大大提高,且測(cè)量精度與待測(cè)信號(hào)的 頻率無(wú)關(guān),達(dá)到了在整個(gè)測(cè)量頻段等精度測(cè)量。功能描述:由于水平有限,本次設(shè)計(jì)采用相對(duì)簡(jiǎn)單的 M 法和 T 法兩種方法測(cè)量簡(jiǎn)單方波 的頻率或脈寬(由于是輸入簡(jiǎn)單方波信號(hào),省去了被測(cè)輸入信號(hào)通過(guò)脈沖形成電 路進(jìn)行放大與整形這個(gè)步驟)。利用 AT89C5 仲片機(jī)的 T0、T1 的定時(shí)計(jì)數(shù)器功能, 來(lái)完成對(duì)輸入的信號(hào)進(jìn)行頻率計(jì)數(shù)或脈寬計(jì)時(shí),計(jì)數(shù)(計(jì)時(shí))的頻率結(jié)

6、果通過(guò)5位八段 LED 數(shù)碼管顯示器顯示出來(lái)。設(shè)計(jì)指標(biāo):M 法由于 TO、T1 對(duì)外部脈沖信號(hào)的最高計(jì)數(shù)頻率為振蕩頻率的1/24,而振蕩頻率為 12MHz 得 M 法最高計(jì)數(shù)頻率為 500KHz 而本設(shè)計(jì)設(shè)定最高計(jì)數(shù)頻率即 為500KHz 誤差要求盡量小。T 法僅設(shè)定能測(cè)的外部脈寬范圍為 65536X 20us, 以使定時(shí)計(jì)數(shù)器在不產(chǎn)生 溢出中斷的情況下進(jìn)行測(cè)量。 本設(shè)計(jì)的頻率測(cè)量誤差要求盡量小,實(shí)踐證明誤差 控制在 1/100范圍內(nèi)。2 頻率計(jì)的硬件電路設(shè)計(jì)原理介紹圖2-1數(shù)字式頻率計(jì)原理框圖由上圖可以看出,待測(cè)信號(hào)經(jīng)過(guò)放大整形電路后得到一個(gè)待測(cè)信號(hào)的脈沖信 號(hào),然后通過(guò)計(jì)數(shù)器計(jì)數(shù),可得到需

7、要的頻率值,最后送入譯碼顯示電路中顯示 出來(lái)。但是控制部分相對(duì)重要,它在整個(gè)系統(tǒng)的運(yùn)行中起至關(guān)重要的作用。本設(shè)計(jì)控制電路和計(jì)數(shù)器電路以 AT89C51 為核心,譯碼顯示電路采用單片機(jī) 靜態(tài)顯示計(jì)數(shù)來(lái)顯示,采用 5 位七段 LED 數(shù)碼管顯示器。下面分節(jié)介紹各部分硬 件電路:2.1控制、計(jì)數(shù)電路單片機(jī)作為控制系統(tǒng)和計(jì)數(shù)器,是本次設(shè)計(jì)的最重要的部分,AT89C51 是一種帶 4K 字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROFalsh Programmable and ErasableRead Only Memory )的低電壓,高性能 CMOS 位微處理器,俗稱單片 機(jī)。該器件采用ATMEL 高密

8、度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的 MCS-51 指令集和輸出管腳相兼容。由于將多功能 8 位 CPU 和閃爍存儲(chǔ)器組合在單個(gè)芯片 中,ATME 的 AT89C51 是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種 靈活性高且價(jià)廉的方案。所以本次設(shè)計(jì)采用AT89C51 單片機(jī)。89C5 仲片機(jī),它提供下列標(biāo)準(zhǔn)特征:4K 字節(jié)的程序存儲(chǔ)器,128 字節(jié)的 RAM 32 條I/O 線,2 個(gè) 16 位定時(shí)器/計(jì)數(shù)器,,一個(gè) 5 中斷源兩個(gè)優(yōu)先級(jí)的中斷結(jié)構(gòu),一個(gè)雙工的串行口,片上震蕩器和時(shí)鐘電路。其引腳說(shuō)明如下:引腳說(shuō)明:VCC 電源電壓。GND 接地。P0 口: P0 口是一組 8 位漏極

9、開(kāi)路型雙向 I/O 口,作為輸出口用時(shí),每個(gè) 引腳能驅(qū)動(dòng) 8 個(gè) TTL 邏輯門電路。當(dāng)對(duì) 0 端口寫入 1 時(shí),可以作為高阻抗輸入端 使用。當(dāng) P0 口訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí), 它還可設(shè)定成地址數(shù)據(jù)總線 復(fù)用的形式。在這種模式下,P0 口具有內(nèi)部上拉電阻。在 EPROMS 程時(shí),P0 口接收指令字節(jié),同時(shí)輸出指令字節(jié)在程序校驗(yàn)時(shí)。 程序校驗(yàn)時(shí)需要外接上拉電阻。P0 口: P0 口是一帶有內(nèi)部上拉電阻的 8 位雙向 I/O 口。P0 口的輸出緩沖能接受或輸出 4 個(gè) TTL 邏輯門電路。當(dāng)對(duì) P0 口寫 1 時(shí),它們被內(nèi)部的上拉電阻 拉升為高電平,此時(shí)可以作為輸入端使用。當(dāng)作為輸入端

10、使用時(shí),P0 口因?yàn)閮?nèi)部存在上拉電阻,所以當(dāng)外部被拉低時(shí)會(huì)輸出一個(gè)低電流(IIL )。P1 口: P2 是一帶有內(nèi)部上拉電阻的 8 位雙向的 I/O 端口。P1 口的輸出緩 沖能驅(qū)動(dòng) 4 個(gè) TTL 邏輯門電路。當(dāng)向 P1 口寫 1 時(shí),通過(guò)內(nèi)部上拉電阻把端口拉 到高電平,此時(shí)可以用作輸入口。作為輸入口,因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出電流(IIL )P2 口在訪問(wèn)外部程序存儲(chǔ)器或 16 位地址的外部數(shù)據(jù)存儲(chǔ)器(例如 MOVX DPTR時(shí),P2 口送出高 8 位地址數(shù)據(jù)。在這種情況下,P2 口使用強(qiáng)大的內(nèi)部上 拉電阻功能當(dāng)輸出 1 時(shí)。當(dāng)利用 8 位地址線訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器

11、時(shí)(例 MOVX R1), P2 口輸出特殊功能寄存器的內(nèi)容。當(dāng) EPRO 編程或校驗(yàn)時(shí),P2 口同時(shí)接收高 8 位地址和一些控制信號(hào)。 P3 口: P3 是一帶有內(nèi)部上拉電阻的 8 位雙向的 I/O 端口。P3 口的輸出緩 沖能驅(qū)動(dòng) 4 個(gè) TTL 邏輯門電路。當(dāng)向 P3 口寫 1 時(shí),通過(guò)內(nèi)部上拉電阻把端口拉 到高電平,此時(shí)可以用作輸入口。作為輸入口,因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引 腳被外部信號(hào)拉低時(shí)會(huì)輸出電流(IIL )。P3 口同時(shí)具有 AT89C51 的多種特殊功能, P3.0 的第二功能是串行輸入口 RXD P3.1的第二功能是串行輸出口 TXD P3.2的第二功能是外部中斷 0,P

12、3.3 的第二功能是外部中斷 1,P3.4 的第二功能是定時(shí)器 T0, P3.5 的第二功能是定 時(shí)器 T1,P3.6 的第二功能是外部數(shù)據(jù)存儲(chǔ)器寫選通/WR P3.7 的第二功能是外 部數(shù)據(jù)存儲(chǔ)器讀選通/RD。M 法主要使用管腳為 P3.0、P3.1 以及 P3.5。其具體使用方法如下:P3.0 口與寄存器 74LS164 的 A,B 端口連接,串行輸出待顯示的數(shù)據(jù)。P3.1口接移位寄存器 74LS164 的 CLK(第 8 引腳),輸出同步時(shí)鐘信號(hào)。P3 . 5 口(即 T1)輸入脈沖信號(hào)。T 法主要使用管腳為 P2.0、P3.0、P3.1 以及 P3.3。其具體使用方法如下:P2.0 口

13、接開(kāi)關(guān)用于控制何時(shí)輸出顯示脈寬時(shí)間。P3.0 口與寄存器 74LS164 的 A,B 端口連接,串行輸出待顯示的數(shù)據(jù)。P3.1口接移位寄存器 74LS164 的 CLK(第 8 引腳),輸出同步時(shí)鐘信號(hào)。P3 . 5 口(即 T1)輸入脈沖信號(hào)。2.2譯碼顯示電路顯示電路采用 靜態(tài)顯示方式。頻率測(cè)量結(jié)果經(jīng)過(guò)譯碼,通過(guò) 89C51 的串行口 送出。串行口工作于模式 0 ,即同步移位寄存器方式。這時(shí)從 89C51 的 RXD(P3.0)輸出數(shù)據(jù),送至串入并出移位寄存器 74164 的數(shù)據(jù)輸入口 A 和 B ;從 TXD(P3. 1)輸出時(shí)鐘,送至 74164 的時(shí)鐘輸入口 CP 74164 將串行

14、數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù), 進(jìn)行鎖存。74164 輸出的 8 位并行數(shù)據(jù)送至 8 段 L ED ,實(shí)現(xiàn)測(cè)量數(shù)據(jù)的顯示。使用這種方法主程序可不必掃描顯示器,從而單片機(jī)可以進(jìn)行下一次測(cè)量。這種 方法也便于對(duì)顯示位數(shù)進(jìn)行擴(kuò)展。7 段 LED3頻率計(jì)的軟件設(shè)計(jì)與調(diào)試3.1軟件設(shè)計(jì)介紹本設(shè)計(jì)過(guò)程使用到的軟件有: WAV 軟件模擬器,keil uVision2,protuse。軟件設(shè)計(jì)過(guò)程:在 keil uVision2 中輸入所編程序,保存為以.c 為后綴的文件,新建項(xiàng)目, 加入剛保存的文件,編譯,調(diào)試到程序編譯不顯示錯(cuò)誤。在option for target項(xiàng)中 output 中選中 creat hex f

15、iles,重新編譯程序,軟件生成以.hex 為后綴的文件。在 protuse 軟件中畫出所設(shè)計(jì)的電路模擬圖,加載入前面生成的以 .Hex 為 后綴的文件,運(yùn)行,觀察,調(diào)試數(shù)碼管顯示的數(shù)值,并與設(shè)置的輸入信號(hào)頻率作 比較,調(diào)試,分析誤差產(chǎn)生原因,改進(jìn)程序與電路圖。使用偉福軟件編譯所設(shè)計(jì)的 c 程序,調(diào)試到正確無(wú)誤。并最終通過(guò)硬件來(lái)驗(yàn) 證所設(shè)計(jì)的頻率計(jì)是否達(dá)到先前設(shè)定的設(shè)計(jì)指標(biāo)。圖示:E串行輸入并行輸出74LS164Keil 軟件程序設(shè)計(jì)Protuse 軟件模擬Protuse是數(shù)字電路模擬常用的工具,方便易用,如圖是工作窗口:E? L TTTLS - KE ProfZJ事=M就 工貝Ti fclf

16、ii繪勻: 幷月三硏 年:口 吒無(wú) 舌汗巧 梓朗舊)R日E閑星|箱 Eil*厲算*電魚(yú)9。|利唔=工氨#/寵希雄苗曲JKAH國(guó)國(guó)丨型+ IXJLTDEV旺汀71S1E4JEI:AlFnri芒EGGFN注:以上兩流程圖均只表示出程序設(shè)計(jì)的簡(jiǎn)單流程, 并且只表示出處理一次 測(cè)量的過(guò)程,多次測(cè)量重復(fù)以上步驟即可。具體細(xì)節(jié)或某些中間變量的賦值和對(duì) 程序流程的影響詳細(xì)見(jiàn)程序注釋。3.3功能實(shí)現(xiàn)具體過(guò)程M 法具體過(guò)程:TO 定時(shí) 50ms T1 對(duì)方波的計(jì)數(shù),數(shù)值串行輸出和靜態(tài)顯示 三大部分內(nèi)容,此外還要附加延時(shí)程序以使靜態(tài)顯示數(shù)值穩(wěn)定等。具體描述如下:1TO 實(shí)現(xiàn) 50ms 定時(shí):采用 12 MHz 的

17、晶體振蕩器的情況下,一秒的定時(shí)已超過(guò)了定時(shí)器可提供的 最大定時(shí)值。為了實(shí)現(xiàn)一秒的定時(shí),采用定時(shí)和計(jì)數(shù)相結(jié)合的方法實(shí)現(xiàn)。選用定 時(shí)/計(jì)數(shù)器 T0 作定時(shí)器,工作于方式 1 產(chǎn)生 50 ms 的定時(shí),定時(shí)完成所得的計(jì) 數(shù)值乘以 20 即為所測(cè)信號(hào)3.2程序框圖M 法:否頻率。2T1 計(jì)數(shù)部分:將定時(shí)器/計(jì)數(shù)器的方式寄存器 TMOD 用軟件賦初值 51H,即 01010001B 這時(shí)定時(shí)器/計(jì)數(shù)器 1 采用工作方式 1,方式選擇位 C/T 設(shè)為 1,即設(shè) T1 為 16 位計(jì)數(shù)器。 定時(shí)器/計(jì)數(shù)器O 采用工作方式 1, C/T 設(shè)為 0,即設(shè) TO 為 16 位定 時(shí)器。計(jì)算計(jì)數(shù)初值:設(shè)計(jì)數(shù)初值為

18、m 本設(shè)計(jì)采用 12 MHz 的晶振。機(jī)器周期=12(1/晶振頻率),得等式(216-m) 10-50 10。所以計(jì)數(shù)初值 m=15536當(dāng)定時(shí)器/計(jì)數(shù)器 T1 設(shè)定為計(jì)數(shù)方式時(shí),其計(jì)數(shù)脈沖是來(lái)源 T1 端口的外部 事件。當(dāng)T1 端口上出現(xiàn)由 1”(高電平)到 0”(低電平)的負(fù)跳變脈沖時(shí),計(jì)數(shù)器 則加 1 計(jì)數(shù)。計(jì)算機(jī)是在每個(gè)機(jī)器周期的 S5P2 狀態(tài)時(shí)采樣 T1 端口,當(dāng)前一個(gè)機(jī) 器周期采樣為 1 且后一個(gè)機(jī)器周期采樣為 0 時(shí),計(jì)數(shù)器加 1 計(jì)數(shù)。計(jì)算機(jī)需用兩 個(gè)機(jī)器周期來(lái)識(shí)別 1 次計(jì)數(shù),因而最大計(jì)數(shù)速率為振蕩頻率的 1/24。在采用 12 MHz 晶振的情況下,單片機(jī)最大計(jì)數(shù)速度為

19、0. 5 MHz 即 500 kHz。另外,此處對(duì)外部事件計(jì)數(shù)脈沖的占空比(即脈沖的持續(xù)寬度)無(wú)特殊要求,但必 須保證所給出的高電平在其改變之前至少被采樣 1 次,即至少保持 1 個(gè)完整的機(jī) 器周期。由此可見(jiàn),從 T1 口輸入脈沖信號(hào),T1 可實(shí)現(xiàn)對(duì)脈沖個(gè)數(shù)的計(jì)數(shù)。3數(shù)值串行輸出和靜態(tài)顯示此部分用到了單片機(jī)的串行輸出口 P3.0 與 P3.1.串行口控制寄存器 SCOF 設(shè)置為 0 x00,即工作方式 0同步移位寄存器輸入輸出方式。串行數(shù)據(jù)(計(jì)數(shù)值)通過(guò)RXD 俞出,而 TXD 用于輸出移位時(shí)鐘,作為 5 個(gè) 74LS164 的同步信號(hào),74LS164 用于擴(kuò)展并行輸出口,這種方式下,收發(fā)的數(shù)

20、據(jù)為8 位,低位在前,五起始位、奇偶校驗(yàn)位及停止位,波特率固定為振蕩頻率的1/12。發(fā)送過(guò)程中,當(dāng)執(zhí)行一個(gè)數(shù)據(jù)寫入發(fā)送緩沖器 SBUF 勺指令時(shí), 串行口把 SBUF 中的 8 為數(shù)據(jù)以 1/12 的 波特率從RXD( P3.0)端輸出,發(fā)送完畢置中斷標(biāo)志 TI=1,傳送過(guò)程中將 8 位數(shù) 據(jù)由低位到高位一位一位順序通過(guò) RXD 輸出,并在 TXD 腳上輸出fosc/12 的移位 時(shí)鐘。通過(guò)編碼 09 和 error(錯(cuò)誤)的代號(hào) E(即當(dāng)超出量程顯示 E),并根據(jù)所得計(jì)數(shù) 值的各位數(shù)值,向單片機(jī)外部依次串行輸出各位的編碼, 通過(guò) 74LS164 的并行輸 出并且依靠人眼的視覺(jué)暫留現(xiàn)象能夠在

21、5 位 7 段 LED 上同時(shí)顯示各位的數(shù)值。具 體程序編寫,詳見(jiàn)本論文附上的程序及程序注釋。T 法具體過(guò)程:由INT1輸如方波脈沖信號(hào),T1 對(duì)方波信號(hào)的高電平部分計(jì) 時(shí),計(jì)時(shí)結(jié)果串行輸出和靜態(tài)顯示三大部分, 與 M 法一樣,還要附加延時(shí)程序以 使靜態(tài)顯示數(shù)值穩(wěn)定等。具體描述如下:1由而輸如方波脈沖信號(hào)方波信號(hào)通過(guò)麗管腳輸入檢測(cè),此處該管腳相當(dāng)于對(duì)信號(hào)的監(jiān)測(cè),通過(guò)軟件方式告之單片機(jī)哪段時(shí)間輸入信號(hào)為高電平,哪段時(shí)間為低電平。以便控制T1計(jì)時(shí)的開(kāi)始和停止。2T1 對(duì)方波信號(hào)的高電平部分計(jì)時(shí)通過(guò)查詢方式,當(dāng)信號(hào)輸入管腳 而 為 1(即高電平)時(shí)進(jìn)行計(jì)時(shí),設(shè)置 TMOD 值為 0 x90,即 T1

22、 為方式 1 的 16 位定時(shí)器(也可設(shè)置為計(jì)數(shù)器,效果一樣),且 T1 受 GATE的影響:因?yàn)?GATE=1 只有麗 為高電平且由軟件使 TR1 置一時(shí), 才能啟動(dòng)定時(shí)器工作。正因?yàn)槿绱?,測(cè)量高電平脈寬顯得精確可控。 定時(shí)器計(jì)時(shí) 結(jié)束則可將數(shù)值輸出顯示。3計(jì)時(shí)結(jié)果串行輸出和靜態(tài)顯示此部分內(nèi)容同 M 法一致,詳見(jiàn) M 法的功能實(shí)現(xiàn)描述。3.4測(cè)試數(shù)據(jù)處理,圖表及現(xiàn)象描述根據(jù)設(shè)計(jì)的程序連接好硬件電路,使用偉福硬件仿真器和實(shí)驗(yàn)臺(tái)進(jìn)行測(cè)量。 數(shù)據(jù)處理:a.將輸入方波的頻率由小到大進(jìn)行變化,并讀出靜態(tài)顯示出的測(cè)量值與示波器顯示的測(cè)量值,比較二者的差別,分析誤差隨輸入信號(hào)頻率的變化情況及誤 差來(lái)源,提

23、出改進(jìn)方案。b.過(guò)程中要求對(duì)同一頻率的輸入方波進(jìn)行多組測(cè)量,取平均值 f 或 T(頻率或周期)。軟硬件連接圖如下:現(xiàn)象描述:M 法:示波器顯示數(shù)值與靜態(tài)顯示的數(shù)值十分吻合, 誤差相當(dāng)小,一般在 110Hz內(nèi)。本測(cè)量在低頻段的相對(duì)測(cè)量誤差較大。 增大 T 可以提高測(cè)量精度,但在低頻段仍不能滿足要求。T 法:在低頻和高頻時(shí)誤差較大,在 1KHz 到一定范圍內(nèi)誤差很小。理論上 T法在低頻段精度高。但此次設(shè)計(jì)中反映的現(xiàn)象卻相反。初步分析為計(jì)時(shí)程序誤差 太大,不夠合理。 一個(gè)是采用的是查詢方式, 不易控制計(jì)時(shí)器何時(shí)開(kāi)始計(jì)時(shí)和結(jié) 束, 另外 P2.0的按鍵延時(shí)等,誤差較大。總體而言的誤差分析:(1)單片機(jī)

24、計(jì)數(shù)速率的限制引起誤差。被測(cè)信號(hào)頻率越高,測(cè)量誤差越大,且所 測(cè)信號(hào)頻率不能超過(guò) 480 kHz。 這是因?yàn)椴捎玫氖?12 MHz 的晶振, 單片機(jī)最大 計(jì)數(shù)速度為 500kHz,所以當(dāng)被測(cè)信號(hào)越接近 500 kHz 時(shí),測(cè)量結(jié)果與實(shí)際頻率 的誤差就越大。而當(dāng)被測(cè)信號(hào)大于 500 kHz 時(shí),頻率計(jì)將測(cè)不出信號(hào)頻率。(2)原理上存在誤差。由于該設(shè)計(jì)是在計(jì)數(shù)門限時(shí)間一秒內(nèi)的頻率信號(hào)脈沖 數(shù),所以定時(shí)開(kāi)始時(shí)的第一個(gè)脈沖和定時(shí)時(shí)間到時(shí)的最后一個(gè)脈沖信號(hào)是否被記 錄,存在隨機(jī)性。這種誤差對(duì)測(cè)量頻率低的信號(hào)影響較大。由于 D 觸發(fā)器必須在信號(hào)的上升沿才翻轉(zhuǎn),故 T0 對(duì)信號(hào)脈沖個(gè)數(shù)不存在%誤差,而 T1

25、 計(jì)時(shí)為信號(hào)11信號(hào)周期的整數(shù)倍,則存在對(duì)T1 計(jì)數(shù)的 %誤差,故測(cè)量精度與被測(cè)頻率無(wú)關(guān)但若取計(jì)時(shí)時(shí)間大于 0.1S(實(shí)際最小時(shí)間約為 0.5S),誤差則小于 0.001%; 若對(duì)低頻信號(hào) f 測(cè)量,則計(jì)時(shí)時(shí)間遠(yuǎn)大于 0.1S,故誤差極小但是在高頻端分 頻時(shí),由于軟件中斷、 延時(shí)等原因, 會(huì)導(dǎo)致脈寬的測(cè)量誤差增大, 而頻率測(cè)量誤 差較小 (保持在 0.01 %) .誤差改進(jìn)措施:a.選用頻率較高和穩(wěn)定性好的晶振。 如選 24 kHz 的晶振可使測(cè)量范圍擴(kuò)大, 穩(wěn)定性好的晶振可以減小誤差。b.測(cè)量頻率較高的信號(hào)時(shí),可先對(duì)信號(hào)進(jìn)行分頻,再進(jìn)行測(cè)量。c.改進(jìn) T 法計(jì)時(shí)程序,從根本上減小誤差。4討論

26、本次設(shè)計(jì)實(shí)現(xiàn)了用兩種方法對(duì)外部未知頻率的方波信號(hào)的測(cè)量。M 法測(cè)量的設(shè)計(jì)達(dá)到了高范圍(500KHz 在 LED 管位數(shù)足夠的情況下,改進(jìn)程序的顯示程序部分 即可)與高精度(110hz 一般情況下);T 法設(shè)計(jì)由于部分程序的缺陷并未能實(shí) 現(xiàn)很好的測(cè)量頻率的效果,僅能測(cè)量一定范圍的頻率。未達(dá)到設(shè)計(jì)目標(biāo)的原因詳 見(jiàn)誤差分析部分。此次設(shè)計(jì)還有很大不足,尤其是在信號(hào)的對(duì)象選擇上,信號(hào)要求是方波信號(hào)。未 能對(duì)任意未知波形信號(hào)進(jìn)行分析測(cè)量。 在今后的時(shí)間里,我們小組會(huì)繼續(xù)探索單 片機(jī)設(shè)計(jì)數(shù)字頻率計(jì)的設(shè)計(jì),加上信號(hào)預(yù)處理電路,改進(jìn)信號(hào)頻率的測(cè)量方法, 提高信號(hào)顯示的精度,拓展本次設(shè)計(jì)未能實(shí)現(xiàn)的各項(xiàng)頻率計(jì)應(yīng)當(dāng)具

27、備的要求,如 可選量程,科學(xué)計(jì)數(shù)顯示等等。5心得與建議通過(guò)此次設(shè)計(jì),我們小組的成員都受到了極大的鍛煉,對(duì)團(tuán)隊(duì)合作的重要性 有了深刻認(rèn)識(shí),雖然我們面對(duì)的是一個(gè)相對(duì)簡(jiǎn)單的課題,但由于初次進(jìn)行基于單 片機(jī)的課題設(shè)計(jì),所以在設(shè)計(jì)過(guò)程中,我們遇到了一些困難,也經(jīng)歷了一次又一 次的困惑,最初我們嘗試著完美化我們的設(shè)計(jì),以實(shí)現(xiàn)更多的功能和提高可操縱 性,卻沒(méi)有從最基本的內(nèi)容一步步做起, 沒(méi)有將核心部分放在首位。正如老師講 的,正確的順序是先把核心部分做好, 就像蓋房子一樣,先打地基一一定時(shí)計(jì)數(shù) 是我們這次設(shè)計(jì)的核心,然后再一步一步擴(kuò)展,完善功能,向上蓋房子。生活實(shí) 際中確實(shí)如此,做任何事,沒(méi)有打好基礎(chǔ),最終

28、就不能有很好的發(fā)展。學(xué)習(xí)也是 如此,對(duì)于工科的我們數(shù)學(xué)、物理等就是我們的基礎(chǔ),往往發(fā)展的瓶頸就在基礎(chǔ) 部分。今后,我們小組的成員會(huì)吸收此次設(shè)計(jì)實(shí)踐收獲的寶貴經(jīng)驗(yàn), 更加努力地, 更加堅(jiān)定地在電子科技上一步一步腳踏實(shí)地地學(xué)習(xí)進(jìn)步。126附錄M法#in clude#defi ne uchar un sig ned char#defi ne uint un sig ned intuint nu ml, nu mh,f;code uchar k11=0 xfc,0 x60,0 xda,0 xf2,0 x66,0 xb6,0 xbe,0 xe0,0 xfe,0 xf6,0 x02,0 x9e;void

29、init() /初始化函數(shù)SCON=0 x00;/串行同步移位輸出TMOD=0 x51;/T1計(jì)數(shù),T0定時(shí)ET0=1;/T0中斷允許TH0=(15535)/256;TL0=(15535)%256; /T0定時(shí)50ms的初值TH仁0;TL1=0;IT0=1;/T1計(jì)數(shù)的初值TR0=1;TR1=1;/開(kāi)始計(jì)數(shù)、定時(shí)EA=1;void delay( uint z)ui nt x,y;for(x=z;x0;x-) for(y=110;y0;y-); /void sen d(uchar b) / SBUF=b;while(!TI); /TI=0;串行輸出顯示函數(shù)部分發(fā)送結(jié)束標(biāo)志void display

30、( uint x) /if(x99999)串行輸出顯示函數(shù)部分二13延時(shí)函數(shù),delay(200);大約延時(shí)200ms.se nd(OxOO);/OxOO表示該位不顯示字符se nd(OxOO);se nd(OxOO);se nd(OxOO);send(k11);程序最大測(cè)量頻率定為100k,大于此范圍則顯示“E,指示else if(x9999)sen d(kx/10000);se nd(kx%10000/1000);sen d(kx%10000%1000/100);se nd(kx%10000%1000%100/10);se nd(kx%10000%1000%100%10);else if(

31、x999)se nd(0 x00);sen d(kx/1000);se nd(kx%1000/100);se nd(kx%1000%100/10);se nd(kx%1000%100%10);else if(x99)se nd(0 x00);se nd(0 x00);se nd(kx/100);se nd(kx%100/10);sen d(kx%100%10);else if(x9)se nd(0 x00);se nd(0 x00);se nd(0 x00);sen d(kx/10);se nd(kx%10);elsese nd(0 x00);se nd(0 x00);14error。se n

32、d(OxOO);se nd(OxOO);se nd(kx%10);void timer_O() interrupt 1 /定時(shí)器TO中斷TH0=(15535)/256;TL0=(15535)%256;TR1=0;TR0=0;nu mh=TH1;num l=TL1;TH仁0;TL1=0;/恢復(fù)初始值待下一輪測(cè)量,并將結(jié)果賦值f=(nu mh8)+nu ml;f=f*20;/20表示中斷20次達(dá)到1s得到的頻率值display(f);delay(200);TR0=1;TR1=1;void mai n()in it(); /初始化while(1);/原地踏步,等待T0溢出中斷15T法#in clud

33、e #defi ne uchar un sig ned char#defi ne uint un sig ned intsbit I=P3A3;sbit d=P2A0;uint nu ml, nu mh,f, num=O;code uchar k11=0 xfc,0 x60,0 xda,0 xf2,0 x66,0 xb6,0 xbe,0 xe0,0 xfe,0 xf6,0 x9e;void init() /初始化函數(shù)SCON=OxOO;串行同步移位輸出TMOD=0 x90;/T1設(shè)置為定時(shí),16位TH1=0;TL1=0;定時(shí)初值TR1=0;/起始時(shí)定為關(guān)定時(shí)void delay(uint z)/延時(shí)函數(shù),delay(200);大約延時(shí)200ms.ui nt x,y;for(x=z;x0;x-)for(y=110;y0;y-);v

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論