Che Guevara
15.07.2009, 16:54
Hallo Leute,
habe mir jetzt einen 8-Bit DAC aus 10k bzw. 20k R, einem TLC272 und einem BC337-16 gebaut. Das ganze funktioniert ganz gut, bis auf dass ich max. 3.6V ca. Ausgangsspannung habe. Das liegt aber glaube ich daran, dass der TLC272 und der BC337-16 die restliche Spannung "verbrauchen".
Das ist jetzt auch garnicht mein Problem!
Ich möchte mir damit einen Sinus ausgeben lassen, was ich auch mit folgendem Code schön hinbekommen habe:
$regfile = "m32def.dat"
$crystal = 16000000
$framesize = 80
$hwstack = 80
$swstack = 80
Config Portc = Output
Portc = 0
Dim X As Byte
X = 0
Dim Y As Byte
Do
Incr X
If X = 120 Then X = 0
Y = Lookup(x , Dta)
Y = Y / 2
Portc = Y
Waitus 1
Loop
End
Dta:
Data 128 , 134 , 141 , 147 , 154 , 160 , 167 , 173 , 179 , 185 , 191 , 197 , 202 , 208 , 213 , 218 , 222 , 227 , 231 , 234 , 238 , 241 , 244 , 247 , 249 , 251 , 252 , 253 , 254 , 255 , 255 , 255 , 254 , 253 , 252 , 251 , 249 , 247 , 244 , 241 , 238 , 234 , 231 , 227 , 222 , 218 , 213 , 208 , 202 , 197 , 191 , 185 , 179 , 173 , 167 , 160 , 154 , 147 , 141 , 134 , 128 , 121 , 114 , 108 , 101 , 95 , 88 , 82 , 76 , 70 , 64 , 58 , 53 , 47 , 42 , 37 , 33 , 28 , 24 , 21 , 17 , 14 , 11 , 8 , 6 , 4 , 3 , 2 , 1 , 0 , 0 , 0 , 1 , 2 , 3 , 4 , 6 , 8 , 11 , 14 , 17 , 21 , 24 , 28 , 33 , 37 , 42 , 47 , 53 , 58 , 64 , 70 , 76 , 82 , 88 , 95 , 101 , 108 , 114 , 121 , 128
Jedoch möchte ich mir die Werte durch den µC selbst ausrechnen lassen, mit der Sinus funktion! Hier mal mein Programm dazu:
$regfile = "m32def.dat"
$crystal = 16000000
$framesize = 80
$hwstack = 80
$swstack = 80
$baud = 19200
Dim X As Single
Dim Y As Single
Do
For X = 0 To 90 Step 5
Y = Sin(x)
Y = Y * 250
Print "Ausgabewert: " ; Y
Print ""
Wait 1
Next X
Loop
End
Die Zeile
y = y * 250
ist nur dazu da, damit ich Werte zwischen ca. 0 und 250 bekomme, welche ich dann direkt auf den Portc geben möchte, da dort mein DAC angeschlossen ist!
Allerdings kommen dabei bei der
y = sin(x)
funktion ganz andere Werte als beim Taschenrechner raus, teilweise sind diese auch negativ!
Ist das ein Bug meiner Version (1.11.9.1) oder mache ich etwas falsch??
Danke schon mal für eure Antworten!
Gruß
Chris
habe mir jetzt einen 8-Bit DAC aus 10k bzw. 20k R, einem TLC272 und einem BC337-16 gebaut. Das ganze funktioniert ganz gut, bis auf dass ich max. 3.6V ca. Ausgangsspannung habe. Das liegt aber glaube ich daran, dass der TLC272 und der BC337-16 die restliche Spannung "verbrauchen".
Das ist jetzt auch garnicht mein Problem!
Ich möchte mir damit einen Sinus ausgeben lassen, was ich auch mit folgendem Code schön hinbekommen habe:
$regfile = "m32def.dat"
$crystal = 16000000
$framesize = 80
$hwstack = 80
$swstack = 80
Config Portc = Output
Portc = 0
Dim X As Byte
X = 0
Dim Y As Byte
Do
Incr X
If X = 120 Then X = 0
Y = Lookup(x , Dta)
Y = Y / 2
Portc = Y
Waitus 1
Loop
End
Dta:
Data 128 , 134 , 141 , 147 , 154 , 160 , 167 , 173 , 179 , 185 , 191 , 197 , 202 , 208 , 213 , 218 , 222 , 227 , 231 , 234 , 238 , 241 , 244 , 247 , 249 , 251 , 252 , 253 , 254 , 255 , 255 , 255 , 254 , 253 , 252 , 251 , 249 , 247 , 244 , 241 , 238 , 234 , 231 , 227 , 222 , 218 , 213 , 208 , 202 , 197 , 191 , 185 , 179 , 173 , 167 , 160 , 154 , 147 , 141 , 134 , 128 , 121 , 114 , 108 , 101 , 95 , 88 , 82 , 76 , 70 , 64 , 58 , 53 , 47 , 42 , 37 , 33 , 28 , 24 , 21 , 17 , 14 , 11 , 8 , 6 , 4 , 3 , 2 , 1 , 0 , 0 , 0 , 1 , 2 , 3 , 4 , 6 , 8 , 11 , 14 , 17 , 21 , 24 , 28 , 33 , 37 , 42 , 47 , 53 , 58 , 64 , 70 , 76 , 82 , 88 , 95 , 101 , 108 , 114 , 121 , 128
Jedoch möchte ich mir die Werte durch den µC selbst ausrechnen lassen, mit der Sinus funktion! Hier mal mein Programm dazu:
$regfile = "m32def.dat"
$crystal = 16000000
$framesize = 80
$hwstack = 80
$swstack = 80
$baud = 19200
Dim X As Single
Dim Y As Single
Do
For X = 0 To 90 Step 5
Y = Sin(x)
Y = Y * 250
Print "Ausgabewert: " ; Y
Print ""
Wait 1
Next X
Loop
End
Die Zeile
y = y * 250
ist nur dazu da, damit ich Werte zwischen ca. 0 und 250 bekomme, welche ich dann direkt auf den Portc geben möchte, da dort mein DAC angeschlossen ist!
Allerdings kommen dabei bei der
y = sin(x)
funktion ganz andere Werte als beim Taschenrechner raus, teilweise sind diese auch negativ!
Ist das ein Bug meiner Version (1.11.9.1) oder mache ich etwas falsch??
Danke schon mal für eure Antworten!
Gruß
Chris