Stap 1: Een discussie over code...
#define data_pin 12
#define load_pin A5
#define clock_pin A4
#define clock_hz 120000000LL
DDS-ddschip (DDS9850, data_pin, load_pin, clock_pin, clock_hz);
Dit stelt mijn dds met haar 120mhz aan boord kristal. Ik ben het vervangen van de pincodes met woorden om het gemakkelijker te begrijpen. Bijvoorbeeld zou het woord data_pin worden vervangen overal tijdens het compileren met het getal 12 komt. Dit is wat het #define commando doet
Nu de pinnen van chip zijn gedefinieerd, kunnen we gewoon gebruik maken van de ddschip.setfrequency(Frequency); opdracht te stellen de frequentie op een frequentie die we, binnen de mogelijkheden van het apparaat verlangen. De planken van de AD9850 die ik heb gebruikt zijn vrij goed voor over 0-40 mhz, verder zijn ze een beetje oppervlakkig.
Ik dacht dat ik zou gebruik de omhoog en omlaag knoppen te verhogen of verlagen van de frequentie.
Ik besluit te gebruiken van de linker en rechter knoppen aan het bedrag dat de frequentie verhoogd zou cyclus over verhogen of te verlagen. Ik koos, 1Hz 10Hz, 100Hz, 1KHz, 10KHz, 100KHz en 1MHz.
Elkaar geflanst ik wat code, die waarvan sommige ik uit een vorige LCD keypad project (Morse coder gehackt). Ik heb de interface redelijk eenvoudig gehouden, we hebben immers slechts 16 tekens op twee lijnen.
Nadat ik had opgebouwd op de Bank en het had getest besluit ik te zet het allemaal in een doos. Aanvankelijk ik wilde zetten een pak van de batterij in de doos ook, maar besloot aan te laten toegang de macht jack zodat ik gewoon in een battery pack extern aansluiten kon als ik wilde. Het resultaat zijn de foto's die u hier ziet. Het LCD keypad schild is ontworpen om te worden gebruikt in de open en niet echt ontworpen om te gaan in een geval, maar ik er het met veel snijden. Ik gebruikte een terminal blok aan de kant voor de sinus output en heb ik ook besloten om het uitbreken van de blokgolf-output en de bijbehorende aanpassing pot, de LCD contrast aanpassing pot en de DDS boord / uit-lampje.