Discuss this article in the Nuts & Volts forums at http://forum.nutsvolts.com.
QUESTIONS & ANSWERS
discharge path for C1. C1,
C2, and C3 get the P type
pass transistor turned on
quickly. The value for R2
and R3 is calculated like
this:
R = (VCC- 15)/0.05 ohms
I am counting on the
duty cycle to average out
the stress on the zener
diode. If VCC is 25 volts or
less, all the protection
circuitry (except R1) can
be removed.
■ FIGURE 2.
that it can be used with Figure 1 by
removing the REM from the HIGHLOW line, and adding REM to the
FREQOUT line.
'****************************************************************
'* Name : PADDLE KEY.BAS *
'* Date : 11/18/2012 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************************************
REM device = 12F675
CMCON = 7 'SETS DIGITAL MODE
ANSEL = 0 'GPIO.0 TO GPIO.3 SET AS DIGITAL
OPTION_REG.7 = 1 'ENABLES GLOBAL PULLUP
TRISIO = %00111100 'GPIO.2 THRU GPIO.5 SET AS INPUT
GPIO = %111100 'ALL INPUTS EXCEPT GPIO.0 AND GPIO.1
WPU = %110100 'INTERNAL PULLUP ON ALL INPUTS EXCEPT GP3
'WHICH HAS NO PULLUP
DEFINE OSCCAL_1_1K 1 'TO SAVE OSCILLATOR CALIBRATION
FST VAR BYTE
FST = 2000
IF GPIO.4 = 0 THEN FST = 750 'GO FAST
IF GPIO.5 = 0 THEN FST = 500 'GO FASTER
START:
IF GPIO.2 AND GPIO.3 = 1 THEN START
IF GPIO.2 = 0 THEN DIT
IF GPIO.3 = 0 THEN DAH
■ FIGURE 3.
DIT:
REM USE THIS INSTEAD OF FREQOUT TO KEY TRANSMITTER
REM HIGH GPIO.0:PAUSE 200:LOW GPIO.0
FREQOUT GPIO.0,200,800 '200mS, 800Hz
PAUSE FST
GOTO START
DAH:
REM USE THIS INSTEAD OF FREQOUT TO KEY TRANSMITTER
REM HIGH GPIO.0:PAUSE 600:LOW GPIO.0
FREQOUT GPIO.1,600,800 '600mS, 800Hz
PAUSE FST
GOTO START
END
February 2013 23