SE-FCNTR
100 MHz ??? ??? / ?? ???
8051? ??? 8 ??? 100MHz ??? ??????.
Crossware 8051 ANSI C ?? ????? ???????.
.
24MHz ? ????? ???? 8051 XTAL1 ??? ???
24000000 ? ?????. 1 ???? ??? ?? ??
16??? 10 ??? ??? ? 12 ~ 48 ?? ??? ???? ??? ???????.
8 ??? FND ? ???????.
8051 ? ?? 16 ?? ???? ?? 12??(74F161?? 4 ??, 74HC393?? 8 ??)? ??? 28 ?? ????? 8 ???? 100MHz ??? ??????. |
1 ???? 99.999999 ? 8 ?? ????????. |
100MHz ????? 2.4G ??? 64?? ?????? |
. |
TI?? ?? 120MHz ??? ??? 4?? ??? SN74F161? ???????. |
Hold ?? ??, MHz/GHz ?? ??? |
FND? ???? ?? ? ??? ?????. |
PCB???. |
. |
: SE-FCNTR ? 8051???? ????? ??? ??? ??? ??? ??? ???. 100MHz ??? ???, ???? 100MHz ????, 2.4G 64?? ??????? 3 ? ??? ??? ?????. ??? ??? ??? ???? ????? ATMEL ?? AT89C51? ???????. AT89C51? Intel ?? ?? 8051 ? ???? 4K Bytes ? Flash ???? ??? ???? ???? ??? ???? ?? ? ?? ?? ??? ???? ???? ???. 8051 ????? 2 ?? 16 ?? ?? ???? ??? ????. Timer0 ? ?? ???? ?? ??? ????? ???? Timer1 ? 1 ?? ??? ??? ??? ??? ?????. ??? ??? ?? ??? ?? ??? FND ????? ???? ???? ???????. 2mS ?? 1 ?? FND ? ????? ?????. ???? ?? ???? ??? ?? ??? 8051? ?? 16 ?? ???/??? ????? ??? ???? ???? ??? ?????. 8051 ? Timer ??? ?? ???? Xtal1 ?? ???? 1/4 ???. ?? ?? XTAL1 ? ??? 24MHz ???? ??? ??? ??? ??? ???? 6MHz ???. ??? ???? ????? 5~6 ?? ????? ?????? ?? ????? ?? ???? ?? ??? 8?? ??? ??? ??? ???????. 8 ?? ??? ???? ????? ?? 27 ??? ?? ???? ?????. Timer0? 16 ??? ???? ??? 8 ??(74HC393) ? 4 ??(74161)? ??? 28 ?? ???? ?????. 2? 28 ?? 268435456 ??? 99999999? ??(8??)?? ??? ?????. ??? ?? 100MHz ? ??? ? ? ?? IC?? 74??? ??? 74F161 ? ????. ?? ????? 74F161? ????? ?? ??? ???? ??? ????. ?? 100MHz ? ???? ?????? TI?? SN74F161N ? 120MHz? ?? ?? ??? ??? ??? ????. SN74F161? 4 ?? ??? ??? 16 ???? ?? 100MHz? 16 ???? 6.25MHz ? ???. ?? ? ???? ?? ????? ?????? ???.? ???? ???? ??? IC ?? ?? ??? ?? ??? ???. 1 ?? ???? ?? ???? ?? ???? ???? 74HC393 ? 8 ?? ??? ?????. 74HC393?? 8 ?? ???? ??? 25KHz? ?? ?? ???? ??? AT89C51? Timer0 ? ????? ??????. 8051? ??? ???? ????? ???? ????? ????? 1 Sec ? ?? ??? ???? ??? ???? 8051? ??? ????? ????? ???. 8051? 1980??? ??? ?? ??? ???? ???. ??? ????? ??? ??? ???? ????? ?? ?? ? ?? ??? ?? ???. ?????? ???? ??? sjmp $ ??? ???? ??? 1 uS ? 1/2 ?? 1/4 ? ??? ??? ???. 8051? 12 ?? XTAL1 ???? ?? ??? ???? ??? ???. ?? ?? 1??? ?? NOP? INC R0 ? 12?? ??? ???? SJMP $ ??? 24?? ??? ?????. 24MHz ? ?? ???? ????? 24?? ?? ??? 1 uS ? ???. 8051? 1 S ? ?? ? ?? ? ??? ???? ??? ?? ????. ???? ?? 500?? ????? ???? 1 S? ??? ? ?? ?? ????? ?????. ????? ?? ???? 1uS ???? ??? ????? ???. 24?? ??8051? ??? 24MHz? ?????. 8051? 12 ??? ?????(???? ?? ????)? ?????. ?????? 12 ??? ???? ???? ???? 500 nS ? ???. : C ????? ???? ?????? ???????. ?? Crossware ?? 8051 ANSI C ????? ??? ??? ??? 32?? ?????????? ???? IEEE695 ??? ??? ?????. ??? ???? ???? ??? 0 ???? ???? 4K Bytes ? Free ?? ????? ??? ?? ???????. (??? 8051 ?? ????? ???? ??? ????? ???? ??? ?? ROM ? ?????).
8051? XTAL1 ???? 24MHz ? ?????. ??? 74F161? ????? XTAL1 ? ?? 24MHz ? ?????. (??????? ??) ?? FND ? ???? ??? 24000000 ? ??? ?????? ??? ????. ?????? 2400000 ? ????? ??????? ????? ???? ???? ?? ?????. (1 Sec ??? ?? ??? ?? ??? ?????) 100MHz / 1M Ohm ????: . ????? ?? ????? TTL ??? ???? ??? ??? ???? ?????. ?? ??? ??? 100MHz ??? ????? ? ??? ??? ????? ???. ??? Sine ?? ???? ????? ???. ? ??? ???? ?? ??? ??? ???. 74 ??? ??? 74LS14 ? ?????. ??? 100MHz ??? ???? ????? ??? ???? ????? ?????. 74F14 ? 74AS14 ? ??????? ????? ???? ??? ???? ???? 65MHz ??? ?? ??? ????. (?? ????) TI ?? SN74AHCT14 ? ?? ????? ??? 120MHz ??? ??? ??? ??? ??? ????? ???????. ?? ???? ?? ????? ????. ????? 50MHz ~ 100MHz ? ? 1.5V ???? 50MHz ???? 0.5V ??? ???? ?????.
. ???? 30MHz ???? 10??? ??? ?? ??????? ??? 300MHz ???? ?? ????. TTL IC ? ???? ??? ???? 10 ?? ?????? IC ? ?????? ?? ???? ?????? ????? ????? 64/128/256 ?? ?? ????? ?????. ?? ??? ??? ??????? FUJITSU?? MB506 ???. 10MHz ?? 2.4GHz ?? 64?? ????? ???? ?????. ????? ???? ??? Mini Circuits?? MAR-6 ? 2 ? ?????. 0.1V? ?? ??? ???? ?????. ?? ????? 50 Ohm ???. SE-FCNTR ????? ????? ??? ??? ?? ??, ????/?????? ????, ???? ??? ????? ?? ??? ?? ? ?? ???? ??? ????.
|
// // 100MHz / 2.4GHz Universal Counter // // SAMPLE Electronics co. 25. Nov. 2003 // // Crossware Embedded Development Studio V 3.3.1.2 // // // // 74F161 ? 4 Bit, 74HC393? 8 Bit ??? 8051 ?? ??? T0 16 Bit ? // 28 ??? ???? ????. // ?? ????? 1 Sec ? ??? ?? 8 ?????100 MHz ???? ???. // 64 ?? ??????? ???? ??? ?? ?? ??? 0.64 S ? // ??? ??. // // // 8051 Initial C Source File // #include <sfr.h> #include <os.h> #include <stdlib.h> #include <stdio.h> _sfrbit P36_o_74f161_clr_n = _p3^6; // ?? ??? F161 ??? _sfrbit P35_o_74f161_enp = _p3^5; // ?? ??? F161 ???? _sfrbit P30_io_74hc393_clr_hold = _p3^0; // ?? ??? HC393 ??? / HOLD?? _sfrbit P37_i_prescaler = _p3^7; // 64 ?? Pre Scaler // // 7 Segment LED ?? ??? // hgfedcba #define DIG0 0xC0 // 11000000b ; 0 P2.0 #define DIG1 0xF9 // 11111001b ; 1 +-----a-----+ #define DIG2 0xA4 // 10100100b ; 2 | | #define DIG3 0xB0 // 10110000b ; 3 P2.5 f b P2.1 #define DIG4 0x99 // 10011001b ; 4 | | #define DIG5 0x92 // 10010010b ; 5 | P2.6 | #define DIG6 0x82 // 10000010b ; 6 +-----g-----+ #define DIG7 0xD8 // 11011000b ; 7 | | #define DIG8 0x80 // 10000000b ; 8 P2.4 e c P2.2 #define DIG9 0x98 // 10011000b ; 9 | | // ; | P2.3 | #define DIGM 0xBF // 10111111b ; - +-----d-----+ * h P2.7 #define DIGP 0x7F // 01111111b ; . #define DIGB 0xFF // 11111111b ; "Blank" // const char segment_pattern[] = { DIG0, DIG1, DIG2,\ DIG3, DIG4, DIG5, DIG6, DIG7, DIG8, DIG9 }; // const char segment_select[] = { 0xFE, 0xFD, 0xFB, \ 0xF7, 0xEF, 0xDF, 0xBF, 0x7F }; // unsigned long trailer; unsigned long task; unsigned int trimer; unsigned char fnd[8]; unsigned char mfnd[8]; unsigned int int_state; unsigned char fnd_state; unsigned char boat; bit hold; // // void _interrupt IVN_TIMER1 time_base() { ////////////////////////////////////////////// _tl1 = 0x60; _th1 = 0xF0; // 4000 2 M Sec 500 Times ////////////////////////////////////////////// _p0 = 0xff; _p2 = segment_select[fnd_state]; _p0 = fnd[fnd_state++]; fnd_state &= 0x07; ////////////////////////////////////////////// if(int_state == 0) { // P35_o_74f161_enp = 0; // ?? ??? F161 ??? ?? ?? // P30_io_74hc393_clr_hold = 1; // ?? ??? HC393 ??? ??? P36_o_74f161_clr_n = 0; // ?? ??? F161 ??? ??? _tl0 = 0x00; _th0 = 0x00; // ?? ??? ??? // hold = P30_io_74hc393_clr_hold; // Hold Key ?? ?? P36_o_74f161_clr_n = 1; // ?? ??? F161 ??? ???? P30_io_74hc393_clr_hold = 0; // ?? ??? HC393 ??? ???? // P35_o_74f161_enp = 1; // ?? ??? F161 ??? ?? ?? } ////////////////////////////////////////////// if(int_state == 316) { // 10 GHz Mode(64 Divide Prescaler) if (!P37_i_prescaler) { // 0.64 Sec Gate Time for (trimer = 0; trimer<202; trimer++) ; // 15 Machine Cycle ?? // ??? ???? 24 MHz ? ???? boat++; // 15360000 ? ????? ????. boat++; // 1 Machine Cycle (12 Clock) Delay boat++; // 15359988 boat++; // 15360000 // boat++; // 15360012 P35_o_74f161_enp = 0; // ?? ???? ???. trailer = _th0; trailer = (trailer << 20) & 0x0ff00000; task = _tl0; task = (task << 12) & 0x000ff000; trailer |= task; task = _p3; task = (task << 7) & 0x00000f00; trailer |= task; task = _p1 & 0x000000ff; trailer |= task; P35_o_74f161_enp = 1; // ?? ??? ???? ????? // ?? ???? ?? ????. } } ////////////////////////////////////////////// if(int_state == 494) { // 100 MHz Mode 1 Sec Gate Time if (P37_i_prescaler) { // 1 Sec Gate Time for (trimer = 0; trimer<248; trimer++) ; // 15 Machine Cycle ?? // ??? ???? 24 MHz ? ???? boat++; // 24000000 ? ????? ????. boat++; // boat++; // boat++; // boat++; // 1 Machine Cycle (12 Clock) Delay boat++; // 23999988 boat++; // 24000000 // boat++; // 24000012 P35_o_74f161_enp = 0; // ?? ???? ???. trailer = _th0; trailer = (trailer << 20) & 0x0ff00000; task = _tl0; task = (task << 12) & 0x000ff000; trailer |= task; task = _p3; task = (task << 7) & 0x00000f00; trailer |= task; task = _p1 & 0x000000ff; trailer |= task; P35_o_74f161_enp = 1; // ?? ??? ???? ????? // ?? ???? ?? ????. } } ////////////////////////////////////////////// if(int_state == 506) { // 1Hz ?? ??? boat = trailer % 10; mfnd[7] = segment_pattern[boat & 0xf]; trailer /= 10; } ////////////////////////////////////////////// if(int_state == 507) { boat = trailer % 10; mfnd[6] = segment_pattern[boat & 0xf]; trailer /= 10; } ////////////////////////////////////////////// if(int_state == 508) { boat = trailer % 10; mfnd[5] = segment_pattern[boat & 0xf]; trailer /= 10; } ////////////////////////////////////////////// if(int_state == 509) { boat = trailer % 10; mfnd[4] = segment_pattern[boat & 0xf]; trailer /= 10; } ////////////////////////////////////////////// if(int_state == 510) { boat = trailer % 10; mfnd[3] = segment_pattern[boat & 0xf]; trailer /= 10; } ////////////////////////////////////////////// if(int_state == 511) { boat = trailer % 10; mfnd[2] = segment_pattern[boat & 0xf]; trailer /= 10; } ////////////////////////////////////////////// if(int_state == 512) { boat = trailer % 10; mfnd[1] = segment_pattern[boat & 0xf]; trailer /= 10; } ////////////////////////////////////////////// if(int_state == 513) { boat = trailer % 10; mfnd[0] = segment_pattern[boat & 0xf]; trailer /= 10; } ////////////////////////////////////////////// int_state++; ////////////////////////////////////////////// if(int_state >= 514) { int_state = 0; if (hold) { fnd[0] = mfnd[0]; fnd[1] = mfnd[1]; fnd[2] = mfnd[2]; fnd[3] = mfnd[3]; fnd[4] = mfnd[4]; fnd[5] = mfnd[5]; fnd[6] = mfnd[6]; fnd[7] = mfnd[7]; if (P37_i_prescaler) { fnd[1] &= 0x7F; // MHz Point } else { fnd[0] &= 0x7F; // GHz Point } } } ////////////////////////////////////////////// } main() { _tmod = 0x15; // 0b00010101 Timer0 = Mode1, Counter, use TR0 // Timer1 = Mode1, Timer, use TR1 _tl0 = 0X0; _th0 = 0X0; _tl1 = 0X0; _th1 = 0X0; _tr0 = 1; // Timer 0 ???? _tr1 = 1; // Timer 1 ???? _et1 = 1; // ??? 1 ???? ???? ?? _ea = 1; // ??? ???? ???? ?? while(1) ; } |
(1) Crossware 8051 C ??????? ???? c:\estudio_demo\Projects\fcntr4 ??? ?? ? ??? ???. (2) Crossware ? File ???? Project Open ? ???? c:\estudio_demo\Projects\fcntr4 \fcntr4.xmk ? ?????. (3) Crossware? Build ???? Rebuild All ? ???? ?? ??? ?????? fcntr4.hex ? ??????. (5) 8051 ?????? ??? ????? ?? ?????? ??? SE-516SP fcntr4? AT89C51 ? ??????. Crossware 8051 C ???? ????? ??????. HEX ?? ??? ????? 0000H ???? 4K Hex ?? ??? ?????. Flash ???? 4K ? AT89C51, AT89S51 ? AT89C1051/2051/4051 ? ??? ? ????. Crossware 8051 C ????? . |
SE-PAMP
100 MHz ????
1M Ohm
100mV , 50MHz~ 100MHz ?? 2V ? ??? ???? TTL ??? ???? ???????. |
10Hz ~ 100MHz ???? 1M Ohm ?????? ???. |
100 MHz? SINE?? TTL? ????? ??? ??? ??? SN74AHCT14 |
FET 2SK241 |
NEC?? 5 GHz ??? 2SC2570 |
|
SE-PRSC
2.4 GHz ????
50 Ohm
10MHz ~ 2.4GHz ?? ???? 64?? ?????? ???. |
100mV ???. |
Mini circuits?? ???? ???? ??? ?? IC ? ???????. |
50 Ohm ?????? ???. |
Mini Circuits ?? ??? ??? ??? MAR-6 |
FUJITSU?? 2.4 GHz ?????? (64, 128, 256 ?? ????) MB506 |
Dip ??? ??? ??? ???
100Mhz ???? ???? ??? |
. |
. |
80MHz (G ??)? ???? ???? ???? ?????. |
2.4G ?????? ??? |
(Dip Meter) |
联系客服