·Î±×ÀÎ £ü ȸ¿øµî·Ï £ü ³»±Û £ü Àå¹Ù±¸´Ï £ü ÁÖ¹®Á¶È¸ £ü ÇöÀçÁ¢¼ÓÀÚ
 »óǰ °Ë»ö








 °Ô½ÃÆÇ °Ë»ö





 
 
ȸ¿øµî·Ï £ü ºñ¹øºÐ½Ç


¿Â¶óÀÎ ÀԱݰèÁÂ
¤ý±â¾÷ÀºÇà
¤ý219-043192-01-028
¤ýÀ̰ǿµ

      °Å·¡ÀºÇà ¹Ù·Î°¡±â
 
 SX, MPU Applications
SX, MPU ÀÚ·á½Ç
¤ýÀÛ¼ºÀÚ avrtools        
¤ýÀÛ¼ºÀÏ 2006/03/16
¤ý÷ºÎ#1 sxkey.src.zip (0KB) (Down:13)
¤ý÷ºÎ#2 sx_morse_sch.gif (0KB) (Down:6)
¤ýLink#1 Morse.htm (Down:15)
¤ýÃßõ: 2  ¤ýÁ¶È¸: 2137   
  SX Morse Code Keyer

By Guenther Daubach
Im Eulenflug 25
D-51399 Burscheid, Germany
eMail: guenther@g-daubach.com
Home: www.g-daubach.com

This application makes use of an SX Controller to build a Morse Code Keyer
with the following features:

Accepts "Paddle-Type" or "Squeeze-Type" input devices
Automatically sends two pre-defined messages,
a repeating message like "cq cq cq de <callsign> <callsign> <callsingn>",
and a terminating message, like "ar pse k".

The tempo can be adjusted via a potentiometer.
The schematic below shows the required external components:
If you are using an SX-Key Demo Board from Parallax,
the required components are already in place.

To read the speed potentiometer,
this application makes use of the bitstream ADC VP published by Ubicom and Parallax.
The LED at RB6 is optional; it gives optical feedback as it is toggled according
to the generated Morse code.
RB6 is also used to drive an external circuit that keys the transmitter.

If connected to RB7, the piezo speaker provides an acoustic feedback.
As most transmitters generate their own monitor tones,
you might consider to not install the speaker.
You may also add a switch to turn the speaker on or off.

RB0 is the "Dot" input, i.e. when this pin is pulled low,
a short "Dot" signal will be generated,
followed by a pause of the same length.
As long as the line is held low,
"Dots" and pauses will be repeated.

When RB1, the "Dash" input is pulled low,
a "Dash" signal will be generated,
that is three times longer than a "Dot".
Again, a pause of one dot-length follows each "Dash".
As long as the line is held low,
"Dashes" and pauses will be repeated.

When you use a "Paddle-Type" input device,
either the "Dot" or the "Dash" input can be low.
If you use a "Squeeze-Type" device instead,
either the "Dot", the "Dash", or both inputs can be low at a time.
When both inputs are low, the "Dot" input has higher priority,
i.e. "Dots" will be generated as long as it is low.
When the line is released while the "Dash" line is still low,
the system will continue sending "Dashes".
If you pull the "Dot" line low,
while the "Dash" line is low,
"Dots" will be generated again.

If you press the "CQ" button, the CQ message,
e.g. "cq cq cq de dk4tt dk4tt dk4tt" will be continuously sent and repeated.

When you press the "AR" button while the CQ message is being sent,
this message will be completed, and then the AR message,
e.g. "ar pse k" will be sent once, before the system enters into idle mode.

Pressing the "AR" button when the CQ message is not currently being sent,
starts the transmission of one AR message before the system goes back to idle.

You can stop any automated message by pulling low the "Dot" or "Dash" lines.
In this case, the message is interrupted after having completed the current character,
the system sends a "Dot" or "Dash" (depending on what line went low),
and returns to idle mode, i.e. it continues monitoring the RB3¡¦0 input lines.

In this application, the mainline program initializes the ports and some registers,
and then enters into a loop that handles sending pre-defined messages.
It also handles the button-down and Morse-key device events
but it does not read the associated input lines.
Instead, it evaluates the states of the flags eventually set
by the ISR which actually reads the input lines.

The ISR runs the ADC VP that is used to read the current setting
of the speed potentiometer.
The ISR also polls the input lines at Port B,
and takes care of the necessary timing to generate "Dots", "Dashes",
pauses, and the audio signal for the piezo speaker.

The timer part of the ISR is designed as a state engine.
Depending on the value of the State variable,
various parts of the ISR code are executed.

As pauses, "Dots", and "Dashes" also require a time delay
with the only difference that "Dots" and "Dashes" must control the output signal,
and also must generate the audio signal for the speaker, bit Status.7 has a
special meaning. If this bit is set, "Dots" or "Dashes" are sent,
i.e. the speaker and output lines will be activated in this case.

