List p=12f675 Include "p12f675.inc" __CONFIG 0X3F95 ; An internal oscillator with clock out is in use. GP0 is the output (Pin 7) and the inputs are GP2,3& 5. ; GP4 is used as the clock out. The inputs have a 10k resistor to +5 volts (pull up) and are momentarily to ; groud to initiate the sequence. Memory clear is internal. GP1 is not used but could be activated for a fourth ; message. COUNT1 EQU 0x22 COUNT2 EQU 0x23 COUNT3 EQU 0x24 COUNT4 EQU 0x25 ORG 0x000 GOTO MAIN ORG 0x004 GOTO MAIN ;**********************DOT Generator********* ONE MOVLW .45 ; Dot Timing and Dot/Dash Spacing MOVWF COUNT1 L1 MOVLW .12 MOVWF COUNT2 L2 MOVLW .60 MOVWF COUNT3 L3 DECFSZ COUNT3,1 GOTO L3 DECFSZ COUNT2,1 GOTO L2 DECFSZ COUNT1,1 GOTO L1 MOVLW .150 MOVWF COUNT1 LP98 DECFSZ COUNT1,1 GOTO LP98 NOP RETLW 0 ;**********************Dash Generator / Letter Spacing************ TWO MOVLW .90 ; Dash Timing and Letter Spacing MOVWF COUNT1 L4 MOVLW .18 MOVWF COUNT2 L5 MOVLW .60 MOVWF COUNT3 L6 DECFSZ COUNT3,1 GOTO L6 DECFSZ COUNT2,1 GOTO L5 DECFSZ COUNT1,1 GOTO L4 MOVLW .150 MOVWF COUNT1 LP99 DECFSZ COUNT1,1 GOTO LP99 NOP RETLW 0 ; ******************Extra DELAy WORD SPACE************************ THREE CALL TWO CALL TWO RETURN ;*************************Dash Generator********************** DAH BSF GPIO,GP0 ; CALL TWO ; Dash BCF GPIO,GP0 CALL ONE RETURN ;*************************Dot Code*********************** DI BSF GPIO,GP0 CALL ONE ; Dot BCF GPIO,GP0 CALL ONE RETURN ;****************BREAK***************************************** BREAK CALL DAH ;DASH CALL DI ;DOT CALL DI ;DOT CALL DI ;DOT CALL DAH ;DASH CALL TWO RETURN ;**********************Comma********************************** COMMA CALL DAH ;DASH --..-- CALL DAH ;DASH CALL DI ;DOT CALL DI ;DOT CALL DAH ;DASH CALL DAH ;DASH CALL TWO RETURN ; *******************A****************** XXA CALL DI ;A .- CALL DAH RETURN ;***********************B***************** XXB CALL DAH ;B -... CALL DI CALL DI CALL DI RETURN ;************************C************************** XXC CALl DAH ;C -.-. CALL DI CALL DAH CALL DI RETURN ;****************************D************** XXD CALL DAH ;D -.. CALL DI CALL DI RETURN ;**********************E******************* XXE CALL DI ;E . RETURN ;**********************F**************** XXF CALL DI ;F ..-. CALL DI CALL DAH CALL DI RETURN ;*************************G************* XXG CALL DAH ;G --. CALL DAH CALL DI RETURN ;***************************H********** XXH CALL DI ;H .... CALL DI CALL DI CALL DI RETURN ;**********************I********* XXI CALL DI ;I .. CALL DI RETURN ;************************J*************** XXJ CALL DI ;J .--- CALL DAH CALL DAH CALL DAH RETURN ;*************************K*************** XXK CALL DAH ;K -.- CALL DI CALL DAH RETURN ;************************L*********************** XXL CALL DI ;L .-.. CALL DAH CALL DI CALL DI RETURN ;***********************M********************* XXM CALL DAH ;M -- CALL DAH RETURN ;***********************N********************* XXN CALL DAH ;N -. CALL DI RETURN ;**********************O******************** XXO CALL DAH ;O --- CALL DAH CALl DAH RETURN ;*********************P*************** XXP CALL DI ;P .--. CALL DAH CALL DAH CALL DI RETURN ;********************Q************************** XXQ CALL DAH ;Q --.- CALL DAH CALL DI CALL DAH RETURN ;******************************R************* XXR CALL DI ;R .-. CALL DAH CALL DI RETURN ;***************************S************* XXS CALL DI ;S ... CALL DI CALL DI RETURN ;********************T********************* XXT CALL DAH ;T - RETURN ;***********************U*************** XXU CALL DI ;U ..- CALL DI CALL DAH RETURN ;***********************V************** XXV CALL DI ;V ...- CALL DI CALL DI CALL DAH RETURN ;*************************W****************** XXW CALL DI ;W .-- CALL DAH CALL DAH RETURN ;************************X****************** XXX CALL DAH ;X -..- CALL DI CALL DI CALL DAH RETURN ;************************Y*************************** XXY CALL DAH ;Y -.-- CALL DI CALL DAH CALL DAH RETURN ;***********************Z******************** XXZ CALL DAH ;Z --.. CALL DAH CALL DI CALL DI RETURN ;************************0***************** XX0 CALL DAH ;0 ----- CALL DAH CALL DAH CALL DAH CALL DAH RETURN ;************************1*********************** XX1 CALL DI ;1 .---- CALL DAH CALL DAH CALL DAH CALL DAH RETURN ;***************************2************************ XX2 CALL DI ;2 ..--- CALL DI CALL DAH CALL DAH CALL DAH RETURN ;**************************3**************** XX3 CALl DI ;3 ...-- CALL DI CALL DI CALL DAH CALL DAH RETURN ;*************************4****************** XX4 CALL DI ;4 ....- CALL DI CALL DI CALL DI CALL DAH RETURN ;***********************5********************** XX5 CALL DI ;5 ..... CALL DI CALL DI CALL DI CALL DI RETURN ;*********************6***************** XX6 CALL DAH ;6 -.... CALL DI CALL DI CALL DI CALL DI RETURN ;*******************7******************* XX7 CALL DAH ;7 --... CALL DAH CALL DI CALL DI CALL DI RETURN ;***************************8************** XX8 CALL DAH ;8 ---.. CALL DAH CALL DAH CALL DI CALL DI RETURN ;****************************9*********** XX9 CALL DAH ;9 ----. CALL DAH CALL DAH CALL DAH CALL DI RETURN ;*************************Initialization: Port GP0 is the output************************** MAIN CALL 0x3FF ; Call up internal calibration BSF STATUS,RP0 ; hange to Bank 1 MOVWF OSCCAL ; set up for RC oscillator CLRF GPIO ; Initiate GPIO MOVLW 02Dh ; Set GPIO <5, 4:3, 2,0> to Digital I/O MOVWF CMCON ; Turn Off Comparator CLRF ANSEL ; Turn off Analog Select MOVLW 02Ch ; GP <5,3,2> are the inputs MOVWF TRISIO ; GP <0> is the output GP0 = Pin #7 BCF STATUS,RP0 ; Change back to Bank 0 BCF GPIO,GP0 GOTO loop ; If you were to turn on GP1 as an input then the codes would change as follows 02Dh (45) would change 02Fh (47) ; and the 02Ch (44) would change to 02E (46). ;****************************************************************************************************** ;Note this is a rework of what is in the data sheet about turning on and off the outputs --this works and the one on the data ;sheet doesn't. Think about it --you have to shift to bank 1 do all of the actions and shift back to bank 0. T ;****************************************************************************************888 loop btfss GPIO,GP2 ;GP2 ON? GP2 = Pin #5 call CQ ;Yes. Call CQ btfss GPIO,GP3 ;GP3 ON? GP3 = Pin #4 call TNX ;Yes. Call Tnx btfss GPIO,GP5 ;GP5 ON? GP5 = Pin #2 call RIG ;Yes. Call Rig goto loop ;Retry ; Adding GP1 to the scan you would add two lines: btfss GPIO,GP1 and call seventhree right after call rig ; and before goto loop. ;******************************************************* CQ CALL THREE CALL XXC ;C CALL TWO CALL XXQ ;Q CALL THREE CALL XXC ;C CALL TWO CALL XXQ ;Q CALL THREE CALL XXC ;C CALL TWO CALL XXQ ;Q CALL THREE CALL XXD ;D CALL TWO CALL XXE ;E CALL THREE CALL XXW ;W CALL TWO CALL XX6 ;6 CALL TWO CALL XXJ ;J CALL TWO CALL XXF ;F CALL TWO CALL XXR ;R CALL TWO CALL THREE CALL XXW ;W CALL TWO CALL XX6 ;6 CALL TWO CALL XXJ ;J CALL TWO CALL XXF ;F CALL TWO CALL XXR ;R CALL TWO CALL THREE CALL XXK ;K CALL TWO RETURN ;************************************************************************************************************ TNX ;TNX OM UR RST IS 599 599, NAME IS PETE PETE, QTH NEAR SEATTLE SEATTLE, WA BACK K CALL THREE CALL XXT ;T - CALL TWO CALL XXN ;N CALL TWO CALL XXX ;X CALL THREE CALL XXO ;O CALL TWO CALL XXM ;M CALL THREE CALL XXU ;U CALL TWO CALL XXR ;R CALL THREE CALL XXR ;R CALL TWO CALL XXS ;S CALL TWO CALL XXT ;T CALL THREE CALL XXI ;I CALL TWO CALL XXS ;S CALL THREE CALL XX5 ;5 CALL TWO CALL XX9 ;9 CALL TWO CALL XX9 ;9 CALL THREE CALL XX5 ;5 CALL TWO CALL XX9 ;9 CALL TWO CALL XX9 ;9 CALL THREE CALL XXN ;N CALL TWO CALL XXA ;A CALL TWO CALL XXM ;M CALL TWO CALL XXE ;E CALL THREE CALL XXI ;I CALL TWO CALL XXS ;S CALL THREE CALL XXP ;P CALL TWO CALL XXE ;E CALL TWO CALL XXT ;T CALL TWO CALL XXE ;E CALL THREE CALL XXP ;P CALL TWO CALL XXE ;E CALL TWO CALL XXT ;T CALL TWO CALL XXE ;E CALL THREE CALL XXQ ;Q CALL TWO CALL XXT ;T CALL TWO CALL XXH ;H CALL THREE CALL XXI ;I CALL TWO CALL XXS ;S CALL THREE CALL XXN ;N CALL TWO CALL XXE ;E CALL TWO CALL XXA ;A CALL TWO CALL XXR ;R CALL THREE CALL XXS ;S CALL TWO CALL XXE ;E CALL TWO CALL XXA ;A CALL TWO CALL XXT ;T CALL TWO CALL XXT ;T CALL TWO CALL XXL ;L CALL TWO CALL XXE ;E CALL THREE CALL XXS ;S CALL TWO CALL XXE ;E CALL TWO CALL XXA ;A CALL TWO CALL XXT ;T CALL TWO CALL XXT ;T CALL TWO CALL XXL ;L CALL TWO CALL XXE ;E CALL THREE CALL COMMA CALL XXW ;W CALL TWO CALL XXA ;A CALL THREE CALL XXB ;BACK CALL TWO CALL XXA CALL TWO CALL XXC CALL TWO CALL XXK CALL THREE CALL XXK ;K RETURN ;********************************************************************************************** RIG ; Rig is homebrew transceiver 20w Ant is wire beam back K CALL THREE CALL XXR ;RIG CALL TWO CALL XXI CALL TWO CALL XXG CALL THREE CALL XXI ;IS CALL TWO CALL XXS CALL THREE CALL XXH ;HOMEBREW CALL TWO CALL XXO CALL TWO CALL XXM CALL TWO CALL XXE CALL TWO CALL XXB CALL TWO CALL XXR CALL TWO CALL XXE CALL TWO CALL XXW CALL THREE CALL XXX ;XCVR CALL TWO CALL XXC CALL TWO CALL XXV CALL TWO CALL XXR CALL THREE CALL XX2 ;20W CALL TWO CALL XX0 CALL TWO CALL XXW CALL THREE CALL XXA ;ANT CALL TWO CALL XXN CALL TWO CALL XXT CALL THREE CALL XXI ;IS CALL TWO CALL XXS CALL THREE CALL XXA ;A CALL THREE CALL XXW ;WIRE CALL TWO CALL XXI CALL TWO CALL XXR CALL TWO CALL XXE CALL THREE CALL XXB ;BEAM CALL TWO CALL XXE CALL TWO CALL XXA CALL TWO CALL XXM CALL THREE CALL XXB ;BACK CALL TWO CALL XXA CALL TWO CALL XXC CALL TWO CALL XXK CALL THREE CALL XXK ;K over CALL THREE RETURN ;*********************************************** SEVENTHREE ;Not Implemented RETURN ;**************************************************************** MSG6 ;NOT Implemented RETURN ;********************************************************************* End