Łopatologicznie to by było tak... Masz zmienną o nazwie np. LICZBA=123 i chcesz z niej wyodrębnić setki, dziesiątki i jedności... Musisz stworzyć nowe zmienne typu całkowitego, np. SETKI=LICZBA/100 --> (123/100 = 1,23 zmienna typu całkowitego utnie te 23 po przecinku i zostanie 1 --> SETKI=1) DZIESIĄTKI=(LICZBA/10)-(SETKI*10) --> (123/10=12 --> 12-1*10=2...
...I nikt nie wie jak to zrobic :( ?? Tak źle to nie jest , tylko pewnie nikomu nie chce się odpisywać , na tak proste zagadnienie ;) Spróbuj np. 1)Ustaw kursor na dziesiątki godzin 2) Jeśli _hour jest mniejszy od 10 , to wyświetl "0"; 3) Wyświetl _hour; Wyświetl dwukropek; Powtórz kroki 2 i 3 dla minut , ale bez dwukropka Możesz...
Niestety te przejściówki USB->LPT nie działają tak jak powinny. Wiem z doświadczenia, bo kiedyś chciałem uruchomić kabel LPT do telefonu przez taką przejściówkę (i nie tylko ja, wręcz dziesiątki osób) i niestety nie udało się. Polecam złożyć sobie USBASP albo USBTiny. Ten pierwszy programator posiadam osobiście i nigdy się nie zawiodłem, więc z całym...
Przeczytałem cały wątek pobieżnie i nie chcę się wdawać w dyskusję :D Oczywiscie Bascom ma funkcję która zamienia String (to łańcuch znaków) na tablicę bajtów. Nazywa się STR2DIGITS. Nikt, nawet Autor watku, nie napisał że to miał być łańcuch znaków, ale proszę, tak to robi Bascom. Lubię sobie popatrzeć na disassembler :D [syntax=vbnet]Dim Liczba As...
Witam. Mam problem z prostym licznikiem impulsów 0-999 Otóż, po przekroczeniu wartości 255 cyfra setek wskakuje na 0 a dziesiątki i jedności liczą się dalej. Co może być nie tak? [syntax=vbnet] $regfile = "attiny2313.dat" ' 2KB FLASH|128B SRAM|128B EEPROM $crystal = 8000000 $hwstack = 40 $swstack = 8 $framesize = 24 Config Timer0 = Timer , Prescale...
Dzielisz liczbę przez 100, masz setki. Dzielisz przez 10, masz dziesiątki ;-) Jeśli będziesz operował na byte to powinien zaokrąglić. Dim A As Byte Dim A100 As Byte Dim A10 As Byte Dim X As Byte 'zmienna pomocnicza A = 235 A100 = A / 100 X = A100 * 100 A = A - X A10 = A / 10 X = A10 * 10 A = A - X
Autor nawet nie napisał jakie mcu , nie podał kodu ... Mam wrażenie że nawet trygonometrii nie zastosował tylko leci na "surowych" danych z akcelerometru i te uśrednianie to zapewne pętla , sumowane wyniki podzielone przez ilość wyników ehhh . Z takim podejściem to nie nauczysz dzieciaka elektroniki a raczej kupowania "gotowców" . Masz podany cały tutorial...
Zamień na BCD i wówczas zapisuj. Bascom ma gotowe instrukcje w tym celu.
Właśnie w ten sposób, jak napisałem powyżej. Można nie dawać pętli, tylko pojedyncze instrukcje i w ten sposób wydzielać tysiące, setki, dziesiątki i jednostki.
Proste rozwiązanie: jgodzina = godzina mod 10 dgodzina = godzina/10 Powinno działać Pozdrawiam! Marcin "Max" G.
Panowie macie przykłady z Uartem w katalogu samples, a ponadto dziesiątki na forum. Poszukajcie postów Mirka, Adamabehnke, moich itd.
Opis I2C masz na pewno w helpie do bascoma, razem z przykładami (helpa po polsku można znaleźć na google jak i na forum). A ogólnie dziesiątki kodów z tym zegarem w BASCOM jest dostępne na forum po wpisaniu w szukajce +PCF8583 +bascom.
Witam Dziękuję za szybką odpowiedź, też już myślałem nad plc lecz jest on trochę drogi na tyle wyjść, program ma mieć conajmniej 15 wyjść i 15 guzików. Zastosuj więc wbudowaną w Bascom obsługę 4x4 keypad w formacie matrix ( cztery rzędy i cztery kolumny = 16 przycisków) i skorzystac z procedury 'getkbd'. Zajmie to cały jeden port dla keypad, resztę...
http://obrazki.elektroda.net/84_12432519... Przedstawiam kolejną wersję zegarka binarnego. Układ oparty na ATMEGA168V i układzie RTC DS1337, który w przeciwieństwie do DS1307 może pracować z niskimi napięciami zasilania. Zastosowałem typowy zegarkowy rezonator ceramiczny 32,768kHz 6/2mm. Płytkę zegarka wykonałem z b.cienkiego laminatu z drukiem...
Można, a można też przewertować noty Atmela (jeśli już o AVR mowa) i znaleźć procesor ze sprzętowym 6-kanałowym, 10-bitowym PWM. Albo przeszukać forum elektrody, gdzie są dziesiątki takich postów razem z gotowcami.
Kolego M.S. wiem ze dla wielu programistów bascom jest rewelacyjnym środowiskiem programistycznym, jednak nie zdają oni sobie sprawy z tego że te banalne polecenia niosą za sobą dziesiątki czy setki linijek kodu w asemblerze i to bez względy czy z danej deklaracji wykorzystujecie jedno czy wszystkie polecenia. W asemblerze w programie jest to co jest...
Najszybciej powinno pomóc to ;) ..ale mógłbyś sam pomyśleć... Zdecydowanie lepiej zrobi jak pomyśli samodzielnie bo to co napisałeś nie działa poprawnie , poza tym ma sporo ograniczeń . Napisałeś to nie biorąc pod uwagę budowy mikrokontrolera i najgorzej jak można było . Czym mniejsze zmienne tym szybciej działa program , jak są 8 bitowe to super bo...
Mam wypięte piny. Dobrze że piny, a nie coś innego... Dokąd ty te piny 'wpinasz'? Dla 4bitowej magistrali do kontrolera (zgodnego z) HD44780 piny D3..D0 podłącza się do masy, a gdy nie korzystasz z odczytów, to pin R/W ma obowiązek być podłączony na stałe również do masy Skoro wyświetlacz wogóle cokolwiek wyświetla, to znaczy, że inicjalizacja przebiega...
Zgadzam się z yego666, sterownik bitmapy to fajna rzecz, ale wydaje mi się że takowy sterownik powinien posiadać większe możliwości, a na AVRach niestety się takowego zrobić nie da. Minimum to: -generator znaków -jakieś proste grafiki, powiedzmy bitmapy -linia kwadrat koło -kolory w trybie > 3bit żeby można było jakieś odcienie uzyskać -jakiś prosty...
Takie zakłócenia na liniach zasilania ciężko będzie zaobserwować bo one mogą mieć dziesiątki MHz. Oscyloskop na USB po kosztach może sobie z tym nie poradzić. Co do dzielenia części analogowej i cyfrowej to w Twoim przypadku nie ma to żadnego sensu bo nie używasz tam niczego analogowego (ADC). Co rozumiesz przez pojęcie "podzielić przez pole GND i VCC"?
Kolego xamrex podałeś kod, w którym masz opisaną linijkę po linijce, a Ty jeszcze chcesz wyjaśnień ? Poza tym na czujniki Dallasa jest przykładów na tym forum rzekłbym dziesiątki a może i setki. Proponuję też zajrzeć na stronę mirlej'a Jest tam wszytko opisane najprostszym językiem do zrozumienia (wg mnie). A jeszcze jedno - nic nie "przechodzi" z czujnika...
Ta funkcja jest napisana jako ogólna wykorzystująca tryb ADC Noise Reduction. W dodatku jest napisana dla konkretnego przypadku, kodu który zamiast odczytywać ADC w funkcji przerwania ADC, odczytuje go w ciele funkcji Owszem, nie ukrywam, że akurat w tym przypadku o taki efekt mi chodziło. ADC chodzi cały czas generując przerwania, za to podczas każdego...
troszkę znów pogrzebałem w temacie i mam takie informacje. Gdy ustawię w nadajniku sprzętowy COM i włączę na stałe zasilanie modułu to gdy dam zamiast modułu przejściówkę na USB to na terminalu mam takie wartości: 170 125 16 85 16 95 252 Z kolei gdy ustawię programowy COM który bardziej by mi pasował to na terminalu mam: 170 125 16 85 16 125 199 128...
Mam problem z odczytem Voltomierza. Woltomierz pokazuje np: 3,50.....3,90 potem przeskakuje na 4,00 ,4,10 ,4,20...4,90 i znów 4,10...4,90 i dopiero na 5,00. W dół jest taki sam problem . Liczy 2 razy dziesiątki ,odczyt 1 dziesiątek jest błędny Do Cursor Off For Z = 1 To 10 P = P + Getadc(3) Next T '----pobieranie P = P / 10 P = Getadc(3)...
Witam. Procki AVR (kilka, z czego jeden master, pozost. slave) chcialbym polaczyc razem (SPI). Jaka moze być max. długość przewodów? Centymetry, metry czy dziesiątki metrów? A może inne sugestie? Na razie dwie Atmegi 16 gadają ze sobą na RS232 na przewodzie 40 metrów. Muszę dołączyć jeszcze dwa procki (slave). RS485 trochę zbyt skomplikowany - Bascom...
$regfile = "89s8252.dat" $crystal = 12000000 Dim Odczyt(2) As Byte 'deklaracja dwóch zmiennych typu byte do których będą zapisywane dane z termometru Dim T As Integer , Przecinek As Integer 't jako setki, dziesiątki i jedności temperatury wynikowej 'natomiast przecinek jako część ulamkowa odczytanej temperatury Dim Tspr As Integer...
A dlaczego nie w Bascomi'e ? Tylko bez ideologi. Jeśli coś działa, tak jak miało działać, to co za różnica jak to jest to jest zrobione. Bez żadnej ideologii. Basic jaki jest każdy widzi. 32 KB RAMu to nie jest jakieś szaleństwo a kompilatory basica nie są najszczęśliwsze ze względu na specyfikę języka. Musiałem tam zmieścić pełną implementację MS/TP,...
jest troche inna metoda sprawdzania wielu zmiennych, zamiast budować długi łańcuch if xx AND xx AND xx itd można to zrobić "odwrotnie" if wzór1 <> wciśniety_pierwszy then goto zły_pin if wzór2 <> wciśniety_drugi then goto zły_pin . . . else pin_ok=1 endif przy takich krótkich (4 cyfry) to jest może mało przydatne lecz gdy sprawdzasz dziesiątki...
Zamieszczony wcześniej kod jest sprawdzony - działa na atmega8 Również po pomyfikacjach portów działa na attiny2313 i zajmuje 65% flash, wiec jest jeszcze miejsce na jakieś "wodotryski". Używam Bascom demo w wersji chyba najnowszej: 1.11.8.7 build 001 MS windows XP SP-2 Program pod attiny2313 na płytce uruchomieniowej ZL11AVR (Płytka ZL2AVR pod megę...
pytacie na co mi lin?? prosta odpowiedz!! nie mam ochoty gapic się na ten mikrosoftowy szajs, musze to zredukowac do minimum. pozdro max Widzę że nie kożystasz z komputera zarobkowow.. jak ja.. u mnie to maszyna do testów.. spróbuj zainstalować którąś z drukrekę GDI na linuxie .. szybko (bo masz na to 20 minut) i na tyle pewnie żę będziesz miałpewność...
z tego kodu nic nie rozumie O wiele prościej by było gdyby były opisu przy poszczególnych liniach. $crystal = 11059000 $baud = 9600 ' '***************************************... ' Dim X As Byte Dim C As Byte Dim V As Byte Dim H As Byte Dim Eror As Byte Dim Znak As Byte ' Dim M1 As Byte Dim M2 As Byte Dim H1 As Byte...
Program wygląda dużo lepiej. I = 1wread(2) pobiera dwa bajty w których znajduje się temperatura. Polecam zajrzeć do karty katalogowej DS18B20 str.4. W I znajdzie się liczba 16 bitowa, gdzie pierwsze 4 bity to znak, następne 8 bitów to część przed przecinkiem, a cztery ostatnie to to co po przecinku. Liczby ujemne są w kodzie U2. S = I / 16 Powyższe...
Witam Na wstępie chciałbym zaznaczyć iż jestem początkującym programistą i dlatego proszę o wyrozumiałość. Robię termometr na lampach nixie, ale nie działa mi poprawnie komunikacja z ds18b20 i ds1820. Problem polega na tym, że na lampach pokazuje się wartość -00.1 tak jak by wyjście czujnika było zwarte bezpośrednio z + , a nie jest . Czujnik jest podpięty...
Witam! Proszę o pomoc bo już po całym dniu zbaraniałem. Chciałem zrobić sobie zegarek na dość nietypowej kości i opanowanie jej się powiodło. Chiałem dorobić sterowanie zegarkiem z pilota i do tego jeszcze termometr ale to później. Płytka z zegarkiem generuje co sekundę impuls na wyjściu i Atmega odczytując ten impuls na INT1 ma w przerwaniu odczytać...
http://obrazki.elektroda.net/89_12240033... W ramach sprawdzenia umiejętności programowania oraz ich praktycznego wykorzystania zbudowałem zegar oparty na mikrokontrolerze AVR ATtiny 2313. Układ wzbogaciłem dodatkowo o licznik CMOS4017 w celu zwolnienia dwóch dodatkowych pinów, ostateczny układ połączeń z portami mikrokontrolera wygląda tak:...
Witam Dzięki pomocy elektrody i 2 mądrych książek udało mi się coś takiego naskrobać. Przez moment używałem 2 timerów ale po jakimś czasie wyszło coś takiego: $regfile = "attiny2313.dat" $crystal = 4000000 Config Portb = 255 'wszystkie końcówki jako wyjścia Portb = &B11111111 'na początek wygaś Config Portd = &B1111111 'dwie najmłodsze jako...
http://obrazki.elektroda.net/32_11681915... Witam! Tak od jakiegoś czasu oglądam ten dział i postanowiłem opublikować swój projekcik.. W sumie jest stary (z przed 2ch laty), więc proszę aż tak bardzo się nie czepiać – są to moje początki z dziedziny uC Nie wnosi sobą nic nowego - jest to taki bajerek, ale chciałem się nim pochwalić Układzik...
podziękuj redakcjii edw bo listingi są ich. zakłądam ze urzywasz bascom avr inne listingi do pobrania ze strony edw są to programy testowe do oślej łączki z kursu avr 'C018b Prosty zegar z budzikiem Dim Sekundy As Byte , Minuty As Byte , Godziny As Byte , Uniwers As Byte Dim Sekjed As Byte , Sekdzies As Byte , Minjed As Byte , Mindzies As Byte Dim Godzjed...
Mozna to zrobic tak : Wszystkie zmienne musza byc tego samego typu czyli integer zmienna początkowa to "liczba" tysiac= liczba/1000' wyswietlanie tysiecy sto = liczba Mod 1000 sto = sto / 100' wyswietlanie setek dziesiec = liczba Mod 100 dziesiec = dziesiec / 10' wyswietlanie dziesiatek jeden = liczba Mod 10 ' wyswietlanie jednosci
Witam, Dawno nie korzystałem z BASCOM'a, więc nie pamiętam już składni, ale algorytm jest następujący: 1) zapisujesz sobie w zmiennej temperaturę w stopniach 2) wykonujesz dzielenie całkowite temperatury przez 10 -> otrzymujesz cyfrę dziesiątki, zapisz do zmiennej x 3) wykonujesz dzielenie modulo temperatury (reszta z dzielenia) przez 10 -> otrzymujesz...
Cyfra(1) = liczba / 1000 'tysiące Cyfra(2) = liczba Mod 1000 Cyfra(2) = Cyfra(2) / 100 'setki Cyfra(3) = liczba Mod 100 Cyfra(3) = Cyfra(3) / 10 'dziesiątki Cyfra(4) = liczba Mod 10 'jedności to procedura dla 4 cyfrowej liczby można ja rozszerzyć na tej zasadzie do dowolnej ilości. Zawsze działa bezbłędnie
Witam Zrób tak jak pokazałem Ci w pierwszym moim poście, tylko zmienne zamień na BYTE, wtedy powinno wyświetlać setki, dziesiątki i jednostki. Pozdrawiam
Witam Problem fusebitów był na tym forum wałkowany dziesiątki, jeśli nie setki razy. Proponuję poszukać informacji na ten temat. Z postu wynika, że póki co nie jest uruchomiony programator bądź w programie który ma nim sterować nie jest on ustawiony. Jeśli to Bascom to proponuję w opcjach poszukać programatora i ustawić na STK200/300. -- pozdrawiam.
Co to za procesor ? Podaj przyporządkowanie linii portów (co która robi) ? W którym momencie masz ten błąd (przy ustawianiu, której cyfry) ? Procesor 89C51 No to jest Tak Port P0 steruje segmentami czyli P0.0 = A P0.1 = B P0.2 = C P0.3 = D P0.4 = E P0.5 = F P0.6 = G P0.7 = Kropka "nie wykorzystuje" Cyfra(0) = 63 'Wyświetla 0 Cyfra(1) = 6 'Wyświetla...
Witam. Proponuje zacząć projekt od zapoznania się z Timerami i z przerwaniami od nich. Następny krok to wyświetlacze LED sterowane multipleksowo. [url=http://diycenter.acid19.linuxpl.com... szczypta teorii na temat wyświetlaczy. Potem proponuję uruchomić wyświetlacze i wyświetlić na nich jakiekolwiek cyfry. Poniżej (tak...
Jak "rozbić" liczbę na dziesiątki, jedności i części dziesiętne? Jak zamienić stopnie na stopnie Celcjusza?
Dzięki za przykład i zainteresowanie. Poradziłam sobie na prostych działaniach. Pierwszy poziom menu to jedności, drugi dziesiątki itd... Klikam MENU, wybieram funkcję, klikam OK (OK dodaje do każdego incr wartość 10). Potem select case i wykonaj to co w case. Pozdrawiam.
Na elektrodzie jest taka opcja jak ,,szukaj", więc bez problemu można znaleźć dziesiątki takich tematów. A jeśli kolega pytał o sterowanie minusem (0) i pytał o konieczność podłączania rezystora pull-up, to chyba moja odpowiedź była wyczerpująca? Nieprawdaż?
Witam. Robię czujnik temp. do auta i wykorzystuje do tego seryjny termistor NTC przykręcony do obudowy silnika, wynik ma być wyświetlany na wyświetlaczu LED. Układ jest już zmontowany tylko zostało napisać program. Odczyt i przekształcenie na wart. temp. nie jest problemem ale za to wyświetlenie tego na multipleksowanym wyświetlaczu led przez układ...
Dzięki za odpowiedź :) No to działasz sobie na całkowitych czyli osobno inkrementujesz jednostki dziesiątki i części ułamkowe (szczerze mówiąc tak właśnie rozwiązałem problem , ale czekam może ktoś wskaże inne rozwiązanie), czy mógłbyś mi pokazać swój sposób, zwłaszcza interesuje mnie formatowanie ,którego dokonujesz??
dziesiątki pralka modulo dziesiątki setki dziesiątki jedności
stabilizacja obrazu kamera sportowa projektowanie maszyn moment napędowy
Sony KD-77AG9 Android TV eMMC Dump Risks, Firmware Recovery, and BGA Faults BK3431 firmware reading with CH341A programmer: wiring, SPI mode, protection