项目概要在这个项目中,我们正在建设一个基本的和低成本的频率计数器电路。它可以测量从16Hz到100Hz的信号的最大振幅为15V。灵敏度高,分辨率为0.01Hz。该输入信号可以是正弦波,一个正方形或三角形波形。 项目简介该计数器可以用于许多应用。例如,要观察的振荡器的精度,测量电源频率,或者找出连接到编码器的电动机的转速。 提供的PCB图,您可以用熨烫的方法制作PCB板。
元件清单:
数码管是14.2毫米普通阴极七段LED红光数码管。
在测量频率的输入信号,信号必须被转换为方波。因此,一个光隔离器4N25光耦电路用于这一目的。因此,输入信号是从微控制器的电路的安全隔离,并转换为方波。信号幅度不得超过15V。如果发生这种情况,1K电阻可能会烧掉。如果你想测量电源频率,你应该使用一个220V/9V变压器转换。 电源电压应在8-12V之间。由于电路可能会投奔,你应该小心,同时连接电源的极性。
计数器电路原理图中,有4个LED显示数码管。为了进行测量,在RB3引脚连接到输出光纤隔离器。所述第二显示的5编号的引脚被连接到电源通过1K的电阻,所以点之后的第二显示亮色。在原理图中未示出此连接。
#p#分页标题#e#
我们使用了额外的两个插座。一(18针,2路)PIC16F628微控制器,另一种是(40针,2路)七段显示器。
![]()
频率计的PCB板图
源程序:
(责任编辑:admin)
//---------------------------------------------
// FREQUENCY COUNTER
// www.circuit-projects.com
// Y.Erol
//---------------------------------------------
#include <pic.h>
#include <delay.c>
__CONFIG(WDTDIS&PWRTEN&LVPDIS&XT);
unsigned char kontrol;
//---------------------------------------------
// CCP1 INTERRUPT
//---------------------------------------------
void interrupt interrupt(void){
TMR1H=0; TMR1L=0;
GIE=0;
#p#分页标题#e#
control=1;
CCP1IF=0;
GIE=1;
}
//---------------------------------------------
// MAIN PROGRAM
//---------------------------------------------
main(void)
{
unsigned const char number[10]={0x3F,0x06,0x5B,
0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
unsigned char select[4]={1,2,4,8};
unsigned int counter,value,remainder1,remainder2;
float frekans;
unsigned char a,i,display[5],data;
TRISA=0x00;
TRISB=0x08;
CMCON=0x07;
cont=0;
PORTA=0; PORTB=0
CCP1IE=1;
CCP1CON=0b00000110;
T1CON=0b00100001;
GIE=1;
PEIE=1;
for(;;){
counter=256*CCPR1H+CCPR1L;
if(control==1)frequency=100000000/counter;
if(kontrol==0)frequency=0;
if(counter<10000)frequency=0;
control=0;
for(a=0;a<25;a++){
value=(int)frequency;
#p#分页标题#e#
display[1]=value/1000;
remainder1=value-display[1]*1000;
display[2]=remainder1/100;
remainder2=remainder1-display[2]*100;
display[3]=remainder2/10;
display[4]=remainder2-display[3]*10;
for(i=0;i<4;i++){
PORTB=0;
PORTA=0;
data=number[display[i+1]];
PORTB=data&0x07;
data=data<<1;
PORTB=PORTB|(data&0xF0);
PORTA=select[i];
DelayMs(3);
}
}
}
}
HEX文件:
:10000000830100308A001628FC0003088301BB002E
:10001000831203138F018E018B13A001A00A0C1110
:100020008B173B088300FC0E7C0E090020308400F7
:100030003B301F208301B22D04068001840A040690
:10004000031900341C2882073F3406345B344F34D4
:0C00500066346D347D3407347F346F3427
:100B0600F0000030711870070310F00D0310F10C9F
:100B1600F10803190800852D83120313B800043069
:100B2600B9005330BA00BA0B962DB90B942DB80BF9
:100B3600922D0800F401F5010310F30CF20C031CCE
:100B4600AB2D7008F40771080318710AF507031036
:100B5600F00DF10D72087304031900349F2D8312F2
:100B66000313AF01AF0A0230B0000430B100083001
:100B7600B200831685018600073083129F00A0010C
:100B86008501860183160C150630831297002130E5
:100B960090008B170B171608AB001508AA00200B40
:100BA600E92D2A08F4002B08F500F601F701F001FB
:100BB600E130F100F530F2000530F30041278826D8
:100BC6007008AC007108AD007208AE00A008031DE5
:100BD600EF2DAC01AD01AE0127302B021030031909
#p#分页标题#e#:100BE6002A020318F92DAC01AD01AE01A001A10145
:0A0BF6002C08F0002D08F1002E0875
:100C0000F2009B267008A4007108A500E830F200ED
:100C10000330F3002508F1002408F0000A277408C7
:100C2000B400E830F2000330F3003408F000F101C2
:100C30009D252508F1002408F0007408F002031C2B
:100C4000F1037508F1027008A6007108A70064306E
:100C5000F200F3012708F1002608F0000A277408C3
:100C6000B5006430F200F3013508F000F1019D2574
:100C70002708F1002608F0007408F002031CF103B5
:100C80007508F1027008A8007108A9000A30F20086
:100C9000F3012908F1002808F0000A277408B600BB
:100CA0000A30F100360883252802B700A301860127
:100CB000850100308A00230A333E84008313000834
:100CC0002320A200073986000310A20D2208F03964
:100CD000860423082F3E8400831300088500033018
:100CE0008F25A30A04302302031C572EA10A1930B2
:100CF00021020318CE2DFB2D84080319003472083D
:100D00008000840371088000840370088000003430
:100D1000F31F8D2E7814E3278E2EF8018E30F60007
:100D20008401F3080319E82E0310F30CF20CF10C04
:100D3000F00CF60A912E8401BE26F3018230F607EC
:100D4000F61BC92EF030F607F61BB72E18307602C8
:100D50000318C92EF608031DB02E7818E3270800E3
:100D6000F6030310F00DF10DF20DF30DAA2E031092
:100D7000F20CF10CF00CF60FB72EAD2EF801710D40
:100D8000720DF60000380319C92EF80DF201F117A3
:100D90000800F001F101F2010034F810740D750D36
:100DA000F70000380319D92E0318F814F501F417C9
:100DB0000800F701F301F401F501080076080319B2
:100DC000C92EF113F80C760CF2000318F1177C2EE3
:100DD000F608031DFC2EF001F101F2017C2E7203D6
:100DE0000319F00A0319F10A0319F20A0310F20CAD
:100DF000F10CF00CF60AE82EF208031DEF2E700835
:100E000071040319EB2EF11BDE2EF6030310F00D17
:100E1000F10D032FF601F401F501720873040319B3
:100E200000341F30F6040310F60AF20DF30D031C14
:100E3000142FF30CF20C73087102031D212F72089A
:100E40007002031C292F7208F0027308031C730A36
:100E5000F102F40DF50DF60BF61A192FF61F352FCA
:100E6000F409F40A0319F503F5097408F20075088A
:100E7000F300761F0034F009F00A0319F103F109B9#p#分页标题#e#
:100E8000003484018312BC01F31F552F0310FF307F
:100E9000F007F009031CF107F109031CF207F2093E
:100EA000031CF307F3093C17BC1777088039BC060D
:100EB000F71F6B2F0310FF30F407F409031CF5072D
:100EC000F509031CF607F609031CF707F7096B2F52
:100ED00084018312BC01F801F901FA01FB017408D5
:100EE0007504760477040319782FC030BC05832F6E
:100EF000F001F101F201F301F12F0310F40DF50DF2
:100F0000F60DF70DBC0AF71F7D2FBC0A0310F80D74
:100F1000F90DFA0DFB0D77087302031D992F760862
:100F20007202031D992F75087102031D992F740811
:100F30007002031CAB2F78147408F0027508031CB0
:100F4000750FF1027608031C760FF2027708031C76
:100F5000770FF3020310F70CF60CF50CF40CBC033E
:100F60003C083F39031D862F3C1FC32F0310FF3061
:100F7000F007F009031CF107F109031CF207F2095D
:100F8000031CF307F3097008F4007108F5007208F8
:100F9000F6007308F7007808F0007908F1007A0885
:100FA000F2007B08F300BC1FF12F0310FF30F007A5
:100FB000F009031CF107F109031CF207F209031CF5
:100FC000F307F309F12F0310FF30F007F009031CBA
:100FD000F107F109031CF207F209031CF307F309F7
:100FE0000800840803190034730880008403720821
:100FF000800084037108800084037008800000343E
:02400E0061FF50
:00000001FF
|