Witajcie.
Moje pytanie dotyczy dziwnego zachowania się procka 89C4051 ze skompilowanym w Bascomie programie: w programie używam zmiennej Temp, którą inicjuję przed główną pętlą Do Loop programu "Temp = 25" a przy pierwszym wywołaniu w programie ma nie wiadomo dlaczego wartość 105 (choć nie była zmieniana). Nie wspomnę już o tym, że port P1.6 na chwilę "przybiera" wartość "1" w czasie trwania programu choć jest także inicjowany jako "0" i nie zmieniany.
Czy to może być efekt braku RAMu itp - kompilator nie zgłasza żadnych błędów? Kod wynikowy ma 3.5kB, program kompiluję z dyrektywą $Large, używam 2 timerów a lista zmiennych i nagłówek przedstawia się następująco:
$large
$crystal = 11059000
Config Timer1 = Timer , Gate = Internal , Mode = 1
Config Timer0 = Timer , Gate = Internal , Mode = 1
Enable Interrupts
Load Timer1 , 4150
On Timer1 Timer1_int
Enable Timer1
Load Timer0 , 4150
On Timer0 Timer0_int
Enable Timer0
Dim X As Byte
Dim Z As Byte
Dim Pomocnicza As Byte
Dim Napis As String * 10
Dim Danaprocedury As Byte
Dim Pokazuje As Bit
Dim Petle As Byte
Dim Czas_pomiaru As Byte
Dim Start_pomiar As Bit
Dim Temp As Byte
Dim Temp_1wire As Byte
Dim Auto_klima As Bit
Dim Wlaczylem As Bit
Dim Welcome As Bit
Dim Ds1820(2) As Byte
Dim Podano_napiecie As Bit
Dim Przekaznik_on As Bit
Declare Sub Mydelay
Declare Sub Power_on_test
Declare Sub Sendi2cdata(danaprocedury As Byte)
Declare Sub Wyslij_napis
Declare Sub Wyczysctid
Declare Sub Sprawdz_aa
Declare Sub Przywroc_aa
'SCL to P3.0 , SDA to P3.1 , MRQ to P3.2
Scl Alias P3.0
Sda Alias P3.1
Mrq Alias P3.2
Aa Alias P1.3
Wew_aa Alias P1.2
T_p Alias P1.5
T_m Alias P1.4
Przekaznik Alias P1.6
Keyon Alias P1.7
Termometr Alias P1.0
Buzzer Alias P3.3
' Konfiguracja magistrali 1-wire
Config 1wire = Termometr
'-- START PROGRAMU -- START PROGRAMU --
Start Timer0
Call Power_on_test
Pokazuje = 0
Temp_1wire = 19
Auto_klima = 0
Welcome = 1
Wew_aa = 0
' Zerujemy inne zmienne
Czas_pomiaru = 0
Start_pomiar = 0
Podano_napiecie = 0
Przekaznik = 0
Buzzer = 0
Wlaczylem = 0
Przekaznik_on = 0
Temp = 22
Do
.......
Loop
end
Uprzejmie proszę o sugestie... robiw
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ęDziwne zachowanie 89C4051 - kompilacja Bascom - HELP?
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 29 gości