6位數(shù)顯頻率計(jì)數(shù)器,Digital frequency meter
關(guān)鍵字:頻率計(jì),計(jì)數(shù)器,頻率計(jì)制作,頻率計(jì)電路,計(jì)數(shù)器電路,89S51
1.實(shí)驗(yàn)任務(wù)
利用AT89S51單片機(jī)的T0、T1的定時(shí)計(jì)數(shù)器功能,來完成對(duì)輸入的信號(hào)進(jìn)行頻率計(jì)數(shù),計(jì)數(shù)的頻率結(jié)果通過8位動(dòng)態(tài)數(shù)碼管顯示出來。要求能夠?qū)?-250KHZ的信號(hào)頻率進(jìn)行準(zhǔn)確計(jì)數(shù),計(jì)數(shù)誤差不超過±1HZ。
2.電路原理圖
利用AT89S51單片機(jī)的T0、T1的定時(shí)計(jì)數(shù)器功能,來完成對(duì)輸入的信號(hào)進(jìn)行頻率計(jì)數(shù),計(jì)數(shù)的頻率結(jié)果通過8位動(dòng)態(tài)數(shù)碼管顯示出來。要求能夠?qū)?-250KHZ的信號(hào)頻率進(jìn)行準(zhǔn)確計(jì)數(shù),計(jì)數(shù)誤差不超過±1HZ。
2.電路原理圖
3.系統(tǒng)板上硬件連線
(1).把“單片機(jī)系統(tǒng)”區(qū)域中的P0.0-P0.7與“動(dòng)態(tài)數(shù)碼顯示”區(qū)域中的ABCDEFGH端口用8芯排線連接。
(2).把“單片機(jī)系統(tǒng)”區(qū)域中的P2.0-P2.7與“動(dòng)態(tài)數(shù)碼顯示”區(qū)域中的S1S2S3S4S5S6S7S8端口用8芯排線連接。
(3).把“單片機(jī)系統(tǒng)”區(qū)域中的P3.4(T0)端子用導(dǎo)線連接到“頻率產(chǎn)生器”區(qū)域中的WAVE端子上。
4.程序設(shè)計(jì)內(nèi)容
(1).定時(shí)/計(jì)數(shù)器T0和T1的工作方式設(shè)置,由圖可知,T0是工作在計(jì)數(shù)狀態(tài)下,對(duì)輸入的頻率信號(hào)進(jìn)行計(jì)數(shù),但對(duì)工作在計(jì)數(shù)狀態(tài)下的T0,最大計(jì)數(shù)值為fOSC/24,由于fOSC=12MHz,因此:T0的最大計(jì)數(shù)頻率為250KHz。對(duì)于頻率的概念就是在一秒只數(shù)脈沖的個(gè)數(shù),即為頻率值。所以T1工作在定時(shí)狀態(tài)下,每定時(shí)1秒中到,就停止T0的計(jì)數(shù),而從T0的計(jì)數(shù)單元中讀取計(jì)數(shù)的數(shù)值,然后進(jìn)行數(shù)據(jù)處理。送到數(shù)碼管顯示出來。
(2).T1工作在定時(shí)狀態(tài)下,最大定時(shí)時(shí)間為65ms,達(dá)不到1秒的定時(shí),所以采用定時(shí)50ms,共定時(shí)20次,即可完成1秒的定時(shí)功能。
5.C語言源程序
#include
unsigned char code dispbit[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};
unsigned char dispbuf[8]={0,0,0,0,0,0,10,10};
unsigned char temp[8];
unsigned char dispcount;
unsigned char T0count;
unsigned char timecount;
bit flag;
unsigned long x;
void main(void)
{
unsigned char i;
TMOD=0x15;
TH0=0;
TL0=0;
TH1=(65536-4000)/256;
TL1=(65536-4000)%6;
TR1=1;
TR0=1;
ET0=1;
ET1=1;
EA=1;
while(1)
{
if(flag==1)
{
flag=0;
x=T0count*65536+TH0*256+TL0;
for(i=0;i<8;i++)
{
temp[i]=0;
}
i=0;
while(x/10)
{
temp[i]=x;
x=x/10;
i++;
}
temp[i]=x;
for(i=0;i<6;i++)
{
dispbuf[i]=temp[i];
}
timecount=0;
T0count=0;
TH0=0;
TL0=0;
TR0=1;
}
}
}
void t0(void) interrupt 1 using 0
{
T0count++;
}
void t1(void) interrupt 3 using 0
{
TH1=(65536-4000)/256;
TL1=(65536-4000)%6;
timecount++;
if(timecount==250)
{
TR0=0;
timecount=0;
flag=1;
}
P0=dispcode[dispbuf[dispcount]];
P2=dispbit[dispcount];
dispcount++;
if(dispcount==8)
{
dispcount=0;
}
}
(1).把“單片機(jī)系統(tǒng)”區(qū)域中的P0.0-P0.7與“動(dòng)態(tài)數(shù)碼顯示”區(qū)域中的ABCDEFGH端口用8芯排線連接。
(2).把“單片機(jī)系統(tǒng)”區(qū)域中的P2.0-P2.7與“動(dòng)態(tài)數(shù)碼顯示”區(qū)域中的S1S2S3S4S5S6S7S8端口用8芯排線連接。
(3).把“單片機(jī)系統(tǒng)”區(qū)域中的P3.4(T0)端子用導(dǎo)線連接到“頻率產(chǎn)生器”區(qū)域中的WAVE端子上。
4.程序設(shè)計(jì)內(nèi)容
(1).定時(shí)/計(jì)數(shù)器T0和T1的工作方式設(shè)置,由圖可知,T0是工作在計(jì)數(shù)狀態(tài)下,對(duì)輸入的頻率信號(hào)進(jìn)行計(jì)數(shù),但對(duì)工作在計(jì)數(shù)狀態(tài)下的T0,最大計(jì)數(shù)值為fOSC/24,由于fOSC=12MHz,因此:T0的最大計(jì)數(shù)頻率為250KHz。對(duì)于頻率的概念就是在一秒只數(shù)脈沖的個(gè)數(shù),即為頻率值。所以T1工作在定時(shí)狀態(tài)下,每定時(shí)1秒中到,就停止T0的計(jì)數(shù),而從T0的計(jì)數(shù)單元中讀取計(jì)數(shù)的數(shù)值,然后進(jìn)行數(shù)據(jù)處理。送到數(shù)碼管顯示出來。
(2).T1工作在定時(shí)狀態(tài)下,最大定時(shí)時(shí)間為65ms,達(dá)不到1秒的定時(shí),所以采用定時(shí)50ms,共定時(shí)20次,即可完成1秒的定時(shí)功能。
5.C語言源程序
#include
unsigned char code dispbit[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};
unsigned char dispbuf[8]={0,0,0,0,0,0,10,10};
unsigned char temp[8];
unsigned char dispcount;
unsigned char T0count;
unsigned char timecount;
bit flag;
unsigned long x;
void main(void)
{
unsigned char i;
TMOD=0x15;
TH0=0;
TL0=0;
TH1=(65536-4000)/256;
TL1=(65536-4000)%6;
TR1=1;
TR0=1;
ET0=1;
ET1=1;
EA=1;
while(1)
{
if(flag==1)
{
flag=0;
x=T0count*65536+TH0*256+TL0;
for(i=0;i<8;i++)
{
temp[i]=0;
}
i=0;
while(x/10)
{
temp[i]=x;
x=x/10;
i++;
}
temp[i]=x;
for(i=0;i<6;i++)
{
dispbuf[i]=temp[i];
}
timecount=0;
T0count=0;
TH0=0;
TL0=0;
TR0=1;
}
}
}
void t0(void) interrupt 1 using 0
{
T0count++;
}
void t1(void) interrupt 3 using 0
{
TH1=(65536-4000)/256;
TL1=(65536-4000)%6;
timecount++;
if(timecount==250)
{
TR0=0;
timecount=0;
flag=1;
}
P0=dispcode[dispbuf[dispcount]];
P2=dispbit[dispcount];
dispcount++;
if(dispcount==8)
{
dispcount=0;
}
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
頻率計(jì)數(shù)器的技術(shù)原理和應(yīng)用場(chǎng)景
頻率計(jì)數(shù)器,又稱頻率計(jì),是一種專門用于測(cè)量信號(hào)頻率的電子測(cè)量?jī)x器。以下是對(duì)其技術(shù)原理和應(yīng)用場(chǎng)景的詳細(xì)分析:一、技術(shù)原理頻率計(jì)數(shù)器的技術(shù)原理基于周期計(jì)
發(fā)表于 10-18 14:03
計(jì)數(shù)器同步和異步怎么判斷
字系統(tǒng)中有著廣泛的應(yīng)用,如定時(shí)器、頻率計(jì)、脈沖計(jì)數(shù)器等。 二、同步計(jì)數(shù)器 1. 同步計(jì)數(shù)器的概念 同步計(jì)
10 MHz OCXO,帶40 MHz頻率計(jì)數(shù)器
這個(gè)想法并不是我所有的硬件項(xiàng)目都有案例。幾年前我買了一個(gè),現(xiàn)在我記不清它的意圖了。但去年我決定在這個(gè)案例中安裝OCX0和頻率計(jì)數(shù)器。我使用OCXO振蕩器有兩個(gè)原因:在我測(cè)試NTP的過程中,它是一個(gè)
頻率計(jì)數(shù)器的工作原理是什么
頻率計(jì)數(shù)器是一種電子測(cè)量?jī)x器,用于測(cè)量信號(hào)的頻率,即單位時(shí)間內(nèi)的周期數(shù)。它廣泛應(yīng)用于科學(xué)、工程、通信和醫(yī)療等領(lǐng)域,用于測(cè)試和校準(zhǔn)電子設(shè)備。
二進(jìn)制串行計(jì)數(shù)器工作原理是什么?
的工作原理進(jìn)行深入解析,幫助你更好地理解這一數(shù)字電路的核心組件。 一、二進(jìn)制串行計(jì)數(shù)器的基本概念 二進(jìn)制串行計(jì)數(shù)器是一種基于二進(jìn)制數(shù)制的計(jì)數(shù)器,它按照二進(jìn)制數(shù)的規(guī)律進(jìn)行
同步計(jì)數(shù)器和異步計(jì)數(shù)器的區(qū)別
在數(shù)字電子領(lǐng)域中,計(jì)數(shù)器是一種用于統(tǒng)計(jì)脈沖信號(hào)數(shù)量的重要設(shè)備。其中,同步計(jì)數(shù)器和異步計(jì)數(shù)器是兩種不同類型的計(jì)數(shù)器,它們?cè)诠ぷ髟怼⑻匦砸约皯?yīng)用場(chǎng)景等方面存在著顯著的區(qū)別。本文將詳細(xì)探討
簡(jiǎn)單認(rèn)識(shí)脈沖計(jì)數(shù)器
在數(shù)字電路和電子測(cè)量領(lǐng)域中,脈沖計(jì)數(shù)器作為一種基本而重要的工具,其應(yīng)用十分廣泛。脈沖計(jì)數(shù)器,也被稱為脈沖頻率計(jì)或脈沖數(shù)計(jì),主要用于統(tǒng)計(jì)和測(cè)量輸入脈沖信號(hào)的
同步4位計(jì)數(shù)器數(shù)據(jù)表
電子發(fā)燒友網(wǎng)站提供《同步4位計(jì)數(shù)器數(shù)據(jù)表.pdf》資料免費(fèi)下載
發(fā)表于 05-15 10:08
?0次下載
頻率計(jì)有哪些作用
頻率計(jì)又稱為頻率計(jì)數(shù)器,是一種專門對(duì)被測(cè)信號(hào)頻率進(jìn)行測(cè)量的電子測(cè)量?jī)x器。其主要由四個(gè)部分構(gòu)成:時(shí)基(T)電路、輸入電路、計(jì)數(shù)顯示電路以及控制電路。又稱為
計(jì)數(shù)器怎么判斷同步和異步 計(jì)數(shù)器異步和同步的區(qū)別
應(yīng)用中的各自優(yōu)勢(shì)和限制。 一、計(jì)數(shù)器概述 計(jì)數(shù)器是一個(gè)數(shù)值型的變量,它能夠用于存儲(chǔ)和追蹤特定事件的發(fā)生次數(shù)。在計(jì)算機(jī)系統(tǒng)中,計(jì)數(shù)器起到非常重要的作用,例如統(tǒng)計(jì)程序執(zhí)行的指令數(shù)、計(jì)算循環(huán)
如何使用時(shí)間間隔計(jì)數(shù)器/間隔計(jì)時(shí)器
頻率計(jì)數(shù)器通常具有高阻抗輸入。這通常為 1MΩ。可以使用 X1 示波器探頭將計(jì)數(shù)器連接到被測(cè)電路的點(diǎn) n。由于示波器探頭具有夾子和BNC輸入,因此這通常是一種非常方便的連接和探測(cè)方式。
淺談時(shí)間間隔計(jì)數(shù)器的定時(shí)器間隔測(cè)量功能
與頻率計(jì)數(shù)器一樣,定時(shí)器計(jì)數(shù)器或間隔定時(shí)器也具有許多組成測(cè)試儀器的模塊。它們與計(jì)數(shù)器中使用的非常相似,只需要重新配置即可提供間隔定時(shí)功能。
計(jì)數(shù)器怎么用 計(jì)數(shù)器的作用有哪些
計(jì)數(shù)器是一種被廣泛應(yīng)用于各個(gè)領(lǐng)域的實(shí)用工具,在我們的日常生活中隨處可見。無論是進(jìn)行時(shí)間統(tǒng)計(jì),協(xié)助工作任務(wù)的完成,還是用于科學(xué)研究和編程技術(shù),在各個(gè)領(lǐng)域都起到了重要的作用。本文將詳細(xì)介紹計(jì)數(shù)器
同步計(jì)數(shù)器和異步計(jì)數(shù)器各有什么特點(diǎn)
同步計(jì)數(shù)器和異步計(jì)數(shù)器是兩種常見的數(shù)據(jù)結(jié)構(gòu),它們都用于控制對(duì)共享資源的訪問。它們的主要作用是實(shí)現(xiàn)多個(gè)線程之間的同步和并發(fā)控制。盡管它們都被用于同步的目的,但它們有很多不同的特點(diǎn)和用例。 同步計(jì)數(shù)器
同步計(jì)數(shù)器和異步計(jì)數(shù)器的區(qū)別主要在哪里
、應(yīng)用等方面。 一、工作原理 同步計(jì)數(shù)器:同步計(jì)數(shù)器的工作原理是,在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,對(duì)輸入的二進(jìn)制數(shù)進(jìn)行加法或減法運(yùn)算,從而得到計(jì)數(shù)值。在每個(gè)時(shí)鐘周期內(nèi),同步
評(píng)論