Witam chciałem uruchomić program z Książki do Bascoma AVR listingu 8.7 a jestem nowy w te klocki przepisane jest idealnie i wywala mi błąd przy kompilacji mógłby mi ktoś zerknąć na to co jest tronfem POZDRAWIAM
$regfile = "m8def.dat"
$crystal = 1000000
Config Portd = Output
Config Pinb.0 = Output
Config Pinb.1 = Output
Config Pinb.2 = Output
Config Pinb.3 = Output
Config Timer0 = Timer , Prescale = 256
Declare Sub Pobr_znaku(cyfra As Byte)
On Timer0 Mult_wysw
Dim A As Byte , B As Byte , C As Byte , D As Byte
Dim Nr_wysw As Byte
Dim Kr1 As Bit , Kr2 As Bit , Kr3 As Bit , Kr4 As Bit
Dim Wart As Byte
W1 Alias Portb.0
W2 Alias Portb.1
W3 Alias Portb.2
W4 Alias Portb.3
Enable Interrupts
Enable Timer0
Load Timer0 , 125
Do
A = 1
B = 2
C = 8
D = 9
Set Kr2
Set Kr4
Wait 5
D = 10
C = 10
Reset Kr4
Reset Kr2
Wait 5
Wart = 35
Wart = Makebcd(wart)
A = Wart And &B00001111
Shift Wart , Right , 4
B = Wart
Wait 5
Loop
End
Sub Porb_znaku(cyfra As Byte)
If Cyfra < 10 Then
Portd = Lookup(cyfra , Kody7seg )
Else
Portd = 0
End If
End Sub
Mult_wysw:
Load Timer0 , 125
Set W1
Set W2
Set W3
Set W4
Select Case Nr_wysw
Case 0:
Cal Pobr_znaku(a)
Portd.7 = Kr1
Reset W1
Case 1:
Call Pobr_znaku(b)
Portd.7 = Kr2
Reset W2
Case 2:
Call Pobr_znaku(c)
Portd.7 = Kr3
Reset W3
Case 3:
Call Pobr_znaku(d)
Portd.7 = Kr4
Reset W4
End Select
Incr Nr_wysw
If Nr_wysw = 4 Then
Nr_wysw = 0
End If
Return
Kody7seg:
'Kody cyfr
Data &B00111111 , &B00000110 , &B01011011 , &B01001111 , &B01100110
Data &B01101101 , &B01111101 , &B00000111 , &B01111111 , &B01101111