一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>C語(yǔ)言|源代碼>0.1Hz 10MHz頻率計(jì)

0.1Hz 10MHz頻率計(jì)

2008-05-19 | rar | 444 | 次下載 | 10積分

資料介紹

#include
unsigned char t=0,yichu=0,fenpin;
sbit B153=P2^0;
sbit A153=P2^1;
sbit GATE=P2^6;
sbit CLR=P2^7;
sbit P33=P3^3;


void t0(void)interrupt 1
{t++;
yichu=2;????????//定時(shí)器0溢出,yichu=2
}

void t1(void)interrupt 3????//計(jì)數(shù)器1溢出,yichu=1
{TCON=0;
yichu=1;
TH1=0xff;
TL1=0xff;
}

void delay(void)??????//1s軟件延時(shí)
{unsigned int i=500,j;
while(i)
?{i--;
?j=250;
?while(j)
??{j--;}
?}
}
unsigned char table(unsigned char x)?//軟件查表輸出
{unsigned char code n[10]={0xee,0x82,0xdc,0xd6,0xb2,0x76,0x7e,0xc2,0xfe,0xf6};
return(n[x]);
}

display(float f)??????//以測(cè)出的頻率串行輸出
{unsigned long x;
unsigned char a[5]={0,0,0,0,0},i=0,j;
if(f!=0){
if((f<10000)&&(f>1))?????//正常顯示
?{if(f>1000)f=f-1;?????//軟件修正頻率偏差
?while(f<1000)
??{f=f*10;
??i++;
??}
?x=f*10;
?a[4]=x%10;
?if(a[4]>=5)f=f+1;;
?x=f;
?a[1]=x%10;
?a[2]=(x/10)%10;
?a[3]=(x/100)%10;
?a[4]=(x/1000)%10;
?for(j=0;j<5;j++)
??{a[j]=table(a[j]);}
?a[i+1]++;
?a[0]=0;
?}
else if(f>=10000)??????//以科學(xué)計(jì)數(shù)法顯示
?{while(f>=1000)
??{f=f/10;
??i++;
??}
?x=f;
?a[4]=(unsigned char)((float)((f-x))*10);
?if(a[4]>=5)x++;??????//四舍五入
?a[2]=x%10;
?a[3]=(x/10)%10;
?a[4]=(x/100)%10;
?a[0]=i+2;
?for(j=0;j<5;j++)
??{a[j]=table(a[j]);}
?a[4]++;
?a[1]=0x7c;
?}
else
?{x=f*10000;???????//頻率值小于1
?if((x%10)>=5)x=x+10;?//四舍五入
?x=x/10;
?a[1]=x%10;
?a[2]=(x/10)%10;
?a[3]=(x/100)%10;
?a[4]=(x/1000)%10;
?for(j=0;j<5;j++)??
??{a[j]=table(a[j]);}
?a[4]++;
?a[0]=0;
?}
?
}
for(j=0;j<5;j++)???//串行
?{SBUF=a[j];
?while(TI==0);}

}

cepin()
{unsigned char i;
float sj;
unsigned long js;//時(shí)間、計(jì)數(shù)的拼音首字母
float f;??//f為頻率
TMOD=0xd9;
t=0;
TH0=0;
TL0=0;
TH1=0;
TL1=0;
GATE=0;
TCON=0x50;
GATE=1;
delay();
GATE=0;
for(i=0;i<250;i++){}????//延時(shí)1ms
sj=((float)(TH0*256+t*65536+TL0))/1000000.0;
js=(long)TH1*256+TL1+1;
f=(js/sj)*fenpin;
display(f);
}

