'**************************************************************** '* Name : CW7.BAS voor 12F675 of 12F683 * '* Author : Ron van den Brink, PA2RF * '* Notice : Copyright (c) 2007 * '* : All Rights Reserved * '* Date : 31-1-07 * '* Version : 1.2 * '* Notes : PA2RF morse after push switch * '* : LED aan pin 7, LS aan pin 6, switch pin 5 * '**************************************************************** '* HES : Changed PORTB to GPIO * ;Initialisatie Device 12F675 ;Gebruik een 12F675 of 12F683 type PIC Config HS_OSC, WDT_OFF, PWRTE_ON, MCLRE_OFF Xtal = 20 ;Gebruik 20 MHz X-tal DelayMS 100 ;Wacht tot pic gestabiliseerd is All_Digital TRUE ;Alle ingangen digitaal TRISIO = %00001100 ;GPIO naar output behalve .3 en .2 Symbol LED1 = GPIO.0 ;GPIO.0 (pin 7) heeft nu de naam LED1 Symbol LS = GPIO.1 ;luidspreker Symbol S1 = GPIO.2 ;GPIO.2 (pin 5) heeft nu de naam S1 Dim INDEX As Byte Dim Frame As Byte ;Hoofdprogramma While 1 = 1 ;Oneindige lus If S1 = 0 Then ;S1 gesloten (=laag) dan naar morse DelayMS 25 ;debounce GoSub Morse Else LED1 = 1 ;LED uit EndIf Wend ;Subroutine MORSE Morse: For INDEX = 0 To 34 Frame = LookUp INDEX , [ 1 , 2 , 3 , 2 , 3 , 2 , 1 , 4 , 1 , 2 , 3 , 4 , 1 , 2 , 1 , 2 , 3 , 2 , 3 , 2 , 3 , 4 , 1 , 2 , 3 , 2 , 1 , 4 , 1 , 2 , 1 , 2 , 3 , 2 , 1 ] If Frame = 1 Then GoSub AANKORT If Frame = 2 Then GoSub UITKORT If Frame = 3 Then GoSub AANLANG If Frame = 4 Then GoSub UITLANG Next Return AANKORT: LED1 = 0 ' LED aan kort FreqOut LS , 20 , 3500 ' 3500 Hz toon op pin 6 voor 20 ms Return UITKORT: LED1 = 1 ' LED uit kort DelayMS 20 Return AANLANG: LED1 = 0 ' LED aan lang FreqOut LS , 60 , 3500 ' 3500 Hz toon op pin 6 voor 60 ms Return UITLANG: LED1 = 1 ' LED uit lang DelayMS 60 Return ;Einde programma End