로그인회원등록 내글장바구니주문조회현재접속자
 상품 검색








 게시판 검색





 
 
회원등록 비번분실


온라인 입금계좌
ㆍ기업은행
ㆍ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  ㆍ조회: 1946   
  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 (수) 1569 0
47 SX28 IR-Remote Signal Analyzer avrtools™ 2016/01/22 (금) 446 0
46 삼성 안드로이드폰 GT-i5700 무선 오실로스코프 avrtools™ 2011/09/10 (토) 2867 10
45 SX28 Clock Timer 소스 avrtools™ 2008/12/03 (수) 1845 0
44 SX28 Scanning a 4x4 Keypad 소스 avrtools™ 2008/12/03 (수) 1974 0
43 SX28 Thermometer 소스 avrtools™ 2008/12/03 (수) 1665 0
42 SX28 Serial LCD 소스 avrtools™ 2008/12/03 (수) 1645 0
41 SX28 Digital Dice 소스 avrtools™ 2008/12/03 (수) 1501 0
40 IDE51-C 8051 C컴파일러 (사용제한 없음) avrtools™ 2008/12/03 (수) 2365 0
39 uc51 검파일러 8K 무료버전 avrtools™ 2008/12/03 (수) 1715 0
38 SXC Demo avrtools™ 2008/12/02 (화) 1388 0
37 SxSim (UBICOM의 SASM 어셈블러를 지원) avrtools™ 2008/12/02 (화) 1619 0
36 SXkey52.exe SX48, SX52 전용 소프트 avrtools™ 2008/12/02 (화) 1464 0
35 SX 칩 프로그래머/인서킷 에뮬레이터 SXKey v3.0 avrtools™ 2008/12/02 (화) 1418 0
34 Serial port keyboard stuffer avrtools™ 2008/11/09 (일) 2163 0
33 IBM AT Keyboard의 Hexa 값 leeky 2007/11/12 (월) 2148 0
32 PC 소프트웨어 오실로스코프 avrtools™ 2008/10/07 (화) 2527 0
31 저항 읽는 방법과 저항 소프트웨어 avrtools™ 2008/09/26 (금) 2388 0
30 BMP to LCD avrtools™ 2008/09/22 (월) 2124 0
29 SX18/20/28용 무료 베이직 SXB V3.1 leeky 2006/03/03 (금) 3426 22
28 절연 RS232C 회로 avrtools™ 2008/08/29 (금) 2635 0
27 문자표시 LCD 모듈의 사용방법 leeky 2006/04/06 (목) 4711 0
26 Bin2Hex.exe leeky 2007/11/12 (월) 2634 0
25 LPT Port Tester leeky 2007/11/12 (월) 2557 0
24 PC 프린터 포트의 사용법 leeky 2007/11/12 (월) 2813 0
23 병렬포트(LPT1) 시험 소프트웨어 leeky 2007/11/12 (월) 2465 0
22 SX 칩 4비트 LCD 소스 leeky 2006/02/20 (월) 2848 30
21 SxSim (UBICOM의 SASM 어셈블러를 지원) leeky 2006/02/13 (월) 2279 27
20 SXkey52.exe leeky 2006/02/13 (월) 2066 28
19 SX 프로그래머/에뮬레이터 SXKey v3.0 leeky 2006/02/13 (월) 2260 24
18 SXC Demo Version leeky 2006/03/16 (목) 2143 27
17 SX52 웹서버 + 겜보이 카메라 leeky 2006/03/16 (목) 2380 5
16 CMUcam2 (Cam + 5 Servo) leeky 2006/03/16 (목) 2801 3
15 CMUcam Vision Sensor KIT with SX28 leeky 2006/03/16 (목) 3135 4
14 SX52 이더넷 평가기판의 소스 (iSX 소프트) leeky 2006/03/16 (목) 3020 1
13 SX52-이더넷 평가기판 (하드웨어) leeky 2006/03/16 (목) 2419 1
12 SX52 MMC(메모리카드) WAV화일 녹음과 재생 leeky 2006/03/16 (목) 2997 5
11 SX28 USB 분석장치 (SX-Atpapch) leeky 2006/03/16 (목) 2750 5
10 SX color TV 게임기 leeky 2006/03/16 (목) 2965 4
9 SX28 Serial to TV leeky 2006/03/16 (목) 2489 3
8 SX18 영상(NTSC) 동기검출 leeky 2006/03/16 (목) 2208 2
7 SX28 디지털 스코프 leeky 2006/03/16 (목) 2583 3
6 SX28 500KHz DDS 신호발생기 leeky 2006/03/16 (목) 2694 0
5 SX Morse Code Keyer avrtools 2006/03/16 (목) 1946 2
4 SX28 Video OSD Module leeky 2006/03/16 (목) 2883 0
3 1.2MHz/2.4GHz Exciter leeky 2006/02/25 (토) 2277 0
2 16F84 G3RUH 9600BPS Modem leeky 2006/02/25 (토) 2360 2
1 16F84 Morse Decoder leeky 2006/02/25 (토) 3206 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 PREVNEXT 0 0 0