28123 Parallax Inc, 28123 Datasheet - Page 261

TEXT WHAT'S A MICROCONTROLLER

28123

Manufacturer Part Number
28123
Description
TEXT WHAT'S A MICROCONTROLLER
Manufacturer
Parallax Inc
Type
Programmingr
Datasheet

Specifications of 28123

Style
Book
Title
What's a Microcontroller?
Contents
Whats a Microcontroller? Text
Product
Microcontroller Accessories
Core Processor
PIC16C57c
Flash
128 Bytes
Operating Supply Voltage
9 V
Board Size
31 mm x 16 mm
Lead Free Status / RoHS Status
Not applicable / Not applicable
' -----[ Subroutine - Find Equals Character ]-----------------------------
' -----[ Subroutine - Read Tempo from RTTTL Header ]----------------------
' Each keyboard character has a unique number called an ASCII value.
' The characters 0, 1, 2,...9 have ASCII values of 48, 49, 50,...57.
' You can always convert from the character representing a digit to
' to its value by subtracting 48 from the variable storing the digit.
' You can examine this by comparing DEBUG DEC 49 and DEBUG 49.
' -----[ Subroutine - Look up Octave ]------------------------------------
FindEquals:
GetTempo:
ProcessOctave:
DO
LOOP UNTIL char = "="
RETURN
default_b = 0
DO
LOOP UNTIL char = ":"
RETURN
READ RTTTL_File + counter, char
SELECT char
ENDSELECT
IF default_o = 0 THEN
ENDIF
READ RTTTL_File + counter, char
counter = counter + 1
READ RTTTL_File + counter, char
IF char = ":" THEN
ENDIF
CASE "5" TO "8"
CASE ELSE
default_o = noteOctave
default_b = default_b / 10
counter = counter + 1
EXIT
default_b = default_b + char - 48
counter = counter + 1
default_b = default_b * 10
noteOctave = char - "0"
counter = counter + 1
noteOctave = default_o
' Go through characters in
' RTTTL file looking for
' '='.
' until '=' is found, then
' return.
' Parse RTTTL file for Tempo.
' Convert characters to
' digits by subtracting 48
' from each character's ASCII
' value.
' each digit by 10 if there
' is another digit, then add
' the most recent digit to
' one's column.
' For example, the string
' "120" is (1 X 10 X 10)
' + (2 X 10) + 0.
' is converted first, then
' multiplied by 10.
' is then converted/added.
' 0 is converted/added, done.
' Octave may or may not be
' included in a given note
' because any note that is
' played in the default
' octave does not specify
' the octave.
' from '5' to '8' then use
' it, else use default_o.
' Characters are converted
' to digits by subtracting
' '0', which is the same as
' subtracting 48. The first
' time this subroutine is
' called, default_o is 0.
Increment counter
Iteratively multiply
If a char
The '1'
The '2'

Related parts for 28123