panduan()
{float zhouqi;
B153=1;
A153=1;
TMOD=0x51;??
TH0=0xce;??//定時(shí)器0=12.8ms
TL0=0;
TH1=0xff;??//計(jì)數(shù)器1=100個(gè)脈沖
TL1=0x9c;
TCON=0x50;
while(yichu==0);
TCON=0;
if(yichu==1)?//計(jì)數(shù)器先溢出:在12.8ms內(nèi)測(cè)得的脈沖過(guò)多,說(shuō)明頻率較高
?{fenpin=128;//轉(zhuǎn)為測(cè)128分頻后的頻率
?cepin();}
else ???//計(jì)時(shí)器先溢出:100個(gè)脈沖的時(shí)間比較短,即頻率較低,可以減少分頻數(shù)
?{yichu=0;
?B153=1;
?A153=0;
?TH0=0xc1;?//定時(shí)器0=16ms
?TL0=0x80;
?TH1=0xff;?//計(jì)數(shù)器1=100個(gè)脈沖
?TL1=0x9c;
?TCON=0x50;
?while(yichu==0);
?TCON=0;
?if(yichu==1)?? //計(jì)數(shù)器先溢出:在16ms內(nèi)測(cè)得的脈沖過(guò)多,說(shuō)明頻率較高
??{fenpin=16;//轉(zhuǎn)為測(cè)16分頻后的頻率
??cepin();}
?else?? //計(jì)時(shí)器先溢出:100個(gè)脈沖的時(shí)間比較短,即頻率較低,用2分頻測(cè)周期
??{B153=0; //以下是測(cè)周期部分
??A153=0;
??TH0=0;
??TL0=0;
??t=0;
??TMOD=0x09;
??TR0=1;
??GATE=1;
??while(P33==0);
??GATE=0;
??while(P33==1);
??TR0=0;
??zhouqi=(TH0*256+t*65536+TL0)/1000000.0;
??if(zhouqi<0.001)?//若周期太小,則轉(zhuǎn)為測(cè)原頻率
???{fenpin=1;
???B153=0;
???A153=0;
???cepin();}
??else{display((1.0/zhouqi));}
??}
?}
}

main()
{
IE=0x8a;
while(1)
?{
?panduan();?//判斷原頻率屬于哪個(gè)范圍,并調(diào)用相應(yīng)函數(shù)測(cè)其頻率
?delay();
?}

}

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1電子電路原理第七版PDF電子教材免費(fèi)下載
  2. 0.00 MB  |  1490次下載  |  免費(fèi)
  3. 2單片機(jī)典型實(shí)例介紹
  4. 18.19 MB  |  92次下載  |  1 積分
  5. 3S7-200PLC編程實(shí)例詳細(xì)資料
  6. 1.17 MB  |  27次下載  |  1 積分
  7. 4筆記本電腦主板的元件識(shí)別和講解說(shuō)明
  8. 4.28 MB  |  18次下載  |  4 積分
  9. 5開關(guān)電源原理及各功能電路詳解
  10. 0.38 MB  |  10次下載  |  免費(fèi)
  11. 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
  12. 0.11 MB  |  4次下載  |  免費(fèi)
  13. 7藍(lán)牙設(shè)備在嵌入式領(lǐng)域的廣泛應(yīng)用
  14. 0.63 MB  |  3次下載  |  免費(fèi)
  15. 89天練會(huì)電子電路識(shí)圖
  16. 5.91 MB  |  3次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234313次下載  |  免費(fèi)
  3. 2PADS 9.0 2009最新版 -下載
  4. 0.00 MB  |  66304次下載  |  免費(fèi)
  5. 3protel99下載protel99軟件下載(中文版)
  6. 0.00 MB  |  51209次下載  |  免費(fèi)
  7. 4LabView 8.0 專業(yè)版下載 (3CD完整版)
  8. 0.00 MB  |  51043次下載  |  免費(fèi)
  9. 5555集成電路應(yīng)用800例(新編版)
  10. 0.00 MB  |  33562次下載  |  免費(fèi)
  11. 6接口電路圖大全
  12. 未知  |  30320次下載  |  免費(fèi)
  13. 7Multisim 10下載Multisim 10 中文版
  14. 0.00 MB  |  28588次下載  |  免費(fèi)
  15. 8開關(guān)電源設(shè)計(jì)實(shí)例指南
  16. 未知  |  21539次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935053次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537791次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234313次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233045次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191183次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183277次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138039次下載  |  免費(fèi)