Das Elektor-Forum schließt seine Pforten (siehe auch http://www.elektormagazine.de/forum). Ab Freitag, den 01. März, ist es nicht mehr möglich, sich im Forum einzuloggen. Alle Inhalte des Forums bleiben jedoch bis Ende März noch sichtbar. Am 01. April wird das Forum schließlich komplett geschlossen.

Bascom Kurs DDS

ATMega-Controller in BASIC programmieren

Postby micha-uhl » Sun Nov 08, 2009 12:00 am

Hallo,
ich als Neuling in der Mikroprozessortechnik versuche mich gerade mit dem DDS Programm. Sowohl im Bascom Simulator, als auch im realen Versuch, bleibt das Programm nach Ausgabe der Zeichen "DDS" treten. Im Simulator springt das Programm von der Routine (oder wie nennt man das?) Tim0_isr immer wieder an den Anfang zurück. Komisch ist, daß es auf dem Prozessor einmal lief und nach Reset und auch Neuprogrammieren nicht mehr. Als einzigen Unterschied habe ich einen 14,745MHz Quarz eingebaut und auch im Programm eingetragen, sowie andere LCD Anschlüsse verwendet. Aber auch das originale Programm läuft nicht im Simulator.
Gruß, Micha

edit1: oder hängt das, wie im nächsten Beitrag, mit einem Problem des Timer0 zusammen?

edit2: habe auf einem anderen PC die neueste Version 1.11.9.5 installiert, da läuft das Programm zumindest im Simulator.
Braucht allerdings ewig lange. Bleibt auf der ersten Zeile 3min stehen, bei config LCD 2min, dann wird die Sinustabelle aufgebaut und nach ca. 7min startet das Programm. Man kann die Frequenzanzeige rauf und runter stellen. Auf dem Testsystem läuft es trotzdem nicht!

edit3: sorry! hatte im Simulator das Sim Timers angehakt. Jetzt läuft es auch im Simulator der Version 1.11.8 und zwar wesentlich schneller, wie in der 1.11.9
Da das Programm schon mal auf dem Testsystem lief, vermute ich einen Hardwarefehler. Vielleicht habe ich bei der wilden Verdrahtung irgendwas abgeschossen. Allerdings laufen andere Programme noch einwandfrei, Uhr, Bargraph, PWM
micha-uhl
 
Posts: 3
Joined: Fri Jan 03, 2014 1:52 pm

Postby thomas scherer » Sun Nov 29, 2009 12:00 am

die ersten 10 Zeilen Code?
thomas scherer
 
Posts: 1128
Joined: Thu Jan 02, 2014 10:38 am

Postby micha-uhl » Sun Dec 06, 2009 12:00 am

Hallo,

'Bascom ATmega32, DDS

'Bascom ATmega32, DDS

$regfile = "m32def.dat"
$crystal = 14745600
$hwstack = 32
$swstack = 10
$framesize = 40

Baud = 9600
Dim Ausgabe As Byte
Dim Table(256) As Byte
Dim N As Integer
Dim Akku As Word
Dim A As Single
Dim B As Single
Dim F As Word
Dim Freq As Word

Config Lcdpin = Pin , Db4 = Porta.3 , Db5 = Porta.4 , Db6 = Porta.5 , Db7 = Porta.6 , E = Porta.2 , Rs = Porta.0
Config Lcd = 16 * 2
Initlcd
Cls
Lcd "DDS"

Config Timer1 = Pwm , Prescale = 1 , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
Config Timer0 = Timer , Prescale = 1
On Ovf0 Tim0_isr

Enable Timer0
Enable Interrupts
Pwm1a = 127
Pwm1b = 0
micha-uhl
 
Posts: 3
Joined: Fri Jan 03, 2014 1:52 pm


Return to BASCOM-AVR-Kurs

Who is online

Users browsing this forum: No registered users and 1 guest