aşagıda 89c51 ve dac800 kullanlarak elde edilmiş sinus dalga üreticini 16f877 ye uyarlamaya çalışdım sanırım ama başarılı olamadım takıldım önumu acabılecek fıkırlerınızı beklıyorum.
orjınal kodlar C ve ısıs sımulasyon dahil
http://rapidshare.com/files/405037335/dac800.rar
ana:
For say = 0 To 253
scope = LookUp say ,_
[$80,$83,$86,$89,$8c,$8f,$92,$95,$98,$9c,$9f,$a2,$a5,$a8,$ab,$ae,_
$b0,$b3,$b6,$b9,$bc,$bf,$c1,$c4,$c7,$c9,$cc,$ce,$d1,$d3,$d5,$d8,_
$da,$dc,$de,$e0,$e2,$e4,$e6,$e8,$ea,$ec,$ed,$ef,$f0,$f2,$f3,$f4,_
$f6,$f7,$f8,$f9,$fa,$fb,$fc,$fc, $fd,$fe,$fe,$ff,$ff,$ff,$ff,$ff,_
$ff,$ff,$ff,$ff,$ff,$ff,$fe,$fe,$fd,$fc,$fc,$fb,$fa,$f9,$f8,$f7,_
$f6,$f5,$f3,$f2,$f0,$ef,$ed,$ec,$ea,$e8,$e6,$e4,$e3,$e1,$de,$dc,_
$da,$d8,$d6,$d3,$d1,$ce,$cc,$c9,$c7,$c4,$c1,$bf,$bc,$b9,$b6,$b4,_
$b1,$ae,$ab,$a8,$a5,$a2,$9f,$9c,$99,$96,$92,$8f,$8c,$89,$86,$83,_
$80,$7d,$79,$76,$73,$70,$6d,$6a,$67,$64,$61,$5e,$5b,$58,$55,$52,_
$4f,$4c,$49,$46,$43,$41,$3e,$3b,$39,$36,$33,$31,$2e,$2c,$2a,$27,_
$25,$23,$21,$1f,$1d,$1b,$19,$17, $15,$14,$12,$10,$f,$d,$c,$b,$9,_
$8,$7,$6,$5,$4,$3,$3,$2,$1,$1,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,_
$0,$1,$1,$2,$3,$3,$4,$5,$6,$7,$8,$9,$a,$c,$d,$e,$10,$12,$13,_
$15,$17,$18,$1a,$1c,$1e,$20,$23,$25,$27,$29,$2c,$2e,$30,$33,$35,_
$38,$3b,$3d,$40,$43,$46,$48,$4b,$4e,$51,$54,$57,$5a,$5d,$60,$63,_
$66,$69,$6c,$6f,$73,$76,$79 ]
scope = PORTB
Next
GoTo ana
scope = PORTB
neden yaptınız burası Portb=scobe olmayacak mı (sanırım oradanda DAC a giriş olacak)
PORTB=scope
böyle yaınca çalışacağını göreceksiniz..
16f877A 'nın hafızası yetmedigi için 18f452 ile derledim
ana:
For say = 0 To 248
scope = LookUp say ,_
[$80,$83,$86,$89,$8c,$8f,$92,$95,$98,$9c,$9f,$a2,$a5,$a8,$ab,$ae,_
$b0,$b3,$b6,$b9,$bc,$bf,$c1,$c4,$c7,$c9,$cc,$ce,$d1,$d3,$d5,$d8,_
$da,$dc,$de,$e0,$e2,$e4,$e6,$e8,$ea,$ec,$ed,$ef,$f0,$f2,$f3,$f4,_
$f6,$f7,$f8,$f9,$fa,$fb,$fc,$fc, $fd,$fe,$fe,$ff,$ff,$ff,$ff,$ff,_
$ff,$ff,$ff,$ff,$ff,$ff,$fe,$fe,$fd,$fc,$fc,$fb,$fa,$f9,$f8,$f7,_
$f6,$f5,$f3,$f2,$f0,$ef,$ed,$ec,$ea,$e8,$e6,$e4,$e3,$e1,$de,$dc,_
$da,$d8,$d6,$d3,$d1,$ce,$cc,$c9,$c7,$c4,$c1,$bf,$bc,$b9,$b6,$b4,_
$b1,$ae,$ab,$a8,$a5,$a2,$9f,$9c,$99,$96,$92,$8f,$8c,$89,$86,$83,_
$80,$7d,$79,$76,$73,$70,$6d,$6a,$67,$64,$61,$5e,$5b,$58,$55,$52,_
$4f,$4c,$49,$46,$43,$41,$3e,$3b,$39,$36,$33,$31,$2e,$2c,$2a,$27,_
$25,$23,$21,$1f,$1d,$1b,$19,$17, $15,$14,$12,$10,$f,$d,$c,$b,$9,_
$8,$7,$6,$5,$4,$3,$3,$2,$1,$1,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,_
$0,$1,$1,$2,$3,$3,$4,$5,$6,$7,$8,$9,$a,$c,$d,$e,$10,$12,$13,_
$15,$17,$18,$1a,$1c,$1e,$20,$23,$25,$27,$29,$2c,$2e,$30,$33,$35,_
$38,$3b,$3d,$40,$43,$46,$48,$4b,$4e,$51,$54,$57,$5a,$5d,$60,$63,_
$66,$69,$6c,$6f,$73,$76,$79 ]
PORTB = scope
Next
GoTo ana
(http://img101.imageshack.us/img101/2238/adszbw.jpg)
yok yetiyor. neden yetmesin ? ben 877 ye göre derledim.
ben deki proton da 877 ile derleme yapınca şu hatayı verıyor
[IMG]http://img171.imageshack.us/img171/8398/adszunp.jpg[/img]
(http://img171.imageshack.us/i/adszunp.jpg/)
o uyarı, hata değil
şunu kullansan belki daha iyi olur gibilerinden bir mesaj .
LookupL yeni bir komuttur ama oda 85 değer alabilir.
18f452 ile derledeğiniz isis ve kodları paylaşabilir misiniz lütfen?
ordaki veriyi cdata veya ldata oalrak yada include dosyası yap. daha kısa ve hızlı çalışacaktır .model oalrakta simülatorde ve protonda 877A seç
kolay gelsin