'written by JA1XTQ copyright(c)2014 'PD3 7pin <--- wck 'PD4 8pin <--- FQ-UD 'PD5 9pin <--- DATA ' $regfile "ATtiny2313.dat" $crystal = 1000000 'Config Clockdiv = 1 Config Porta = Input 'timing ' Config Portd.3 = Output Config Portd.4 = Output Config Portd.5 = Output Dim Fstep As Long Dim Freq As Single Dim S As Long Dim I As Byte Dim J As Long Dim A As Byte Dim Slave As Byte Dim Temp As Byte Dim Dat As Byte Temp = 0 Dim Stepfq As Long Dim Freqdata As Single Dim Freqdds As Long Dim Osc As Long 'Osc = 62500000 Freq = 7000000 '7MHz 'Stepfq = Osc / 2147483648 Portd.4 = 1 Waitms 100 Gosub Osc Waitms 100 Gosub Osc Main: Gosub Startwatch 'Freq = 4000000 'debug 'Gosub Osc 'debug 'Wait 2 'debug 'Goto Main999 'debug Gosub Startsync 'Freq = 5000000 'debug 'Gosub Osc 'debug 'Wait 2 'debug For I = 0 To 31 Gosub Startwatch Porta = &B011 A = Pina A = A And &B001 If A <> 0 Then S.i = 1 Else S.i = 0 ' Freq = A * 1000000 'debug ' Gosub Osc 'debug Gosub Startsync Next I Freq = S Gosub Osc Wait 2 'debug 'Freq = 3000000 'debug 'Gosub Osc 'debug 'Wait 2 'debug Goto Main Main999: End Osc: If Freq >= 7000000 And Freq <= 7100000 Then Else Goto Osc999 Freqdata = Freq * 34.35973837 Freqdds = Freqdata Portd.4 = 0 Shiftout Portd.5 , Portd.3 , Freqdds , 3 Shiftout Portd.5 , Portd.3 , Temp , 3 Portd.4 = 1 Waitms 5 Osc999: Return Startwatch: Porta = &B011 'J = J + 1 'debug A = Pina A = A And &B011 If A = 0 Then Goto Startwatch 'If J > 0 Then 'debug ' Freq = J 'debug ' Gosub Osc 'debug ' Wait 2 'debug 'End If 'debug Return Startsync: Porta = &B011 A = Pina A = A And &B011 If A <> 0 Then Goto Startsync Return