Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Błąd przy kompilacji

ArteXL
-
-
Posty:14
Rejestracja:18 maja 2004, o 16:28
Lokalizacja:Łomża
Kontaktowanie:
Błąd przy kompilacji

Postautor: ArteXL » 11 cze 2004, o 20:14

Witam, program zgłasza błąd 8 przy próbie kompilacji.
Jest to źródło z ne.

ArteXL

'################
' --- Miernik pojemnosci 1pF - 500000uF
' NE Nr.5-2003r str.4. Zeataw 337-K
'###############
$large
$crystal = 24000000
$regfile = "89C4051.dat"

Config Lcd = 16 * 1a
Config Lcdpin = Pin , Db7 = P1.2 , Db6 = P1.3 , Db5 = P1.4 , Db4 = P1.5 , E = P1.6 , Rs = P1.7
Config Timer0 = Timer , Gate = Internal , Mode = 1
Trigg Alias P3.0
Rst Alias P3.1
Cap3 Alias P3.7
Cap2 Alias P1.0
Cap1 Alias P1.1
Pk_ Alias P3.5
Dim Count_time As Word
Dim Temp As Word

Dim B1 As Byte
Dim B2 As Byte

Dim Xb3 As Single
Dim Xb2 As Single
Dim Xb1 As Single

Dim Xn As Byte
Dim Rangval As Byte
Dim Value As Single
Dim Range As Byte


Dim Active As Bit
Dim Status As Bit
Dim Change As Bit

Dim Stx As String * 10
Dim Stz As String * 1

Dim Stn As String * 2

Declare Sub Set_range()

Tcon.2 = 1
On Timer0 Timer0_int
On Int1 Int1_int
Enable Interrupts
Enable Timer0
Enable Int1
'###############
'--- Poczatek Programu
'###############
Xb3 = 0
Xb2 = 0
Xb1 = 0
Xn = 1
Status = 0
Change = 0
Range = 3
Trigg = 1
Rst = 0
Pk_ = 1

Cursor Off

Cls
Lcd "K - P"
Wait 1

Cls
Lcd "Mier pojemnosci"
Wait 1
Pk_ = 0

Cls
Lcd " Adjust "
'###############
' --- Poczatek petli glownej
'###############
Do
Rst = 1
If Status = 1 Then
Locate 1 , 16
Lcd "M"
End If

Pk_ = 0
Call Set_range()

Active = 1

Temp = 0
Count_time = 0

Th0 = 0
Tl0 = 0
Tcon.4 = 1
Enable Int1
Trigg = 0
Trigg = 1
'###############
Do

Loop Until Active = 0
'###############
'###############
B1 = Tl0
B2 = Th0

Temp = B2 * 256
Value = Count_time * 65536
Value = Value + Temp
Value = Value + B1
Value = Value / 1.1
Value = Value / Rangval
Value = Value / 2
'###############
'--- Zerowanie wszystkich podzakresow
'###############
If Status = 0 Then
If Range = 3 Then
Xb3 = Xb3 + Value
Incr Xn
If Xn > 10 Then
Xb3 = Xb3 / 10
Range = 2
Xn = 1
End If
'***************
Elseif Range = 2 Then
Xb2 = Xb2 + Value
Incr Xn
If Xn > 20 Then
Xb2 = Xb2 / 20
Range = 1
Xn = 1
End If
'***************
Elseif Range = 1 Then
Xb1 = Xb1 + Value
Incr Xn
If Xn > 50 Then
Xb1 = Xb1 / 50
Xn = 1
Status = 1
Cls
End If
End If
End If

If Status = 1 Then
Pk_ = 1
Waitms 255

Select Case Range
Case 3:
Value = Value - Xb2
If Value < 1 Then Range = 2
Case 2:
Value = Value - Xb2
If Value > 1000 Then
Range = 3
Elseif Value < 1 Then
Range = 1
End If
Case 1:
Value = Value - Xb1
If Value > 1000 Then Range = 2
End Select

If Value < 0 Then
Value = 0
End If

Stx = Str(value)
Stz = "."
B1 = Instr(stx , Stz)
Incr B1
Stx = Left(stx , B1)
Locate 1 , 1
Lcd Stx ; "" ; Stn ; " "
Locate 1 , 16
Lcd "Z"

If Range = 3 And Value > 4999 And Change = 0 Then
Wait 5
Elseif Range = 3 And Value > 1500 And Value < 5000 And Change = 0 Then
Wait 2
Else
Wait 1
End If

Pk_ = 0
End If
Loop
'###############
'---Koniec petli glownej
'###############
Sub Set_range()
Select Case Range
Case 3:
Cap1 = 1
Cap2 = 1
Cap3 = 0
Stn = "uF"
Rangval = 170
Case 2:
Cap1 = 1
Cap2 = 0
Cap3 = 1
Stn = "nF"
Rangval = 6
Case 1:
Cap1 = 0
Cap2 = 1
Cap3 = 1
Stn = "pF"
Rangval = 6
End Select
Waitms 1000
End Sub
'###############"
Timer0_int:
Incr Count_time
If Count_time > 15 And Range < 3 Then
Tcon.4 = 0
Incr Range
Call Set_range()
Change = 1
Rst = 0
Active = 0
End If
Return
'###############"
Int1_int:
Tcon.4 = 0
Disable Int1
Cap1 = 1
Cap2 = 1
Cap3 = 1
Active = 0
Return
'###############
End
' Ja ten program przepisywalem z Nowego Elektronika
' Chyba nie popelnilem bledów, chociaż czlowiek jest omylny

Awatar użytkownika
Press
-
-
Posty:389
Rejestracja:10 mar 2004, o 16:21
Lokalizacja:Wrocław
Kontaktowanie:

Postautor: Press » 11 cze 2004, o 22:48

Zaglądnij tutaj: http://www.forum.ep.com.pl/viewtopic.php?t=10225 Wygląda mi to na dokładnie ten sam problem.

ArteXL
-
-
Posty:14
Rejestracja:18 maja 2004, o 16:28
Lokalizacja:Łomża
Kontaktowanie:

Postautor: ArteXL » 12 cze 2004, o 02:07

Dzięki, poprawiłem i działa

ArteXL

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 6 gości