Ich will einen sinus für ein Schwinggerät erzeugen mit dem ADuC814 (Analog Devices). Habe leider noch nie mit C Programmiert allerdings nur mit C++. Wie kann ich herausfinden wie die Hardware einstellungen für den uC mache (Digital-Analogwandler, Taktrate, I/O Ports, Timerinterrupts etc.). y(i)=A.sin(2*pi*(f/fa)*i) wie mache ich am besten eine Tabelle für die oben gennante formel. 100-160 wete pro periode würde reichen und das Gerät soll 1-200Hz schwingen Danke!
Mit welchem Compiler arbeitest du denn? Die Tabelle wuerde ich in Excel erstellen, und dann in ein Konstantenarray uebertragen. (z.B.: const unsigned short dactab[] = {0x0000 , ..., 0xFFFF}; Folgendes musst du initialisieren: Timer-Interrupt mit dem gewuenschten Interval (also zb.: 200Hz * 100 Werte = 1/20000 s), da wirds evtl. schon knapp bei deinem 8051er mit der Zeit. Den DAC setzt du in diesem Timer mit Hilfe der Werte aus der Tabelle. DACL=(unsigned char)dactab[i]; DACH=(unsigned char)(dactab[i]<<8); 'i' ist eine globale Variable die im Timer von 0 nach sizeof(dactab) zaehlt. Welche Register du fuer DAC und Timer initalisieren musst solltest du im Datasheet nachlesen.
Ich habe einen Keil Compiler. Danke für den Tipp, mit Excel wirds einfach g.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.