I was reviewing some of the questions on the forum regarding the Frequency Counter and was wondering if the errors that some of the people mentioned are correct and if whether the errors have been rectified.
Have a careful look 3 years ago , 4 years ago , 2 years ago what does this tell you How do we count frequency these days ?
Answer via a PC through the USB port or ???? Display this on what ??? LCD screen via what ??? HDMI port or how else ?? Across the net and onto a webpage using what ?? A java applet and java Servlet technology possibly other languages and How else Via RF or Bluetooth using what ?? Mobile Phones as well using what else Oh Ho Wireless technology hmmmmm
There’s your answers 3 years ago , 4 years ago , 2 years ago
Which is why companies like this are trying ever so hard to sell hardware scopes because because because We can do this in real time via the net with realime webpages making this obsolete very soon hence the price of $299 dollars See link below
The whole blairy world has changed eceven the medical industry is heading this way
Interesting dont you think Ho Hum 4 years 3 years 2 years 1 year and counting down
We have lift off Total recall iron man 3 no more actors required ho hum End of live concerts Ho Hum and its Bye Bye Mark rolpf told you so told you so Said learn Sed learn Awk awk awk awk
Oracle and horrible but hey you didnt want to listen !!!!
Below modern day instrumenattion my first attempt in how to create a vu meter using 2G graphics and understanding the maths behind creating scales , serial input via hardware also radians degrees and vectors Polar co odinates , Rectangular to polar Polar to rectangular about 6 months ago I managed to see where this was heading
And my maths isnt that good
See below thats where this is heading hence no questions answered with respect to this project refards frequency counters Now you know why I said learn !!!
No one showed me I had to sit study what other people had done learn how to code leran how to create active x objects learned how to do the maths and finally learn how to put all of this together and if Im 50 years of age and can do this still Then so can you "Just to prove a point !"
Ignore some of these comments because embedded is the future as to is virtual instumenations as too is touch screen as to is network enviroment as to is webserver technology incuding databases look up tables automation and interfacing to the outside world
Welcome to the future ( Are you working this out yet ,, Free online frequency counters
So If they can do this you must surely realize they can do this real-time via the net across a network or via a webpage hence all the medical industry changes Doctors can now sit at home or radio through live up-to-date cardiographs etc Obvious isn’t it hence what’s happening with the rest of the Industry Answered it yourself Hence why you also need to learn assembler Have a look at the code ,could you tell from an exe what the assembler is doing Answer of course is no this is why you have to have people that can hack otherwise do you ever know what’s happening when you connect to the net
Now you know what this little row in the communications industry is with the US reason We don’t know what’s inside the CPU or program code and we have reason to believe they are using phones to spy on businesses an other persons in the UK amongst other problems it’s a portable medium for carrying material or sensitive information which could be used to overthrow a country Give it time this will all come out in the end
[code] _asm { cli /* Disable interrupts */
mov ax,k /* Set Frequency range in CX register via AX reg. */ mov cx,ax /* CL of CX contains the related input bit of LPT1 */ xor bx,bx /* Clear the BX register (period counter overflow) */
mov ax,0xffff mov t1,ax /* Initialize t1 to 0xffff (count down timer) */ mov t2,ax /* Initialize t2 to 0xffff (count down timer) */
in al,0x61 /* Port 0x61 controls PCtimer2 and Loudspeaker */ and al,0xfc /* Stop counter (bit0) and loudspeaker (bit1) */ out 0x61,al /* by clearing b0 and b1 (other bits unchanged) */
mov al,0xb4 /* Initialize PCtimer2 as continuous counter */ out 0x43,al mov al,0xff /* Set the start value to 0xffff */ out 0x42,al out 0x42,al
in al,0x61 /* Port 0x61 controls PCtimer2 and Loudspeaker */ or al,0x1 /* Start counter (bit0) */ out 0x61,al /* by making b0 = "1" */
mov dx,LPT1 /* Set the LPT1 port address into register DX */
/* First we check if there is an input signal, * as there is no time out during the measurement * routine to obtain maximum accuracy. The measurement * routine will go into a continuous loop if there is * no input signal. */
freqtest1: /* Start of the check for an input signal */ call freqmeetlatch /* Update t1, t2 and t3 for the time measurement */ mov ax,t3 /* If longer than gate (measuring) time, t3 = 0 */ cmp ax,0 /* If t3 = 0 and no change of input has ocdurred */ jz timeout /* then no input signal and goto timeout routine */ in al,dx /* Set LPT1 input values to AL of AX register */ and al,cl /* AND with CL reg.(input bit of LPT1 of freq. range */ jz freqtest1 /* If input signal zero then loop to freqtest 1 */
freqtest2: /* Same routine as freqtest1 but now for */ call freqmeetlatch /* when the input signal is one */ mov ax,t3 cmp ax,0 jz timeout in al,dx and al,cl jnz freqtest2
/* If there is an input signal, we are here in the routine * If not, the routine above is left via the jz timeout instrution */
in al,0x61 /* Port 0x61 controls PCtimer2 and Loudspeaker */ and al,0xfc /* Stop counter (bit0) and loudspeaker (bit1) */ out 0x61,al /* by clearing b0 and b1 (other bits unchanged) */
mov al,0xb4 /* Initialize PCtimer2 as continuous counter */ out 0x43,al mov al,0xff /* Set the start value to 0xffff */ out 0x42,al out 0x42,al
in al,0x61 /* Push the startvalue of Port 0x61 onto the stack for */ or al,0x1 /* a fast START PCtimer2 instruction later */ push ax /* via the AX register (Port 0x61 b0 = 1, others unchanged) */ mov ax,0xffff mov t1,ax /* Initialize t1 to 0xffff (count down timer) */ mov t2,ax /* Initialize t2 to 0xffff (count down timer) */ jmp freqstart1 /* and goto the start of the frequency measurement */
timeout: /* The time out routine if there is no input signal */ in al,0x61 /* Port 0x61 controls PCtimer2 and Loudspeaker */ and al,0xfc /* Stop counter (bit0) and loudspeaker (bit1) */ out 0x61,al /* by clearing b0 and b1 (other bits unchanged) */ jmp eindfrmeet /* And goto THE END, time to frequency conversion will be 0 Hz! */
freqstart1: /* START OF THE ACTUAL FREQUENCY MEASUREMENT ROUTINE */ in al,dx /* Store the input signal into register AL of AX */ and al,cl /* AND with CL reg.(input bit of LPT1 of freq. range */ jz freqstart1 /* If input signal zero then loop to freqtest 1 */
freqstart2: /* Same routine as freqstart1 but now for */ in al,dx /* when the input signal is one */ and al,cl jnz freqstart2
pop ax /* Fast start of PCtimer2 exactly at the beginning */ out 0x61,al /* of a period of the input signal */
in al,0x61 /* Push the stoptvalue of Port 0x61 onto the stack for */ and al,0xfc /* a fast STOP PCtimer2 instruction later */ push ax /* via the AX register (Port 0x61 b0 = 1, others unchanged) */
freqtel1: /* Count the number of periods of the input signal */ in al,dx /* during the gate (measuring) time */ and al,cl jz freqtel1 /* Loop to freqtel1 if input signal is zero */ call freqmeetlatch /* Update t1, t2 and t3 for the time measurement */
freqtel2: in al,dx and al,cl jnz freqtel2 /* Loop to freqtel2 if input signal is one */ inc bx /* Here a period of the input signal has ended */ cmp bx,0 /* Increment the BX register and check for > 0xffff */ jnz freqtel3 /* If so, then BX = 0, else goto freqtel3 */ mov ax,p1 /* Else increment the overflow counter p1 */ inc ax /* p1 is the overflow period counter (each 0xffff) */ mov p1,ax /* Increment is done by using the AX register */
freqtel3: /* At the end of one period of the input, we are here */ mov ax,t3 /* And here we check of the gate (measuring time) */ cmp ax,0 /* has expired */ jnz freqtel1 /* If not, then loop to freqtel1 for period counting mode */
/* Here above we did the period counting during * the gate (measuring) time just as an ordinary frequency counter. * But now we will add the exact time of one extra period of * the input signal so that we have an exact total time of an * exact number of periods at the end. /*
call freqmeetlatch /* Update t1, t2 and t3 for the time measurement */
freqlaatste1: /* START OF THE TIME MEASUREMENT OF THE LAST EXTRA PERIOD */ in al,dx and al,cl jz freqlaatste1 /* Loop if input signal is zero */ call freqmeetlatch /* Update t1, t2 and t3 for the time measurement */
freqlaatste2: in al,dx and al,cl jnz freqlaatste2 /* Loop if input signal is one */
pop ax /* Fast stop of PCtimer2 exactly at the end */ out 0x61,al /* of a period of the input signal */ inc bx /* Here a period of the input signal has ended */ cmp bx,0 /* Increment the BX register and check for > 0xffff */ jnz freqlaatste3 /* If so, then BX = 0, else goto freqlaatste3 */ mov ax,p1 /* Else increment the overflow counter p1 */ inc ax /* p1 is the overflow period counter (each 0xffff) */ mov p1,ax /* Increment is done by using the AX register */
freqlaatste3: call freqmeetlatch /* Update t1, t2 and t3 for the time measurement */ jmp eindfrmeet /* And goto THE END for the time to frequency conversion */
freqmeetlatch: /* Subroutine for updating t1, t2 and gate time t3 */ mov al,0x84 /* Latch the PCtimer2 values into the buffer */ out 0x43,al /* NOTE: PCtimer2 is a down counter, overflow=underflow! */ in al,0x42 /* Read the LoBytes from the buffer */ xchg ah,al /* Store in AH of AX register */ in al,0x42 /* Read the HiBytes from the buffer */ xchg ah,al /* Exchange AL and AH as HiBytes are in AL now */ cmp ax,t1 /* Compare AX (PCtimer2 value) with t1 for 0xffff over-underflow */ jbe freqmeetlatch2/* If no over-underflow, then goto freqmeetlatch2 */ mov t1,ax /* Store PCtimer2 (AX reg. value) into t1 */ mov ax,t2 /* Decrement the over-underflow counter t2 */ dec ax /* by using the AX register */ mov t2,ax /* t2 is also a down counter */ cmp ax,t3 /* Check if the gate (measurement) time is expired */ ja freqmeetlatch1/* if not then goto freqmeetlatch1 */ xor ax,ax /* Else make t3 = 0 by using the AX register */ mov t3,ax /* t3 = 0 is the flag for expired measuring time */ /* NOTE: gate time is measured in number of PCtimer overflows */ freqmeetlatch1: ret /* return if a PCtimer2 overflow */
freqmeetlatch2: /* No PCtimer2 overflow */ mov t1,ax /* so store value of AX register (is PCtimer2) in t1 */ ret /* and return */
eindfrmeet: /* THE END, t1 and t2 have the exact PCtimer2 clock pulses */ mov perioden,bx /* and the variabele "perioden" (BX register) the periods */ sti /* and p1 the number of overflows of the BX register */ }
[/code]
Now you know why I don’t like IPHONE and APPLE hence why the MOD in the UK don’t touch I phone American Intelligence you see Neither do you know what’s inside the apps you download and remember as soon as you power your mobile phone on or connect to the net it transmits / receives straight away
So there you go a little insight into your countries on goings plus the world wide political filth
Next another good reason for writing your own applications so that you know whats inside them plus of course you learn far more and are mindfull of sofwtare companies , ISPs and Mobile phone service providers