The two pre-defined messages (the CQ and the AR message)
are stored in program memory.
The program uses the iread instruction to read items from those tables.

As Morse code characters have variable lengths, the first four bits of a table entry
are used to specify the total number of "Dots" and "Dashes" for each character.
The remaining eight bits contain the Morse code pattern.
Each "Dot" is represented by a 0-bit, and each "Dash" is represented by a 1-bit.
The "Dash" and "Dot" codes are arranged from "left" to "right",
i.e. the first code element is located at bit 7,
the second one at bit 6, etc.
When a Morse character has less than eight "Dashes"
and "Dots", the remaining lower bits are cleared.

To either indicate a pause of five dot-lengths or the end of a message,
the upper four bits of a table entry are cleared.
When the lower eight bits are also cleared,
this means that the end of the table has been reached.
If the lower eight bits contain %00000001,
a pause of five dot-lengths will be generated instead.

The ADC VP used here, returns a result from 0 through 255
for an input voltage between 0 and 5 V.
Using this full range to setup the Speed timer would result
in extremely high and low Morse speeds when the potentiometer is turned to
its two end-positions. In addition, when you use a linear potentiometer,
the speed variation is very sensitive at higher speeds.
Therefore, we use a table in order to convert the ADC value (0¡¦255)
into a range from 32 through 160 and to "flatten" the potentiometer curve
at higher speed values.
   
À­±Û SX28 500KHz DDS ½ÅÈ£¹ß»ý±â
¾Æ·¡±Û SX28 Video OSD Module
    N         Á¦¸ñ    ±Û¾´ÀÌ ÀÛ¼ºÀÏ Á¶È¸ Ãßõ
