Witam Kolego Unreal89. Pracuję pod Bascomem 8051 i nie spotkałem się z funkcją, o której wspominasz. Przejrzałem pliki help'a i tam również nic nie znalazłem. Zainteresowany jestem z jakiego powodu odpada komenda "fusing"? Dla czego pytam? Pozwolę sobie obszerniej skomentować zaprezentowany listing. 1. Termometr DS18B20 przechowuje informacje o temperaturze...
witam mam nastepujacy problem w bascom moze banalny ale nie moge go przesskoczyc:(brak logicznego myslenia) chodzi o pomiar temperatury na ds 18b20 przed wyswietleniem temperatury formatuje liczbe za pomoca polecenia: Str_temp = Fusing(temp , "#.&") wiec z liczby np: 22.6255 zostaje mi 22.6 i moge to wyswietlic jest ok tylko liczba jest zapisana jako...
Szukaj komendy Fusing
Program do czujnika temp ds18b20 ktory mierzy z dokladnoscia dwoch miejsc po przecinku. Sprawdzony ale tak jak juz koledzy mowili wyniki po przecinku bardzo czesto skacza Deflcdchar 0 , 7 , 5 , 7 , 32 , 32 , 32 , 32 , 32 Config Pind.7 = Output Config Pind.4 = Output Config Pind.5 = Output Config Pina.6 = Output Config Pina.7 = Output Set Portb.0 Set...
Opis magistrali 1Wire masz w helpie. Poniżej kod na obsługę dallasa DS18B20. Config 1wire = P1.0 'konfiguracja magistrali 1wire Config Lcd = 16 * 1a 'konfiguracja wyswietlacza Deflcdchar 1 , 4 , 10 , 4 , 32 , 32 , 32 , 32 , 32 'znak stopnia Dim T1 As Single Dim T2 As Single Dim B1 As Byte , B2 As Byte , R As Byte Dim Tmp As String * 6 Dim Znak As String...
Czyli ta kolejność powinna być taka? 1wreset 1wwrite &HCC 1wwrite &H44 Waitms 750 1wreset 1wwrite &H55 1wverify Dsid1(1) 1wwrite &HBE I1 = 1wread(2) 1wreset 1wwrite &H55 1wverify Dsid2(1) 1wwrite &HBE I2 = 1wread(2) Tzewn = I2 / 16 Twewn = I1 / 16 Tw = Fusing(twewn , "#.#") Tz = Fusing(tzewn , "#.#")...
Nikt nie jest w stanie mi pomóc? nie wie wiem dla czego kontroler nie porównuje wartości Rozumiem że jesteś początkujący , ale nawet Ty powinieneś wiedzieć , że nie porównuje się zmiennej binarnej(Us) ze stringiem (Tmp) :( To tak , jak byś porównywał kilogram z czerwonym :D Poza tym , ten program jest niezwykle pamięciożerny(Fusing,Single). Jeśli ten...
BASCOM ma taką funkcję jak FUSING(), do formatowania tekstu. Popatrz do helpa. Jest tam to dokładnie opisane.
niestety ujemnych liczb cgba nie obsługóje , chociaz może ??? co do zaokrąglania to mozna dać Lcd Fusing(Wynik , "#.##") i powinno działać pozdrawiam
Biblioteka której użyłeś nie ma możliwości dowolnej konfiguracji pinów. W załączniku masz bibliotekę prosto z Rosji :D Chiński wyświetlacz sam mi się uszkodził ale coś tam wyświetla :D http://obrazki.elektroda.pl/6257086800_1... Kod którego użyłem do zrobienia tego zdjęcia [syntax=vbnet] $regfile = "m8def.dat" ' specify the used micro...
durny błąd Nap: Wart_u2 = Getadc(4) U2 = Wart_u2 * 0.004887585533 V2 = U2 * 4.83 Wart_nap2 = Fusing(v2 , "#.#" ) Wart_nap2 = Format(wart_nap2 , " ") Return 'to wywalić Select Case Wyswietlanie Case 0:
Problem polega na tym, że odczytujesz wartość ADC z uC zamiast z DS18xxx. Brakuje ci obsługi DS18B20. Poniżej fragment kodu działającego u mnie. [syntax=vbnet] Config 1wire = Portb.0 '0,1,2 NOP 3,4,5,6,7 works good ON MY Equipment Do 1wreset 'reset 1wwrite &HCC 'jedna kostka, więc wykorzystujemy rozkaz SKIP ROM 1wwrite &H44 'dokonaj konwersji Waitms...
No ale przecież 133/16 to nie jest 41998000! Bo to po pierwsze nie jest dzielenie w systemie 16stkowym tylko dziesiętnym w programie. Poza tym brakuje koledze funkcji fusing(), a jak podzielimy 133 w hexie czyli 307 w dziesiętnym systemie przez 16 to otrzymamy 19stopni i mniemam że taka temperatura jest ustawiona. A druga linijka jest zła ze względu...
spróbuj tego: Temp: Deflcdchar 1 , 12 , 18 , 18 , 12 , 32 , 32 , 32 , 32 Dim H As String * 5 Dim Odczyt As Integer Dim T As Single 1wreset 1wwrite &HCC 1wwrite &H44 Waitms 250 Waitms 250 1wreset 1wwrite &HCC 1wwrite &HBE Odczyt = 1wread(2) T = Odczyt - 16 T = T * 10 T = T \ 16 T = T \ 10 Locate 1 , 1 H = Fusing(t , "#.#") Lcd H ; Chr(1) ; "C" Return
Jeśli podajesz w programie do której końcówki jest podłączony czujnik to nie przejmuj się tym co podaje bascom ale dla świętego spokoju tam też to zmień. Obowiązkowo zmień rezystor na 4,7kΩ. Po za tym masz jakiś dziwny ten programik. Spróbuj na tym(wczesniej zmien rezystor): $regfile = "m32def.dat" $crystal = 8000000 Config Lcdbus = 4...
Odpaliłem i idziała :) Problem w tym, że pokazuje coś nie tak. Temperatura dodatnia błąd na plus około 2 stopień. Zamiast 22 pokazuje 24.3 a przy ujemnej (zwykły termometr) pokazuje -13 zamiast - 18 Do 1wreset 1wwrite &HCC 1wwrite &H44 Waitms 250 Waitms 250 1wreset 1wwrite &HCC 1wwrite &HBE Lsb = 1wread(): Msb = 1wread(): Tempa...
Witam, Jak w temacie. Mam układ w którym (niestety) pracuje wykręcona do 25MHz Atmega 32. Wszystko działa bardzo dobrze i nie przeszkadza jej taki ovrclock ale mam problem z odczytem danych z czujnika DS18B20. Komunikacja typu RS232, ISP, i2C działa idealnie. Nie mogę zejść z taktowaniem niżej. [syntax=vbnet] If DSwait < 5 then 1wreset 'reset magistrali...
1wreset 'reset 1wwrite &HCC 'jedna kostka, więc wykorzystujemy rozkaz SKIP ROM 1wwrite &H44 'dokonaj konwersji Waitms 750 'przeczekaj czas konwersji 1wreset 'reset 1wwrite &HCC 'rozkaz adresowy SKIP ROM 1wwrite &HBE 'rozkaz funkcyjny - polecenie odczytu DS18x20 Odczyt(1) = 1wread(2) 'odczytaj dwa pierwsze bajty T = Odczyt(2)...
Proszę bardzo (szkoda kolejnych kilkunastu postów na omawiany wielokrotnie temat), kod zmodyfikuj wedle własnych potrzeb: $regfile = "m32def.dat" $crystal = 8000000 Config Lcdbus = 4 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Pb.4 , Db5 = Pb.5 , Db6 = Pb.6 , Db7 = Pb.7 , E = Pb.3 , Rs = Pb.2 Config 1wire = Portb.0 ' termometr ds18b20...
Utrudniasz sobie zycie niesamowicie tym twoim programem. Niepotrzebnie pakujesz się w przerwania. Tutaj masz chyba najprostsza wersje kodu: $regfile = "m32def.dat" $crystal = 16000000 Config Lcdbus = 4 Config Lcd = 24 * 2 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2 Config...
Tu masz działający i uproszczony do max kod do obsługi ds18b20 (wyświetla temp na wyświetlaczu) [syntax=basic4gl] I = 1wread(2) S = I / 16 T = Fusing(s , "##.#") Locate 1 , 1 Lcd "Temp:" ; T ; Chr(0) ; "C" [/syntax] tu masz dokładnie objaśnione co i jak: [syntax=basic4gl]Do 1wreset 'reset 1wwrite &HCC 'jedna kostka, więc wykorzystujemy rozkaz SKIP ROM...
Witam No właśnie patrze w HELP-a i tam jest że zmienna ma byc typu Single i tak mam. mam odczyt temp z DS18B20 jako funcje: instrukcje ......... 1wwrite Czytaj_scratchpad Msb = 1wread(1) Lsb = 1wread(1) 1wreset Temp = Makeint(msb , Lsb) Pomiar_temp_zew = Temp / 16 end Function W pętli głównej wywołuje : Temp_ds18b20 = Pomiar_temp_zew(i) Funkcja zwraca...
Witam Zaczynam zabawę z z atmegą 16 i czujnikiem DS18B20 i mam jak każdy na tym forum mały kłopot............ hm co jest nie tak ? . Prosił bym o podpowiedz Spróbuj ten, troche zmieniony code: [code][syntax=basic4gl] $regfile = "m16adef.dat" $crystal = 1000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Rs = Portc.7 , E = Portc.6 , Db4 = Portc.5 , Db5...
Z noty katalogowej widze że trzeba zmienić w rejestrze konfiguracyjnym (czyli 4ty bajt scratchpada) bit 6 i 5 na 0. sam odczyt temperatury robię tak: 1wreset 1wwrite &HCC 1wwrite &H44 Waitms 750 1wreset 1wwrite &HCC 1wwrite &HBE I = 1wread(2) S = I / 16 T = Fusing(s , "##.#") chodzi mi o to żeby zmniejszyć waitms do 95 jak...
[syntax=basic4gl]$regfile = "m8def.dat" $crystal = 1000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.6 , Db5 = Portd.5 , Db6 = Portb.7 , Db7 = Portb.6 , E = Portd.7 , Rs = Portb.0 'Podłączenie LCD Config 1wire = Portb.1 'Podłączenie DS18B20 Cursor Off Dim Temptxt As String * 7 Dim Temp As Single Dim T As Word Dim Wynik(9) As Byte Cls Do...
Witam.Mam taki problem.Posiadam program Termometru (Atmega8+DS18B20)pokazujący temp.dodatnie i ujemne.I nie mam pojęcia jak go przerobić pod (2X DS18B20).Temp.z dwóch układów na jednej 1Wire.Proszę o pomoc:) $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7...
możesz od razu napisać : Lcd Fusing(napiecie0 , "#.#"); i nie trzeba deklarować stringów Więc mogę wpisać: Amp = Wart_aca * 0.0049 Locate 1 , 8 Lcd Fusing(amp , "#.##") ale w którym momencie muszę wtedy wstawić "I=" i "A" ? Znalazłem w szufladzie czujnik temperatury DS18B20 a na necie kawałki programu do obsługi...
Mam problem, podłączyłem dwa czujniki i nie mogę odczytać temperatury. Czy schemat odczytu wygląda tak: 1) Reset 2) write H55 - aby powiedzieć kto ma słuchać poleceń 3) Podaje adres czujnika 4) write HBE dla odczytu scratchpad 5) Odczyt scratchpad do zmienych 6) Reset Mam jeszcze pytanie, co tak właściwie robi 1wverify, co on weryfikuje? Czy połączenie...
'Definicja procesora dla: ' Mega16 wpisać m16def.dat ' Mega32 wpisać m32def.dat ' Mega644p wpisać m644pdef.dat $regfile = "m32def.dat" 'Częstotliwość kwarcu domyślnie 16MHz $crystal = 16000000 $hwstack = 32 ' default use 32 for the hardware stack $swstack = 10 'default use 10 for the SW stack $framesize = 40 'default use 40 for the frame...
Witam Ja Odczyt temperatury zrobił bym tak: .... 1wwrite &HCC 1wwrite &HBE Lsb = 1wread(): Msb = 1wread(): Minus = Msb.7 Tempa = Msb * 256 Tempa = Tempa + Lsb If Minus = 1 Then Tempa = Not Tempa Tempa = Tempa + 1 End If Tempa = Tempa * 10 'temperatura *10 Tempa = Tempa / 16 Jest to fragment kodu pozwalający na odczyt ujemnych...
Witam, Napisałem prosty program w bascomie jako komputerek pokładowy do motoru $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdbus = 4 Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.6 , E = Portd.1 , Rs = Portd.0 Config Pind.5 = Input Cursor Off Cls Lcd "Szerokiej Drogi!"...
OK. A czy można ten kod uprościc do minimum? $regfile = "m16def.dat" $crystal = 16000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0 Dim Odczyt(2) As Byte , T As Integer , T1 As Single , Napis As String * 5 Config 1wire = Portd.4 Deflcdchar 1 ,...
Niestety nadal nic ... Napisałem (a dokładniej przerobiłem program z innej strony): [syntax=basic4gl]$regfile = "m16def.dat" $crystal = 8000000 $baud = 2400 Config Portb = 255 Portb = 0 Config Portc = 255 Portc = 255 Config Portd = 255 Portd = 255 Config 1wire = Pina.0 Cls Cursor Off Noblink Enable Interrupts Dim Lsb As Byte Dim Msb As Byte Dim Tempa...
Zobacz to: [syntax=basic4gl]$regfile = "m32def.dat".dat " $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0 Config 1wire = Porta.4 Config Portc = Output Deflcdchar 1 , 4 , 10 , 4 , 32 , 32 , 32 , 32 , 32 Cursor Off Cls Dim T1 As Single Dim T2 As Single...
spróbowałem zmienić procesor na Atmega32 i błąd ciągle ten sam. Kod w którym się pojawia to: $regfile = "m16def.dat" $crystal = 16000000 $hwstack = 32 ' default use 32 for the hardware stack $swstack = 10 'default use 10 for the SW stack $framesize = 40 'default use 40 for the frame space ' use the alternative library 'Podłączenie pinów LCD...
Mógłby ktoś zerknąć na kod? Portami się nie przejmujcie. Z góry dzięki! $regfile = "m8def.dat" $crystal = 8000000 Config Lcdbus = 4 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Pb.4 , Db5 = Pb.5 , Db6 = Pb.6 , Db7 = Pb.7 , E = Pb.3 , Rs = Pb.2 Config Portd = Output Config 1wire = Portb.0 ' termometr ds18b20 Dim I As Integer 'zmienne do...
Witam Oto przykładowy program w BASCOM AVR obsługujący dwa czujniki o znanych numerach seryjnych: '***************************************... 'Konfiguracja AVR '***************************************... $regfile = "m162def.dat" $crystal = 16000000 $baud = 2400 Config Porta = 255 Porta = 255 Config Portb = 255 Portb = 255 Config...
Witam Mam następujący problem z termometrem DS18B20. Oto mój kod: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 1000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Rs = Portb.6 , E = Portb.7 , Db4 = Portd.5 , Db5 = Portb.0 , Db6 = Portd.7 , Db7 = Portd.6 Config 1wire = Pinc.1 Deflcdchar 1 , 14 , 10 , 14 , 32 , 32 , 32 , 32 , 32 Dim T As Single Dim...
'Jednopunktowy termometr z czujnikiem DS18B20 'www.portalnaukowy.edu.pl 'Program na podstawie kursu z ksišżki "Mikrokontrolery dla Poczštkujšcych" Pana Piotra Góreckiego $crystal = 4000000 'deklaracja częstotliwo�ci pracy kwarcu $regfile "attiny2313.dat" 'model procesora dla którego jest ten program Deflcdchar 1 , 14 , 17...
Witammój problem polega na tym że podłączyłem do megi termometr i po wywołaniu tego kodu im T1 As Single Dim T2 As Single Dim B1 As Byte , B2 As Byte , R As Byte Dim Tmp As String * 6 Dim Znak As String * 1 Sub Temp 1wr 'podprogram 1wr 1wwrite &HCC 'komenda skip ROM 1wwrite &H33 'komenda convert T Waitms 250 Waitms 250 1wr 'podprogram 1wr 1wwrite &HCC...
Jest rok 2015 teraz robi się to tak: DS18B20 moze być zasilany z linii transmisji bądź trzecim pinem. Jeśli masz podłaczone 5V na stałe podczas pracy programu czyli do DS`a idą trzy przewody to DS może dla Ciebie przygotować temperature i poczekać spokojnie aż ją odczytasz. Czyli każesz mu przygotować temperaturę i wracasz po nią za sekundę. Kiedy wracasz...
Jest a oto mały przykład: T = Fusing(s , "##.#") Gdzie T jest typu string a S typu single. Jest też opcja format. A to wszystko znjdziesz w helpie do bascoma.
'Program przygotowany dla zestawu EvB 4.3 firmy And-Tech.pl 'Definicja procesora dla: ' Mega16 wpisać m16def.dat ' Mega32 wpisać m32def.dat ' Mega644p wpisać m644pdef.dat $regfile = "m32def.dat" 'Częstotliwość kwarcu domyślnie 16MHz $crystal = 16000000 $hwstack = 32 ' default use 32 for the hardware stack $swstack = 10 'default use 10...
Deflcdchar 1 , 14 , 17 , 17 , 14 , 32 , 32 , 32 , 32 ' definicja znaki stopnia Config 1wire = Portd.5 ' konfiguracja portu PD.5 jako wejcia magistrali 1-wire Dim Odczyt(2) As Byte , A As Byte , Licznik As Byte , T As Integer , T1 As Single , Napis As String * 5 'Deklaracja wszystkich zmiennych potrzebnych do pracy programu Do 1wreset 'reset...
Witam, Na wstepie zaznaczam, ze uklad (przynajmniej na pierwszy rzut oka) dziala poprawnie. Moje pytanie wynika z tego, ze nie mam gdzie sprawdzic czy dobrze odczytuje mi znak kiedy temperatura jest ujemna. Z dokumentacji czujnika wynika ze jezeli bity znaku tj od 15-go do 11-go sa wyzerowane to temeratura jest dodatnia a ujemna w przypadku gdy ustawione...
Witam Głowiłem się ostatnio nad obsługą czujnika DS18B20. Trochę mi to zajęło czasu - szukanie, zrozumienie itd... Z kilku źródeł skleiłem poniższy program. W docelowym projekcie ma być to termometr do komputera zintegrowany w większym urządzeniu. Sprawdzanie i pomiar temperatury będzie wywoływane przez odpowiednio użyty Timer0, co około 1 sekundę -...
Poniżej krótki przejrzysty program do termometru. 1wwrite &H44 zmusza DS'a do wykonania pomiaru 1wwrite &HBE zmusza DS'a do "wyplucia" zmierzonej temperatury 1wwrite &HCC zmusza DS'a do zgłoszenia się bez podania adresu układu. Jest to uproszczenie kiedy mamy na magistrali jeden układ. Zmieniając podprogram możemy wysyłać adresy DS'ow. Do Gosub Wlacz_konwersje...
Tu masz prosty programik, który kiedyś pisałem. Przedstawia obsługę zarówno wersji B jak i S. [syntax=basic4gl] $regfile = "m8def.dat" 'deklaracja procesora $crystal = 8000000 'deklaracja czestotliwosci taktowania Config Lcd = 16 * 2 'typ wyswietlacza i konfiguracja pinow Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5...
witam, Od razu do rzeczy. Jak w temacie! Program odczytuje po 1wire temperatury z 2 czujników. Wszystko działa poprawnie (płytka, czujniki dodam ds18b20). Kod programu poniżej. Error : 261 Line : 39 Array expected [ID1] Error : 261 Line : 43 Array expected [ID2] Error : 124 Line : 43 LOOP expected ostatnim errorem...
Witam. We wstępie chciałem zaznaczyć, że szukałem podobnych problemów, lecz bezskutecznie. Mój problem polega na tym, że po wgraniu poniższego kogu do mikrokontrolera atmega8, na wyświetlaczu LCD wyświetla się napis "*temperatura* wynik: -0,1 stopnia C", brak reakcji na zmiany temperatyry czujnika cały czas -0,1stopnia. [syntax=basic4gl] $regfile...
ds18b20 fusing bascom fusing fusing bascom
adaptacja modułu argos sterownik scania manualne
Pralka hałasuje podczas wirowania - przyczyny i rozwiązania Krups ekspres do kawy - migające lampki, co robić?