$regfile = "m8def.dat" $crystal = 1000000 Config Portc = &B1111111 Portc = &B1111111 Config Portd = &B11111111 Portd = &B11111111 config pinb.1= input ' tego nie miales a bardzo wazne S1 Alias Pinb.1 Set Portb.1 Declare Sub Buz Declare Sub Buze Declare Sub X Dim Flaga As Bit Dim I As Byte Flaga = 0 Call X Do If S1 = 0 Then Waitms 45 If S1...
Dobry będzie taki program? Można coś jeszcze poprawić? Return Podaj jaka dokladnosc pomiaru jest wymagana i do czego to ma sluzyc. Najprostszy, najtanszy obrotomierz/ tachometr, najlatwiej jest wykonac uzywajac tylko ATtiny 2213, jeden wyswietlacz LCD (8 lub 16 cyfr, jedna lub dwie linie dla dodatkowych informacji, opcji) Impulsy "odczytasz" z elementu...
Przetestuj ten. Tak go poopisywałem, że aż mi się nie podoba :D [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 $hwstack = 40 $swstack = 16 $framesize = 32 '# wyświetlacz Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Cls '# timer ' 8000000Hz(8MHz)/256(Prescaler)=...
To jest proste jak świński ogon :D ahahahaha, ale napisz kawałek kodu. Czy masz tam jakiś LCD czy nie, czy masz tam jakiś Timer ustawiony do odmierzania sekundy czy Wait`ujesz :D Czy w dokumentacji czujnika pisze, że nadaje tez na końcu niewidoczne w terminalu znaki 13 lub 10? EDIT: aaa masz tu taki prosty. Napisałem przy śniadaniu więc błąd mógł się...
zacznijmy od tego, ze kod umieszczamy w klamrach Dodano po 10 to jest kod na jedna sekunde $regfile = "m8def.dat" $crystal = 8000000 Config Pind.7 = Output Portd.7 = 0 Przekaznik Alias Portd.7 Config Timer1 = Timer , Prescale = 256 On Timer1 Sekunda Enable Interrupts Enable Timer1 Load Timer1 = 31250 Do Loop End Sekunda: Load Timer1 =...
NA "setki" "dziesiatki" i "jednosci" NIE WIEM JAK ZROBIC, zeby przy malych predkosciach (ponizej 10km/h) wartosc na wyswietlaczach byla zmieniana co 1 sekunde (4xtimer1) Dim Speed As Byte ' Prędkość Dim Tmp As Byte Dim I As Byte Dim Index As Byte Dim Mmv as Byte *** Rozbicie na 3 cyfry *** Dim Cyfry(3) As Byte Speed = 147 ' W Polsce to zakazane...
... Ale niestety jak na razie pisze tylko tak jak potrafie :( No tak ... hmmm ... każdy orze , jak moż... umie ;) Męcze się z tym co kolega tutaj podał, teraz odświerzanie to raz na sekunde :( Dopisałem to do podprogramu "save" aby na bieżąco, od razu po obliczeniu uaktualniał dany słupek, tzn Nie wiem czy zauważyłeś , ale podany przeze mnie "podprogram"...
Pozwolę sobie umieścić post pod postem żeby wiadomość dotarła do zainteresowanego. Jeszcze lepszym wyjściem dla takiego zegara będzie zastosowanie dedykowanego rezonatorka 32768Hz (32,768KHz) Wartość 32768 to w zapisie binarnym dokładnie piętnaście bitów. Jeśli więc Timer będzie zliczał generowane impulsy to po 32768 uzna że mineła sekunda :D Bascom...
Nie chce mi się zagłębiać dalej w pisanie. Tych trybów możesz sobie dopisać ile chcesz. I jak Przewijajac menu naciśniesz Set to zmień tryb na, na przykład, "Ustawiam_temp" i w tym trybie znów przyciski Plus i Minus bedą działać dla zmiennej ustawianej. Potem naciskasz ESC i wracasz do trybu jakiego chcesz.. to proste i pewne. [syntax=basic4gl]$regfile...
Na pojedynczym uC robil bym tak: przez sekunde liczyl impulsy - bez przerwan, na wejsciu timer/countera. Po sekundzie prepisywal wynik do zmiennej, wylaczal licznik i wyswietlal zmienna na LCD. Potem wlaczal i resetowal counter i znow mierzyl przez sekunde i tak w kolko...
Witam, spróbuj teraz przeniosłem procedurke odczytu bezpośrednio do przerwania, według mnie to czekanie sekundy i wyświetlanie było powodem problemów. Jeszcze jedno po co czekasz sekunde w obsłudze Menutemperatury?. Pozdrawiam
Nadal nie rozumiem kwestii konfigurowania timera tak aby zliczał tyle ile chcę. Poczytałem parę wątków i nadal nie wychodzi. Aktulanie na Atmega16 z taktowaniem 4MHz staram sie uzyskać przerwanie co 100ms. Dla testów wyświetlam zmiany na LCD [syntax=basic4gl] $regfile = "m16def.dat" $lib "I2C.LBX" '$lib "mcsbyte.lbx" $lib "Ds1307clock.lib" $crystal...
Czy dobzre rozumiem ze taki napisany program + uklad max232 do konwersji napiec + emulator terminala np bascomowy i powinno dzialac ?? Tzn wyswietlic napis a potem liczby od zera w gore co sekunde ? A co z ustawieniami terminala ?? parzystosc, bity stopu ??
na początku też myślałem o asm ale przestraszyła mnie perspektywa obliczeń na 16bitach ze znakiem potem okazało się że bascom choć powolny 20x na sekunde wyciągnie a to wystarczy program działa dla pasma niskiego idealnia a dla wtsokiego tylko do 8kHz a potem się cofa ale to chyba od zawolnego próbkowania (tak myśle ) muszę zrobić to próbkowanie w przerwaniu...
na necie znajdziesz jaki kod ma przycisk r/m na kierownicy jedne przyciski wysyłają inny jak jak naciśniesz przycisk inny gdy go trzymasz ponad 1 sekunde i inny jak puścisz wkleiłbym parę stron z kodami ale do tej pory dostałem już parę ostrzeń itp, tylko w tym temacie :)
Po całym dniu walki słabo opisałem mój problem bo już po prostu nie miałem siły :D Wyjaśniam... Zrobiłem sobie mikro serwerek LANowy na Atmedze32 i układzie ENC28J60. Z doświadczenia z tym układem i Atmegą wiem że znacznie stabilniej wszystko pracuje gdy mikroporocesor (Atmega) jest taktowana zegarem 25MHz z gotowego modułu ENC a nie własnym kwarcem....
Zmieniłeś prescaler a nie czytałeś noty swojego mikrokontrolera ;) Na początku rozdziału o ADC przeczytasz że ATmega128 potrafi wygenerować maksymalnie 15 tyś próbek na sekundę ;) • Up to 15 kSPS at Maximum Resolution Myślę więc że wynik 37 to efekt przepełnienia licznika ;) Sam podziel 16 000 000/s (16MHz) przez 15 000 ... Proponuję zmierzyć...
masz na 11,0592 2400b/s i drugi wysyla co 1 sekunde 10101010 (0xAA) niewiem czy uzywasz jakis innych jezykow czasem warto jak program jest bardzo prosty to uzywam darmowej wersji bascom avr (basic)jak bardziej rozbudowany CodeVision (ansi c), jak zalezy mi na czasie wykonywanych operacji to asemblera.
mam procesor mega8 na 4MHz do tego 3 wyswietlacze multipleksowane na przerwaniu timer0 (okolo 66Hz na jeden wyswietlacz) i niestety sa bledy w transmisji z dsa i to srednio co 10 odczytow Bez CRC uklad wariuje Dla unikniecia nieszczesnego polecenia wait 1 zliczam w przerwaniu ilosc przerwan i co 200 ustawiam pomocniczy bit ktory powoduje w petli glownej...
Ty to jesteś krejzolka Aldoro wiesz hahahahaha Podłączył byś wyjście transoptora do wejścia INTx albo ustawił Timer jako Counter a wyzwalanie jako, na przykład Falling, Co sekundę sprawdzał byś ile impulsów nabiło przez sekundę. I to wszystko. Bez obsługi przepelnienia Timera osmiobitowego zmieścił byś 255 impulsów na sekunde. Miłego dnia. Mogłeś wcześniej...
Witam, Za nic w świecie nie mogę dojść do tego, więc skorzystam z wiedzy Szanowny Kolegów z forum. Otóż mam pewną zabaweczkę zrealizowaną na mega32 (projekt jak ukończę to udostępnię na forum) Ustawione mam przerwanie od Timera0, który ładnie odmierza mi 1 sekundę przy zastosowanym kwarcu 8Mhz. Wszystko pięknie ładnie, ale chciałbym zastosować "kwarc...
Myślę, że najlepiej usyawić TIMER tak, aby co sekunde wywoływał podprogam zmieniający zawartość wyświetlacza. Chociaż, jak tak teraz myślę, to zły pomysł :D, bo możesz nie trafić i sekundy zmienią się co np. dwie. Może przerwanie INT które wywoła program przy zmianie na wejściu, np. z PCF.
co do lcd to był on kupiony na allegro za śmieszne pieniądze 30PLN ale niestety sterownika nie miał. atmega musi cały obraz 70x na sekunde wysłąć na lcd. to naprawde dużo i niezostaje mu dużo czasu na reszte zadań do tego potrzebuje przynajmniej 10kRamu na zapisanie obrazu. co do karty katalogowej to wzorowałem sie na hlm6323. ten wyświetlacz jest w...
Witam, szukałem w archiwum, w fack'u i w paru innych miejscach, ale wciąż nie moge dojść jak działa Timer. Napisałem krótki program ktory miał mi generować jedną sekunde - wstępnie o to mi chodzi. '$sim $crystal = 18432000 '18432000/12=1536000 'Konfiguracja wyświetlacza Config Lcdbus = 4 Config Lcdpin = Pin , Db4 = P1.4 , Db5 = P1.5 , Db6 = P1.6 , Db7...
<brawo> Dobre spostrzerzenie..... Jesli pisałbym obsługe t6963 to w C (szybkosci szybkosci i jeszcze raz szybkosci)... Okazuje sie ze t6963c nowsze serie (te w nowszych wyswietlaczach) zap*** z taka predkoscia ze da sie je odswiezac 30x na sekunde :D Praktyka pokazuje ze na wyswietlaczu z alledrogo kiedys udalo mi sie megą128 kręconą na 26MHz...
A którą wersję Bascoma używasz? 1.11.9.0 Timer1_int: Counter1 = 54040 ' 10 razy na sekunde .... Return Nie wiem dokladnie ile cykli w bascom-avr jest zuzywane na odlozenie wartosc rejestrow na stos dlatego wybralem wartosc 54040 zamiast 54016 jako bardziej zblizone do 0.1s / stos + 0,09979167s / moze ktos wie ile dokladnie cykli jest tracone przed...
Spróbój: $regfile = "m16def.dat" ' INFORMACJA O PROCESORZE $crystal = 8000000 ' TAKTOWANIE PROC 8Mhz $baud = 9600 ' RS232 Config Lcdpin = Pin , Db4 = Porta.2 , Db5 = Porta.3 , Db6 = Porta.4 , Db7 = Porta.5 , E = Porta.1 , Rs = Porta.0 ' konfiguracja wyswietlacza Config Lcd = 16 * 2 Config Pind.7 = Output ' informuje proc że PD ustawione jako...
Witam. Na wstępie nadmienie, że z UART mam małe doświadczenie wiec prosze bez linczu :) Jest sporo na tym forum na temat UART i większość z nich przejżałem ale nie pomogło. Próbuje odczytać dane z GPS GARMIN przez UART na ATMEGA8 i wyświetlić na LCD. Programik pisze w BASCOM i niestety nic mi sie nie udało odczytać (widocznie jest to zbyt banalne:)...
Wyłączenie adc pomogło ograniczyć prąd w trybie powerdown, ale: Procesor nie wstaje po podpięciu zasilania. Jeśli włączam zegarek przyciskiem i wyłączam, ADC pracuje. Jednak jeśli wyłączy się po określonej sekundzie, to po włączeniu go przyciskiem ADC nie pracuje. Nie mam do tego g.... już siły. [syntax=vbnet]If Lock > 0 Then 'jesli w przerwaniu ustawiono...
Witam Do tego celu można dojść za pomocą timra i przerwań. Po prostu w momencie wciśniecia przycisku , puszczasz w ruch timer. Jeśli zliczy powiedzmy sekunde to zapala Ci jedną diode, jeśli doliczy do 5 sekund , to zapalasz inną. Oczywiście musi być to tak zrobione żeby procek nie czakał az naciśniesz przycisk. Po prostu po wykryciu zmiany przycisku...
Preskaler ustawiam na 64 Czyli 125000 na sekunde Przerwanie co 12 tyknięć Czyli co 0.000096 sekundy... wystarczająco Co do czujników to jeszcze sie nie bawiłem...ale myslałem że może uda sie tak jak w załączniku...optotranzystor i dioda led..albo normalna... ---------------------- A że to mój pierwszy program w BASCOM, wczesniej robilem w C to zarzucam...
Mam nadzieję, że to nie cały program i konfigurujesz porty dla I2C. A co do sprawdzenia działania to polecam coś takiego: ' 1 Hz SQW Output I2cstart I2cwbyte &B11010000 I2cwbyte &H07 I2cwbyte &B10010000 I2cstop przed rozpoczęciem programu. Wtedy co sekunde będziesz miał generowany sygnał na wyjściu SQW/OUT czyli nóżce 7. Jest to otwarty dren czyli możesz...
Witam wszystkch. Mam wątpliwości co do odmierzania czasu w Bascom za pomocą Timerów. Sprawa dotyczy procków 51. Proszę o poprawienie mnie jeśli się myle. 1. Timer zlicza w górę od wpisanej wartości do 65535(16bit), Tryb 1. Zadaną wartość ładujemy komendą load timerx, yyyyy 2. Tak więc aby odliczyć 1 sekundę należy np.: 20 razy odliczyć po 50ms więc...
Właśnie cały problem w tym, że program główny ma co robić i nie jest pustą pętlą.. Temperatura musi być stale kontrolowana choćby dlatego aby włączać wentylatory (jest to wzmacniacz) lub reagować np wyłączaniem zasilania.. Dlatego zależy mi aby działało to poza programem głównym.. I pomijając estetykę programu... Czemu to nie chce działać? Co ma odczyt...
Od razu zapomnij o Bascom i zacznij C lub Arduino z tych powodów: http://mikrokontrolery.blogspot.com/2011... To bardzo prosty program np. dla pinu PB0 mógłby wyglądać tak: Jak wyżej napisałem, nie mam czasu na naukę nowych języków. Takie proste programy wystarczą w bascomie. W miarę to znam jeżeli chodzi o wgrywanie programu...
Po pierwsze przydałoby się więcej szczegółów takich jak częstotliwość taktowania i w czym to ma być zrobione, domyślam się że w asemblerze ale równie dobrze może to być bascom lub c++. Załączam program w asemblerze, który generuje sygnał o częstotliwości 0.5Hz i wypełnieniu 0.5 czyli mówiąc prościej zmienia stan na przeciwny co sekunde dla kwarcu 12MHz...
(at)Mrtip, Proste wyliczenie pokazuje, ze aby wymienic zawartosc calej pamieci RAM 43 razy na sekunde ( skromnie zakladajac tylko 8 bitow na pixel ) nalezaloby podawac na procesor dane z predkoscia 3.3 Mbajta na sekunde. Ty masz tylko 32K pamieci, a wiec pewnie dajesz po 4 bity na pixel i to nie w calym obszarze wyswietlacza ( jakies 320x200 pixeli...
Mozemy pomoc w pisaniu, ale z helpem Bascoma powienienes dac rade, obslyga lcd ->gotwa funkcja -klawisze dasz rade, zmieniasz jedynie zmienne - odmierzanie czasu sporbuj na timer1 co np sekunde bedzie zwiekszal Ci zmienna Czas, w petli gl musisz kontrolowac by wartosc nie przekroczyla zakresu - prostym if'em sprawdzasz wartosc tej zmiennej Czas z czasem...
Prosze bardzo: Config Portd.0 = Output ' ustawia portd.0 (dla AT90s2313 jest koncówka nr2 jako wyjscie Portd.0 = 1 ' na wyjsciu portu zostaje podane logiczna jedynka czyli napiecie zasilania układu Do ' rób czyli początek pętli Toggle Portd.0 ' funkcja Toggle zmienia stan portu na przciwny Wait 1 ' Wait oznacza czekaj w tym przypadku 1s czyli program...
Jeszcze raz. Zrob sobie prosty programik - coś w stylu: Dim Ala As Byte Dim pomoc as byte Config Portd = Output Config Portc = Output Config Porta = Output Do Porta.2 = 1 ala=lookup(pomoc,tabela_danych) Portd.7 = Ala.7 Portc.0 = Ala.0 Portc.1 = Ala.1 Portc.2 = Ala.2 Portc.3 = Ala.3 Portc.4 = Ala.4 Portc.5 = Ala.5 Porta.7 = Ala.6 Porta.2 = 0 wait 1 If...
ustawilem wszystko z poziomu opcji w bascomie ,ale tez dla pewnosci probowalem z $baud i pozostalymi w kodzie ,lecz dalej lipa. Ostatnio dochodzenie wykazalo ze nie bardzo zmienia poziom stan napiec na wyjsciu max232 , mimo ze na wejsciu tego ukladu pewne roznice w trakcie pracy zauwarzyc mozna... acha ! jeszcze jeden dosc typowy za pewne problem zwiazany...
Witam, Mam ATmege16 i chce zrobić zegar RTC. Mam podłączony wyświetlacz LD 16x2 i mam taka opcje steruje podświetleniem poprzez sygnał PWM1b Ogólnie mój kod wygląda tak: $regfile = "m16def.dat" $crystal = 8000000 $baud = 19200 $hwstack = 32 $swstack = 10 $framesize = 40 Config Lcdpin = Pin , Db4 = Porta.3 , Db5 = Porta.2 , Db6 = Porta.1 , Db7 = Porta.0...
Dorzucam wspomnianą konfiguracje timera1. [syntax=basic4gl] Config Timer1 = Timer , Prescale = 64 On Timer1 Odmierzanie_czasu 'na rezonatorze 11059200 Hz Timer1 = 48256 'przerwanie wywolywane co 100 ms 10razy na sekunde Start Timer1 Enable Timer1 On Urxc Odbieranie_rs: 'odbieranie znakow z UARTA Enable Urxc On Utxc Wysylanie_rs: 'wysylanie znakow z...
Tak myślałem że z pętlami będzie coś nie tak. Tylko czy teraz nie będzie tak zaczynając od migacza program zmieni stan portu d.0 i przejdzie dalej?? chodzi mi o to aby ona migała. tak samo jak buzer ma jak by "pikac" co sekunde . Do If Pinb.0 = 0 And Pinb.1 = 0 Then 'migacz imitujący diode alarmu Waitms 1000 'gdy zapłon i swiatła wyłączone Toggle Portd.0...
Mam atmega8 na zestawie ZL2AVR z rezonatorem 8MHz i motyw jest taki ze po wgraniu programu symulujacego zegar odmierzal mi czas nie co sekunde a co ok 10s. Program jest przykladowy ze strony BTC i podlaczony zewnetrzy rezonator wlasnie 8Mhz. Natomiast wyswietlanie na LCD odbywa sie w taki sposob ze zapalaja sie kolejno znaki od lewej tak jakby to mial...
Nie wiem dlaczego ale nie potrafie poprawnie uruchomic Timer w Bascomie. W efekcie mojej konfiguracji Timer uruchamia sie z jakąś losową ( wg mnie ) częstotliowścią i nie potrafie go zmienić na np 1HZ Kwarc 3.6864 MHz Czy ktoś mógłby podesłać lub umieścić gotowy plik bascoma 8051 z uruchomionym timerem ( obojętnie którym ) w trybie autoreload który...
No właśnie problem tkwi w tym że zamiast program zatrzymać się ma na 100 ms to zatrzymuje się np. na 5 s przy wewnętrznym oscylatorze 1 Mhz . To nie jest mój pierwszy zaprogramowany mikro-kontroler parę małych projektów już zrobiłem wszystko działało do teraz ... Poniżej prosty program ma zapalać i gasić diody o odpowiednim czasie a tak nie jest Proszę...
Mam mały problem chcę zrobić prosty miernik częstotliwości w bascomie do ok. 600KHz Warunek ma mierzyć z dokładnością 1Hz i niestety nie wychodzi mi to. Taimer 1 mam skonfigurowany jako taimer (Config Timer1 = Timer , Prescale = 8) taimer 0 skonfigurowany jako licznik (Config Timer0 = Counter , Edge = Falling ) z resztą zamieszczam fragment kodu [syntax=basic4gl]$regfile...
jakby kolega na początku napisał o co mu chodzi to było by mniej problemów. Q1. Czy jeśli ATTINY2313 jest traktowany częstotliwością 20 MHz oznacza, że przerwanie timera może być równie często generowane? niestety nie. 20MHz to czestotliwośc taktowania, timerów i rdzenia. samo wywołanie przerwania i potem wyjście z niego to około 15 cykli. jak będziesz...
Witam !! Mam taki problem chciałbym napisać program(programóje w Bascom właściwie to się ucze), który zliczałby ilość załączenia przycisku1 i przycisku2 (czujnik lewy, czujnik prawy) i zliczanie ile czsu na Portb.0 = 1 'lewy silnik przód Portb.1 = 0 Portb.2 = 1 'prawy silnik przód Portb.3 = 0 i ile czasu Portb.0 = 0 'lewy silnik tył Portb.1 = 1 Portb.2...
timer sekunde klatek sekunde monitor widac sekunde
mikrofala panasonic magnetron ekspres krups konserwacja telefon przerywać połączenie bluetooth
mikrokomputer cobra1 mikrokomputer cobra1
Kod E82 na programatorze Beretta - jak rozwiązać problem komunikacji? Toshiba 55UA3A63DG recovery, firmware USB, płyta 17MB170, matryca VES550QNDS-2D-N41