Searching \ for '%Morse keyer code%' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/index.htm?key=morse+keyer+code
Search entire site for: 'Morse keyer code'.

_Sub string match.
PICList Thread
'Morse keyer code'
1998\02\10@145723 by nestoji

picon face
I am relatively new to "PICing", but have a protoboard, a programmer,
and some 16F84s with which to learn.
I also have the PicBASIC compiler from MEL. So far, my efforts have been
flashing LEDs, raeding switches, sending RS-232 to a PC,
and reading an ADC0831.


I've seen a few postings about "simple" morse code keyers, and would be
interested in using that as a project to learn more about the PICs.
Then I could include that functionality in a project which is a
simple/low cost digital display for homemade radios I build.

Most of the keyers seem to use the low-end PICs, such as the 12C and
16C5x. I assume that is for cost and size considerations. Am I correct
in the belief that the same code should run on the 16F84. I'd like to
stay with that chip because of the EEPROM which makes debugging easier.

Is there any "freeware" code for a CW keyer? I've always found the best
way to learn a new programming language is to look at somebody else's
code and see how it works.

Does it make any sense to try to write a keyer program in PicBASIC? I
know this may offend the assembler purists, but I had to ask.
How about using a hybrid of PicBASIC and inline assembler for the
time-critical routines, interupt handlers, etc.?

I haven't had this much fun since my 8008, 8080, Z80, 6502 days. Any
sugestions would be appreciated.

Jim

1998\02\10@172757 by Mike Keitz

picon face
On Tue, 10 Feb 1998 14:55:07 -0500 jim nestor <spam_OUTnestojiTakeThisOuTspamhome.com> writes:
>Then I could include that functionality in a project which is a
>simple/low cost digital display for homemade radios I build.

PICs make good frequency counters.  Without external components (other
than amplifying the signal up to TTL levels), any PIC can count a 50 MHz
signal to a single cycle.  This is usually just right for homemade HF
radios.  Once the frequency is counted, advanced features can be added
like adding/subtracting IF from the displayed frequency, or "locking" the
frequency to compensate for slow drift.

The CW keyer functions could possibly even be in the same PIC.  Likely
you'd need to go to a PIC with more than 1 hardware timer to do both
simultaneously.


_____________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com
Or call Juno at (800) 654-JUNO [654-5866]

1998\02\10@182609 by peter

flavicon
face
Mike Keitz wrote:
>
> PICs make good frequency counters.  Without external components (other
> than amplifying the signal up to TTL levels), any PIC can count a 50 MHz
> signal to a single cycle.  This is usually just right for homemade HF
> radios.  Once the frequency is counted, advanced features can be added
> like adding/subtracting IF from the displayed frequency, or "locking" the
> frequency to compensate for slow drift.

How ? a prescaler is out of the question if your
counting "to a single cycle"
You must mean 5MHz

Peter Cousens
email: .....peterKILLspamspam@spam@cousens.her.forthnet.gr  phone: + 3081 324450, 380534
snailmail:  Folia, Agia Fotini, Karteros, Heraklion  Crete, Greece.

1998\02\10@234345 by Robert Bednarz

picon face
Peter
   Check out the 50MHZ frequency meter at http://www.picpoint.com
under the projects section. I cobbled one together last nite on a SIMM
Stick.  There are a couple of typos in EFMETER.asm  (WDTE instead of WDT
in the declarations and a ": " instead of a "; " in one of the comments.
I can't read the Italian but the source is commented in English. I only
needed it to work to 30MHZ and it does that nicely. 3 digits and an
exponent with very low parts count .
                                                               Bob
Peter Cousens wrote:

{Quote hidden}

'Morse keyer code")'
1998\02\12@142234 by Mike Keitz

picon face
On Fri, 13 Feb 1998 04:56:23 +1000 "Paul B. Webster VK2BZC"
<.....paulbKILLspamspam.....midcoast.com.au> writes:
>Fascinating concept.
>
>  This may have been touched on; but was it proposed that the PIC
>perform the gating of the count as well?  I suppose it could, either
>using a PIC with two timers, or software loop counters.
>
>  If so, then it requires two outputs and two gates, say NAND gates,
>the
>first for the gating and the second for the "fiddle" count.  No
>problems
>here.

Let me reiterate: *No* external hardware.  The signal to be counted is
simply applied to the TMR0/RA4 pin.  The internal selector gate,
controlled by the OPTION register, which selects between external and
internal clock is used to gate the signal to be counted.  The pin is not
used in I/O mode, so it works on 16C5X PICs which can only use that pin
as a timer input.

>  Gets hairy if you try to extend the counter to a second (third) byte

This is simple.  While counting, periodically read the TMR0 register (at
least often enough so it can't advance by more than 255 counts since the
last read) and subtract the last value read.  Add the difference (the
number of counts received) to a multi-byte accumulator in RAM, which can
be of any size needed.  I used a 3-byte (24-bit) accumulator.  Combining
that with the 8-bit prescaler result, the total count is 32 bits, enough
to count a 50 MHz signal for 85 seconds.

The gate time was controlled by enclosing the accumulate TMR0 / scan LED
processes in a software loop with exactly controlled execution time.  On
a PIC with 2 timers, the other timer could be used to generate periodic
interrupts that add TMR0 to the accumulator register and finally close
the gate.  The last ISR could be (relatively) rather time-consuming since
the process to resolve the prescaler value would need to be carried out.
The second timer would need to be the only source of interrupt so that it
is always serviced immediately.  Within these limitations, a fairly good
approximation of counting in the background could be done.

>
>  Obviously we'd use an LCD for the display.

I used an 8-digit LED array, of the type once used for calculators.  But,
it seems to be just about impossible to find these anymore, so an LCD
could be a better choice.  During the loop that holds the gate open and
adds TMR0 counts to the accumulator there is plenty of time to scan the
LEDs as well.

>
>  Accuracy is dependent on the crystal; I suspect you'd be best to use
>a
>separate assembly but it may work satisfactorily and be SUPER simple
>with a regulated supply and trimmer on the PIC crystal.

It works OK using the PIC oscillator, certainly if the absolute frequency
isn't important (i.e. you're looking for changes or drift in frequency).
The crystal needs to be a little better than the typical 100ppm grade to
be sure that it can be trimmed to the exact required frequency.  An
accurate oscillator can be used to clock the PIC for greater accuracy.



_____________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com
Or call Juno at (800) 654-JUNO [654-5866]

More... (looser matching)
- Last day of these posts
- In 1998 , 1999 only
- Today
- New search...