سلام.من یه دیپ سوییچ رو دادم به پورت a اتمگا 32 و به بقیه پورت هام led وصله.ولی مشکل اینه که در do-loop فقط حالتی که شرطش صفره اجرا میشه.انگار دیپ سوییج نمی تونه به جز صفر عدد دیگه ای رو به میکرو بده.پورتهای دیگه رو هم به عنوان ورودی امتحان کردم نشد.نحوی اتصال دیپ رو توی نقشه خارجی دیدم این جوریه.مشکل کجاست؟
مغز منو تیلیت کرده! :angry: :angry:

مغز منو تیلیت کرده! :angry: :angry:
$regfile = "m32def.dat"
$crystal = 1000000
Config Porta = Input
Config Portb = Output
Config Portc = Output
Config Portd = Output
Dim A As Byte
Dim B As Byte
Dim T1 As Word
Dim T2 As Word
Dim T3 As Word
T1 = 50
T2 = 100
T3 = 300
'******************************************** ***********************************
Do
If Porta = 0 Then Gosub M
If Porta = 15 Then Gosub N
Loop
End 'end program
Table1:
Data &B00000001 , &B00000011 , &B00000111 , &B00001111 , &B00011111 , &B00111111 , &B01111111 , &B11111111 ,
Data &B11111111 , &B01111111 , &B00111111 , &B00011111 , &B00001111 , &B00000111 , &B00000011 , &B00000001 ,
Table3:
Data &B00000000 , &B11111111 , &B00000000 , &B11111111 , &B00000000 , &B11111111 , &B00000000 , &B11111111 ,
M:
'---------------------------------------------
Num1:
For B = 0 To 2
For A = 0 To 15
Portb = Lookup(a , Table1)
Portc = Lookup(a , Table1)
Portd = Lookup(a , Table1)
Waitms T1
Next A
Next B
Return
'---------------------------------------------
N:
Num5:
For B = 0 To 4
Portc = 255
Portd = 255
For A = 0 To 4
Portb = Lookup(a , Table3)
Waitms T2
Next A
Next B
Return
$crystal = 1000000
Config Porta = Input
Config Portb = Output
Config Portc = Output
Config Portd = Output
Dim A As Byte
Dim B As Byte
Dim T1 As Word
Dim T2 As Word
Dim T3 As Word
T1 = 50
T2 = 100
T3 = 300
'******************************************** ***********************************
Do
If Porta = 0 Then Gosub M
If Porta = 15 Then Gosub N
Loop
End 'end program
Table1:
Data &B00000001 , &B00000011 , &B00000111 , &B00001111 , &B00011111 , &B00111111 , &B01111111 , &B11111111 ,
Data &B11111111 , &B01111111 , &B00111111 , &B00011111 , &B00001111 , &B00000111 , &B00000011 , &B00000001 ,
Table3:
Data &B00000000 , &B11111111 , &B00000000 , &B11111111 , &B00000000 , &B11111111 , &B00000000 , &B11111111 ,
M:
'---------------------------------------------
Num1:
For B = 0 To 2
For A = 0 To 15
Portb = Lookup(a , Table1)
Portc = Lookup(a , Table1)
Portd = Lookup(a , Table1)
Waitms T1
Next A
Next B
Return
'---------------------------------------------
N:
Num5:
For B = 0 To 4
Portc = 255
Portd = 255
For A = 0 To 4
Portb = Lookup(a , Table3)
Waitms T2
Next A
Next B
Return
دیدگاه