baddog777
Üye
- Katılım
- 21 Haz 2009
- Mesajlar
- 43
- Puanları
- 1
Yönetici Notu: Paylaşılan fotoğraf, fotoğraf paylaşım sitesinden silindiği için kaldırılmıştır.
resimdeki devrede kullandıgım programda RB0 kesmesini microcode basic de asagıdakı gıbı yapıp derledıgımde sorunsuz calısıyor..
Fakat bu kodu proton basıce uygun hale getırip derledıgımde sorun var, kesme mı gerceklesmıyor yoksa kesme bır kez gerceklesıyor Flag mı sıfırlanmıyor anlayamadım.. hatam nerde acaba
resimdeki devrede kullandıgım programda RB0 kesmesini microcode basic de asagıdakı gıbı yapıp derledıgımde sorunsuz calısıyor..
Kod:
define osc 20
adim var word
bekle var Word
adimlar var Byte[8]
TRISB=%00000000
ON interrupt GoTo kesme
OPTION_REG=255' high ise kes
INTCON=%10010000
TRISB=%00000011
TRISA=%00000000
CMCON=7
adimlar[0] = %00000001
adimlar[1] = %00000011
adimlar[2] = %00000010
adimlar[3] = %00000110
adimlar[4] = %00000100
adimlar[5] = %00001100
adimlar[6] = %00001000
adimlar[7] = %00001001
porta=0
adim = 0
'bekle = 50 '30 ms adım arası süre
basla:
' pauseus bekle
if adim=8 Then adim = 0
If adim=-1 Then adim = 7
PORTA = adimlar[adim]
GoTo basla
Disable
kesme:
if portb.1=1 then
adim=adim+1
endif
if portb.1=0 then
adim=adim-1
endif
INTCON.1=0
Resume
Enable
End
Fakat bu kodu proton basıce uygun hale getırip derledıgımde sorun var, kesme mı gerceklesmıyor yoksa kesme bır kez gerceklesıyor Flag mı sıfırlanmıyor anlayamadım.. hatam nerde acaba
Kod:
Device 16F628A
XTAL = 20
Dim adim As Byte
Dim bekle As Word
Dim adimlar[8] As Byte
TRISB=%00000000
ON_hardware_interrupt kesme
OPTION_REG=255
OPTION_REG.6=1'
OPTION_REG.7=1
INTCON=%10010000
TRISB=%00000011
TRISA=%00000000
CMCON=7
Symbol sinyal = PORTB
Symbol a1 = PORTA
adimlar[0] = %00000001
adimlar[1] = %00000011
adimlar[2] = %00000010
adimlar[3] = %00000110
adimlar[4] = %00000100
adimlar[5] = %00001100
adimlar[6] = %00001000
adimlar[7] = %00001001
sinyal = 0
adim=0
a1 = 0
'bekle = 100
basla:
'DelayMS bekle
If adim=8 Then adim = 0
If adim=-1 Then adim = 7
a1 = adimlar[adim]
GoTo basla
Disable
kesme:
If sinyal.1=1 Then Inc adim
If sinyal.1=0 Then Dec adim
INTCON.1=0
Return
Enable