| SOUND Example | Syntax |
![]() |
40 Ω Speaker or peizo element |
' -------------------------------------------------------------------------
' Program Description
' -------------------------------------------------------------------------
'
' This program generates a constant tone 25 followed by an ascending tones.
' Both the tones are played for about 100 milliseconds.
' -------------------------------------------------------------------------
' Device Settings
' -------------------------------------------------------------------------
DEVICE SX28, OSC4MHZ, TURBO, STACKX, OPTIONX
FREQ 4_000_000
ID "SOUND"
' -------------------------------------------------------------------------
' IO Pins
' -------------------------------------------------------------------------
Spkr VAR RA.0 ' piezo or 40-ohm speaker
' -------------------------------------------------------------------------
' Variables
' -------------------------------------------------------------------------
tone VAR Byte ' tone to play
temp1 VAR Byte ' for subroutine
temp2 VAR Byte
' =========================================================================
PROGRAM Start
' =========================================================================
' -------------------------------------------------------------------------
' Subroutine Declarations
' -------------------------------------------------------------------------
PLAY SUB 2 ' pass note and timing
' -------------------------------------------------------------------------
' Program Code
' -------------------------------------------------------------------------
Start:
FOR tone = 1 TO 127
PLAY 25, 10 ' play tone 25
PLAY tone, 10 ' play ascending tone
NEXT
END
' -------------------------------------------------------------------------
' Subroutines Code
' -------------------------------------------------------------------------
' Use: PLAY note, duration
' -- play 'note' for 'duration' units
PLAY:
temp1 = __PARAM1 ' save note
temp2 = __PARAM2 ' save duration
IF temp1 > 0 THEN
IF temp2 > 0 THEN
SOUND Spkr, temp1, temp2
ENDIF
ENDIF
RETURN