新聞中心

EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 測(cè)量低頻的轉(zhuǎn)速計(jì)(04-100)

測(cè)量低頻的轉(zhuǎn)速計(jì)(04-100)

——
作者: 時(shí)間:2008-04-01 來(lái)源:電子產(chǎn)品世界 收藏

  MCU計(jì)算RPM=60/T(T是被測(cè)輸入的周期)方程式。常數(shù)60表示1分鐘內(nèi)60秒給出1個(gè)等效的脈沖讀數(shù)或每分鐘轉(zhuǎn)數(shù)(rpm)。本電路的時(shí)基由32KHz晶振(EPSON C-001R32.768KA±20ppm)提供,它觸發(fā)PIC內(nèi)部定時(shí)器T1。Timer1包含1個(gè)可編程預(yù)計(jì)數(shù)器,沒(méi)置為1/8。此預(yù)計(jì)數(shù)器產(chǎn)生4KHz分頻。Timer1是16位的,產(chǎn)生0.00025S(250μS)分辨率,它執(zhí)行周期測(cè)量。

本文引用地址:http://butianyuan.cn/article/81055.htm

  通過(guò)軟件在輸入RC2端的輸入信號(hào)正沿使能Timer1。當(dāng)下1個(gè)正沿到達(dá)時(shí),Timer1被禁止。Timer1包含對(duì)應(yīng)于輸入信號(hào)周期的二進(jìn)制計(jì)數(shù)。因?yàn)榉直媛适?.00025S,所以必須右移3位得到0.25S。所以,新的RPM方程為:

  RPM=60000/T

  表1列出如何得到RPM讀數(shù),從計(jì)數(shù)器(Timer1)開(kāi)始,它包含周期讀數(shù)。例如,PIC檢測(cè)的信號(hào)周期是1S,則計(jì)數(shù)器讀數(shù)將為1000,這是因?yàn)閮?nèi)部頻率分頻器設(shè)置為4。此信號(hào)的有效RPM讀數(shù)必須等效于60。

  軟件工作如下:PIC監(jiān)控輸入(RC2),等待低到高態(tài)轉(zhuǎn)換。當(dāng)檢測(cè)到這一轉(zhuǎn)換時(shí),Timer1被設(shè)置位TMR1ON使能。

  然后,PIC等待下1個(gè)低到高轉(zhuǎn)換。當(dāng)發(fā)生這種轉(zhuǎn)換時(shí),PIC禁止位TMR10N停止計(jì)數(shù)。現(xiàn)在,相關(guān)周期讀數(shù)然后,PIC等待下1個(gè)低到高轉(zhuǎn)換。當(dāng)發(fā)生這種轉(zhuǎn)換時(shí),PIC禁止位TMR10N停止計(jì)數(shù)?,F(xiàn)在,相關(guān)周期讀數(shù)保存在寄存器TMR1H和TMR1L中。

  為避免讀數(shù)超出范圍,必須檢查溢出位TMR1F。若置位此溢出位,意味著被測(cè)信號(hào)周期太長(zhǎng)。在這種情況下,程序?qū)@示信息“OFF”或溢出。這表明輸入信號(hào)所具有周期大于16.384S。

  若無(wú)溢出,則必須檢驗(yàn)周期測(cè)量等于或大于940(相當(dāng)于255rpm)。若此讀數(shù)低于940,則程序?qū)@示信息“OFF”。這表明讀數(shù)大于255rpm。

  若數(shù)值大于940,則讀數(shù)用子程序除4,此子程序用構(gòu)成兩個(gè)16位數(shù)的兩寄存器(ACCb和ACCa)來(lái)工作。為了得到周期,用公式ACCb/ACCa=ACCb,然后60000(EA60H)除以ACCb。這給出二進(jìn)制碼的rpm值,所以必須把二進(jìn)制碼變換為BCD碼。

  為了執(zhí)行此操作,變換讀數(shù)為W,然后,調(diào)用二進(jìn)制碼變換BCD碼子程序,把二進(jìn)制讀數(shù)變換為BCD碼,程序用寄存器R0、R1、R2(其中R2為最高有效數(shù))。最后,每個(gè)寄存器的值變換為7段碼,這樣可以在LED上顯示。程序中兩個(gè)計(jì)算表執(zhí)行7段操作,其中1個(gè)表處理百位數(shù)?!?峰)


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 低頻 轉(zhuǎn)速計(jì)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