'An example of piano 'Declaring variables Dim Freq As Word , Var As Word , Duration As Word , Var1 As Word Dim Ti1 As Bit , Ti2 As Bit , Ti3 As Bit , Ti4 As Bit , Ti5 As Bit Dim Ti6 As Bit , Ti7 As Bit , Ti8 As Bit , Ti0 As Bit Do Ti0 = P3.0 'definition of ports and keys Ti5 = P3.5 Ti1 = P3.1 Ti2 = P3.2 Ti4 = P3.4 Ti3 = P3.3 Ti6 = P1.7 Ti7 = P1.6 Ti8 = P1.5 If Ti0 = 0 Then Duration = 500 Gosub Tune0 End If 'Assignment of a tone to every key If Ti1 = 0 Then Duration = 500 Gosub Tune1 End If If Ti2 = 0 Then Duration = 500 Gosub Tune2 End If If Ti3 = 0 Then Duration = 500 Gosub Tune3 End If If Ti4 = 0 Then Duration = 500 Gosub Tune4 End If If Ti5 = 0 Then Duration = 500 Gosub Tune5 End If If Ti6 = 0 Then Duration = 500 Gosub Tune6 End If If Ti7 = 0 Then Duration = 500 Gosub Tune7 End If If Ti8 = 0 Then Duration = 500 Gosub Tune8 End If Loop End Tune0: 'subroutine for Tune0 Restore Table0 Read Freq Sound P3.7 , Duration , Freq Return Tune1: Restore Table1 Read Freq Sound P3.7 , Duration , Freq Return Tune2: Restore Table2 Read Freq Sound P3.7 , Duration , Freq Return Tune3: Restore Table3 Read Freq Sound P3.7 , Duration , Freq Return Tune4: Restore Table4 Read Freq Sound P3.7 , Duration , Freq Return Tune5: Restore Table5 Read Freq Sound P3.7 , Duration , Freq Return Tune6: Restore Table6 Read Freq Sound P3.7 , Duration , Freq Return Tune7: Restore Table7 Read Freq Sound P3.7 , Duration , Freq Return Tune8: Restore Table8 Read Freq Sound P3.7 , Duration , Freq Return Table0: Data 250% 'because we store integers the % is needed Table1: Data 230% Table2: Data 200% Table3: Data 190% Table4: Data 170% Table5: Data 150% Table6: Data 135% Table7: Data 125% Table8: Data 105%