'$sim $regfile = "m8def.dat" '"m8515.dat" $crystal = 7372800 '14745600 ' 3686400 $baud = 115200 '115200 '921600 'u2x= Dim Ddsword As Long Dim Adcs As Word Dim Aa As Word Dim Bb As Word Dim Dds As String * 15 Dim Z As Long Dim Control As String * 15 Dim Pll As Byte Dim Adcphase As Word Dim Adcmagnitude As Word Dim Adcbit As Word Dim Adccount As Byte Dim Ss As Long Dim Ddsstep As Long Dim Sample As Long Dim Ddsstart As Long Dim Temp100 As Long Config Portc.4 = Output Va Alias Portc.4 Config Portc.5 = Output Vb Alias Portc.5 Config Portc.3 = Output Iosynk Alias Portc.3 Config Portd.5 = Output Pwrdn Alias Portd.5 'Config Portd.5 = Input 'Adcphasein Alias Pind.5 'Adcphaseinpullup Alias Portd.5 'Config Portd.4 = Input 'Adcmagnin Alias Pind.4 'Adcmagninpullup Alias Portd.4 'Config Portb.1 = Output 'Adccs Alias Portb.1 'Config Portb.2 = Output 'Adcclk Alias Portb.2 'config in-outputs '''''''''''''''Dds''''''''''''''''''''' Config Portb.0 = Output Abilitazione Alias Portb.0 Config Portd.7 = Output Clock Alias Portd.7 Config Portd.6 = Output Dato Alias Portd.6 Config Portd.3 = Output Resetdds Alias Portd.3 Dim I As Byte ' preset output DDS 'Set Adcphaseinpullup 'Set Adcmagninpullup 'Set Adccs 'Set Adcclk Set Va Reset Vb Reset Iosynk Set Pwrdn Reset Abilitazione Reset Dato Reset Clock Reset Resetdds For I = 0 To 100 Next I nop nop nop Set Resetdds nop nop nop 'INIT DDS Dim Cr2control As Byte Cr2control = 1 Dim Cr2value1 As Byte Cr2value1 = 0 Dim Cr2value2 As Byte Cr2value2 = 0 Dim Cr2value3 As Byte Cr2value3 = 132 Dim Cr1control As Byte Cr1control = 0 Dim Cr1value1 As Long Cr1value1 = 0 Dim Cr1value2 As Byte Cr1value2 = 0 Dim Cr1value3 As Byte Cr1value3 = 1 Dim Cr1value4 As Byte Cr1value4 = 0 Dim Fcontrol As Byte Fcontrol = 4 Shiftout , Dato , Clock , Cr2control , 1 , 8 , 10 Shiftout , Dato , Clock , Cr2value1 , 1 , 8 , 10 Shiftout , Dato , Clock , Cr2value2 , 1 , 8 , 10 Shiftout , Dato , Clock , Cr2value3 , 1 , 8 , 10 Set Abilitazione nop nop nop nop Reset Abilitazione Shiftout , Dato , Clock , Cr1control , 1 , 8 , 10 Shiftout , Dato , Clock , Cr1value1 , 1 , 8 , 10 Shiftout , Dato , Clock , Cr1value2 , 1 , 8 , 10 Shiftout , Dato , Clock , Cr1value3 , 1 , 8 , 10 Shiftout , Dato , Clock , Cr1value4 , 1 , 8 , 10 Set Abilitazione nop nop nop nop nop nop nop Reset Abilitazione nop nop nop nop nop Dim Sample1 As String * 15 Dim Ddsstep1 As String * 15 Config Adc = Single , Prescaler = Auto 'Now give power to the chip 'Program start Do Input Control Noecho If Val(control) = 1 Then Set Va Reset Vb Else Set Vb Reset Va End If Input Dds Noecho Input Sample1 Noecho Input Ddsstep1 Noecho Set Iosynk nop nop nop nop nop Reset Iosynk 'If Sample > 249 Then Sample = 0 Ddsword = Val(dds) Sample = Val(sample1) Ddsstep = Val(ddsstep1) For Z = 1 To Sample Ddsword = Ddsword + Ddsstep 'Ddsword = 100349703 '10 MHz Shiftout , Dato , Clock , Fcontrol , 3 , 8 , 2 Shiftout , Dato , Clock , Ddsword , 3 , 32 , 2 Set Abilitazione nop nop nop nop Reset Abilitazione 'Leggo ADC Start Adc Adcphase = 0 Adcmagnitude = 0 ' Waitms 1 Adcphase = Getadc(1) Adcmagnitude = Getadc(0) nop nop nop nop nop nop Printbin Adcphase nop nop nop nop nop Printbin Adcmagnitude Next Z 'Adcphase 'Adcmagnitude Loop