48 SXB ¹«·á Basic ÄÄÆÄÀÏ·¯ SX18/20/28 avrtools¢â 2008/12/03 (¼ö) 1799 0
47 SX28 IR-Remote Signal Analyzer avrtools¢â 2016/01/22 (±Ý) 816 0
46 »ï¼º ¾Èµå·ÎÀ̵åÆù GT-i5700 ¹«¼± ¿À½Ç·Î½ºÄÚÇÁ avrtools¢â 2011/09/10 (Åä) 3149 10
45 SX28 Clock Timer ¼Ò½º avrtools¢â 2008/12/03 (¼ö) 2052 0
44 SX28 Scanning a 4x4 Keypad ¼Ò½º avrtools¢â 2008/12/03 (¼ö) 2134 0
43 SX28 Thermometer ¼Ò½º avrtools¢â 2008/12/03 (¼ö) 1854 0
42 SX28 Serial LCD ¼Ò½º avrtools¢â 2008/12/03 (¼ö) 1805 0
41 SX28 Digital Dice ¼Ò½º avrtools¢â 2008/12/03 (¼ö) 1688 0
40 IDE51-C 8051 CÄÄÆÄÀÏ·¯ (»ç¿ëÁ¦ÇÑ ¾øÀ½) avrtools¢â 2008/12/03 (¼ö) 2749 0
39 uc51 °ËÆÄÀÏ·¯ 8K ¹«·á¹öÀü avrtools¢â 2008/12/03 (¼ö) 1905 0
38 SXC Demo avrtools¢â 2008/12/02 (È­) 1594 0
37 SxSim (UBICOMÀÇ SASM ¾î¼Àºí·¯¸¦ Áö¿ø) avrtools¢â 2008/12/02 (È­) 1878 0
36 SXkey52.exe SX48, SX52 Àü¿ë ¼ÒÇÁÆ® avrtools¢â 2008/12/02 (È­) 1609 0
35 SX Ĩ ÇÁ·Î±×·¡¸Ó/Àμ­Å¶ ¿¡¹Ä·¹ÀÌÅÍ SXKey v3.0 avrtools¢â 2008/12/02 (È­) 1586 0
34 Serial port keyboard stuffer avrtools¢â 2008/11/09 (ÀÏ) 2464 0
33 IBM AT KeyboardÀÇ Hexa °ª leeky 2007/11/12 (¿ù) 2323 0
32 PC ¼ÒÇÁÆ®¿þ¾î ¿À½Ç·Î½ºÄÚÇÁ avrtools¢â 2008/10/07 (È­) 2788 0
31 ÀúÇ× Àд ¹æ¹ý°ú ÀúÇ× ¼ÒÇÁÆ®¿þ¾î avrtools¢â 2008/09/26 (±Ý) 2614 0
30 BMP to LCD avrtools¢â 2008/09/22 (¿ù) 2448 0
29 SX18/20/28¿ë ¹«·á º£ÀÌÁ÷ SXB V3.1 leeky 2006/03/03 (±Ý) 3764 22
28 Àý¿¬ RS232C ȸ·Î avrtools¢â 2008/08/29 (±Ý) 2884 0
27 ¹®ÀÚÇ¥½Ã LCD ¸ðµâÀÇ »ç¿ë¹æ¹ý leeky 2006/04/06 (¸ñ) 5434 0
26 Bin2Hex.exe leeky 2007/11/12 (¿ù) 2779 0
25 LPT Port Tester leeky 2007/11/12 (¿ù) 2761 0
24 PC ÇÁ¸°ÅÍ Æ÷Æ®ÀÇ »ç¿ë¹ý leeky 2007/11/12 (¿ù) 3008 0
23 º´·ÄÆ÷Æ®(LPT1) ½ÃÇè ¼ÒÇÁÆ®¿þ¾î leeky 2007/11/12 (¿ù) 2608 0
22 SX Ĩ 4ºñÆ® LCD ¼Ò½º leeky 2006/02/20 (¿ù) 3058 30
21 SxSim (UBICOMÀÇ SASM ¾î¼Àºí·¯¸¦ Áö¿ø) leeky 2006/02/13 (¿ù) 2460 27
20 SXkey52.exe leeky 2006/02/13 (¿ù) 2223 28
19 SX ÇÁ·Î±×·¡¸Ó/¿¡¹Ä·¹ÀÌÅÍ SXKey v3.0 leeky 2006/02/13 (¿ù) 2417 24
18 SXC Demo Version leeky 2006/03/16 (¸ñ) 2309 27
17 SX52 À¥¼­¹ö + °×º¸ÀÌ Ä«¸Þ¶ó leeky 2006/03/16 (¸ñ) 2491 5
16 CMUcam2 (Cam + 5 Servo) leeky 2006/03/16 (¸ñ) 3097 3
15 CMUcam Vision Sensor KIT with SX28 leeky 2006/03/16 (¸ñ) 3304 4
14 SX52 ÀÌ´õ³Ý Æò°¡±âÆÇÀÇ ¼Ò½º (iSX ¼ÒÇÁÆ®) leeky 2006/03/16 (¸ñ) 3237 1
13 SX52-ÀÌ´õ³Ý Æò°¡±âÆÇ (Çϵå¿þ¾î) leeky 2006/03/16 (¸ñ) 2610 1
12 SX52 MMC(¸Þ¸ð¸®Ä«µå) WAVÈ­ÀÏ ³ìÀ½°ú Àç»ý leeky 2006/03/16 (¸ñ) 3230 5
11 SX28 USB ºÐ¼®ÀåÄ¡ (SX-Atpapch) leeky 2006/03/16 (¸ñ) 2955 5
10 SX color TV °ÔÀÓ±â leeky 2006/03/16 (¸ñ) 3172 4
9 SX28 Serial to TV leeky 2006/03/16 (¸ñ) 2805 3
8 SX18 ¿µ»ó(NTSC) µ¿±â°ËÃâ leeky 2006/03/16 (¸ñ) 2365 2
7 SX28 µðÁöÅÐ ½ºÄÚÇÁ leeky 2006/03/16 (¸ñ) 2733 3
6 SX28 500KHz DDS ½ÅÈ£¹ß»ý±â leeky 2006/03/16 (¸ñ) 2924 0
5 SX Morse Code Keyer avrtools 2006/03/16 (¸ñ) 2137 2
4 SX28 Video OSD Module leeky 2006/03/16 (¸ñ) 3104 0
3 1.2MHz/2.4GHz Exciter leeky 2006/02/25 (Åä) 2443 0
2 16F84 G3RUH 9600BPS Modem leeky 2006/02/25 (Åä) 2533 2
1 16F84 Morse Decoder leeky 2006/02/25 (Åä) 3444 1
1

¹Ù±¸´Ï : 0
 º¸°üÇÔ : 0
¿À´Ãºä : 0
HOME   £ü   ȸ»ç¼Ò°³   £ü   Á¦È޾ȳ»   £ü   ȸ»çÀ§Ä¡   £ü   ¼­ºñ½ºÀÌ¿ë ¾à°ü   £ü   °³ÀÎÁ¤º¸ º¸È£Á¤Ã¥   £ü   »çÀÌÆ®¸Ê
17015 °æ±âµµ ¿ëÀνà ±âÈﱸ µ¿¹éÁß¾Ó·Î16¹ø±æ 16-25, 508È£. ÀüÈ­ : 031-282-3310
»ç¾÷ÀÚ µî·Ï¹øÈ£ : 697-47-00075 / ´ëÇ¥ : À̰ǿµ / ¾÷Å : Á¦Á¶¾÷ / Á¾¸ñ : LEDÁ¶¸í, LEDÀü¿ø, Á¦¾îÀåÄ¡.
°³ÀÎÁ¤º¸ °ü¸®Ã¥ÀÓÀÚ : ȨÆäÀÌÁö °ü¸®ÀÚ . Copyright ¨Ï2016 ¾ÆÅ©·¹Áî (ACLEDS INC.)
HOME TOP PREV ¤ý NEXT 0 0 0