Po pierwsze żle ustawiony crystal na nadajniku.
W uC należy odpowiednio ustawić FUSE BITY!!! Poczytaj przyklejony temat.
The calibrated internal RC Oscillator provides a fixed 1.0, 2.0, 4.0, or 8.0MHz clock. Przyniesiona ze sklepu M8 pracuje na wewnętrznym zegarze 1 MHz! Spróbuj $crystal = 1000000
Napisane na szybko nie sprawdzałem ale chyba powinno działać. [syntax=basic4gl] $regfile = "m8def.DAT" 'deklaracja procesora, w tym wypadku Atmega8 $crystal = 1000000 'deklaracja cześtotlwiości pracy (wew oscylator 1MHz w zupełności wystarcza) '*************************************WA... 'Pamiętać o podłączeniu...
Jak sprawdzić czy "na pewno mam 8MHz" ? Jeśli nie jesteś pewien to znaczy że nie ruszałeś fuse bitów. Ustaw więc $Crystal = 1000000.
Cały czas mówię o nowym :) $regfile = "m8def.dat" 'Atmega8 $crystal = 8000000 'kwarc 8MHz Config Portc.4 = Output Set Portc.4 Do Toggle Portc.4 Wait 1 Loop
brak: $crystal = ?????
mozna tę aplikacje rozwijać, ale to chyba wyczerpuje Twoje oczekiwania $regfile = "m8def.dat" ' procesor ATmega8 $crystal = 8000000 ' Kwarc 8MHz Config Portb = Output Speaker Alias Portb.2 Portb = &B00000000 Portb = &B00000100 'załaczy przekaznik Wait 30 ' czeka 30 sekund Sound Speaker , 248 , 675 ' dzwiek do słuchawki 300ohm Portb = &B00000000...
W zał. schemat w eagle i zwykły jpg. Co do kodu to wstawiam ten co podałeś. $regfile = "m8def.DAT" 'deklaracja procesora, w tym wypadku Atmega8 $crystal = 1000000 'deklaracja cześtotlwiości pracy Config Lcdpin = Pin , Db4 = Portd.3 , Db5 = Portd.4 , Db6 = Portd.5 , Db7 = Portd.6 , E = Portd.2 , Rs = Portd.0 'Deklaracja portów od wyświetlacza...
Obojętnie, które wartości byś nie ustawił, to po zaprogramowaniu fuse bitów musisz mieć podłączony do procesora ten zewnętrzny układ RC (inaczej nie będzie komunikacji). A jak chcesz ustawić kwarc, to External Crystal/Resonator.
Propozycja zmian $regfile = "m8def.dat" 'program jest pisany na procesor atmega8 $crystal = 8000000 'procesor będzie pracował z kwarcem bądź na wewnętrznym oscylatorze 8Mhz '---------------------------------------... Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.5 , Db5 = Portc. 4 , Db6 = Portc.3 ,...
Wiem, że "troszkę" późno, ale może komuś innemu się przyda. Właśnie zdołałem na tytułowym wyświetlaczu coś wypisać w Bascomie. Mój program jest banalnie prosty: $regfile = "m8def.dat" ' Atmega8 $crystal = 8000000 'Kwarc 8 MHz Config Lcd = 16 * 2 'To nawet chyba można pominąć Cls Lcd "Napis" End Jak widać, pominąłem deklarację pinów...
Witam! Na pewno masz dobrze wyświetlacz podłączony? Spróbuj zamiast rezystora na kontrast zastosować potencjometr 10k. Potencjometr podpinasz wg. (w załączniku) - ten układ musi Ci działać! $regfile = "m8def.DAT" 'deklaracja procesora, w tym wypadku Atmega8 $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.4 , Db5 =...
Nowy mikrokontroler dopóki tego nie zmienisz pracuje z prędkością 1000000 Hz (1MHz) Wpisz na samej górze w kodzie [syntax=basic4gl]$crystal = 1000000 '1MHz crystal[/syntax] To poinformuje kompilator o prędkości i będzie już liczył poprawnie.
Po co Ci dodatkowe płatne narzędzia, skoro w oryginalnym środowisku programistycznym Atmel Studio masz wszystko czego Ci trzeba: http://obrazki.elektroda.pl/4359536000_1... W dodatku możesz użyć odpowiednich opcji i wpisać to w programie, dzięki czemu w trakcie programowania będzie programować także fusebity. Zanim zaprogramujesz podaj...
Procesor nowy ze sklepu? Jeśli tak to pracuje z Frc=1MHz. Trzeba zmienić ustawienia w fuse bitach na External Crystal.
Spróbuj dopisać linię $CRYSTAL = 4000000 Zamiast 4000000 wpisz częstotliwość twojego rezonatora. Sprawdź poprawność montażu!
Witam, może spróbuj dodać else, po else powinien być stan portów taki jak przed naciśnięciem przycisku. $regfile = "m8def.dat" 'Konfiguracja modelu mikrokontrolera. (ATmega8) $crystal = 1000000 'Konfiguracja Częstotliwości taktowania procesora. (1MHz) Config Portb = Output Portb = &B11110101 Config Portc = Output Portc = &B1110101...
'Atmega8 $regfile = "m8def.dat" $crystal = 8000000 . 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 Config Clock = Soft Enable Interrupts Time$ = "00:00:00" Do Lcd Time$ Wait 1 Loop End 'i juz masz zegarek Dopisz do tego zmienne pomocnicze...
$regfile = "m8def.dat" $crystal = 1000000 Config Portb.1 = Output Do Set portb.1 waitms 500 reset portb.1 waitms 500 Loop End **************************** Spróbuj tak, a potem spróbuj zmienic na czestotliwosc (w Mhz) taka jaka Ci pisze na procesorze. Np Atmega8 16PU daj $Crystal = 16000000
A gdzie informacja o rezonatorze ? przez polecenie $crystal Pozdrawiam Józef wiem, wiem jednak jestem początkujący i mam powody żeby nie używać crystal, dopisuję tą informację na samym końcu już działającego programu. Uczę się na różnych prockach i kiedyś przez pomyłkę zaprogramowałem atmega8 z crystal 4000000 i teraz siedzi w szafce. Myślę że brak...
po $crystal czy tak
..podłączony jest kwarc 8MHz.. .. $crystal = 1000000 .. Nie bardzo rozumiem dlaczego podłączyłeś kwarc 8MHz a w programie masz ustawiony 1MHz?
Połączenia wyświetlacza z atmega przemierzyłem kilkukrotnie. R/W podłączone do GND. Napisałem krótki program do sprawdzenia samego układu ale i na nim wyświetla tylko kwadraciki.. Sprawdzałem ten programik już na kilku AVR-ach. Jak sprawdzić wyświetlacz żeby być na 100% pewny , że jest sprawny? A to ten programik do sprawdzenia: $regfile = "m8def.DAT"...
[syntax=basic4gl]$regfile = "m8def.dat" 'typ procesora (ATmega8) $crystal = 1000000 'taktowanie procesora config portb=&B11111111 'PB0, PB3, PB4, PB5, PB6, PB7 - wyjścia ; PB1, portb=&B11111111 'wszędzie stan spoczynkowy - 1 config portd=&B00000000 'PB0 - wejścia ; PB1, PB2, PB3, PB4, PB5, PB6, portd=&B11111111 'wszędzie stan spoczynkowy - 1 do 'pętla...
http://obrazki.elektroda.pl/6042003200_1... Witam ponownie, zbudowałem powyższą konfigurację i działa. Jednak jest mały problem, $regfile = "m8def.dat" 'plik dat dla ATmega8 $crystal = 1000000 Config Portb = &B11111111 Portb = &B11111111 Config Portd = &B11111110 Do ' If Pind.0 = 0 Then Portb.0 = 0 End If Loop End Żarówka...
$regfile = "m8def.dat" ' typ procesora Atmega8 $crystal = 8000000 Config Lcd = 16 * 2 'konfiguracja Lcd. Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Cursor Off Do Cls Upperline : Lcd "CZESTOSCIOMIERZ " Lowerline : Lcd " by MARO SP9XUH " Waitms 3 Cls Upperline : Lcd "To działa " Lowerline...
Witam. Jestem początkujący w dziedzinie mikrokontrolerów. Chciałem zrobić czasowy sterownik przekaźnika. Z podłączeniem elementów nie miałem problemów. Jednak program nie spełnia moich oczekiwań. Urządzenie ma włączać tranzystor sprzężony z przekaźnikiem o danej godzinie. Pod mikrokontroler podłączony jest rezonator zegarowy wraz z kondensatorami pod...
Dolutuj kondensatory do kwarcu zgodnie z dokumentacją mikrokontrolera: http://mikrokontrolery.blogspot.com/2011...
kurcze mi nie wychodzi :| timer chodzi co 1s ale reszta do kitu Dodano po 25 program chodzi :) oczywiscie musisz go przerobic na wlasne potrzeby dodac tyle ile chcesz przekaznikow i zmienic czasy w programie bo tam jest 10s i 40s ten program jest przygotowany pod ATmega8 i kwarc 8MHz $regfile = "m8def.dat" $crystal = 8000000 Config Pind.0...
Ja zawsze zwieram VEE do masy. Poza tym wgraj program do procesora i zobaczysz czy kod jest poprawny. Jak nie zmieniałeś fusebit to $crystal=1000000
Kolega chyba na bakier z angielskim i czytaniem dokumentacji w ogóle. Pomijając dalszy opis w nocie dość jednoznacznie sposobem inicjalizacji, sygnałami itd. wskazujący na zgodność z HD44780, to z kontekstu całego dokumentu powinien się domyśleć że LCM w nocie to ichnia nazwa LCD (pewnie Liquid Crystal Matrix zamiast Display), a literka M oznacza standardowy...
Witam. Czy załączona aplikacja z procesorem ATmega8 jest prawidłowa aby krótki testowy program którego kod dodałem poniżej zadziałał z nią prawidłowo? http://obrazki.elektroda.net/26_12223708... $regfile "m8def.dat" 'deklaracja procesora ATmega8 $crystal = 8000000 'deklaracja częstotliwości kwarca Config Lcd = 16 * 2 Config Lcdpin...
Reszty pinów z wyświetlacza nie podpinałem (tak mam w książce). Eee... a ja wyraźnie widzę, że pin R/W wyświetlacza na schemacie jest ściągnięty do masy. Rezonatora kwarcowego w atmedze też nie mam W takim razie biorąc pod uwagę to: $crystal = 8000000 napisz jak ustawiłeś fusy CKSEL3..0?
Na poczatku daj dyrektywe $crystal=1000000. ATmega fabrycznie pracuje z wewnetrzny zegarem 1MHz mimo podpietego kwarcu. Trzeba przestawic fusebity zeby zmusic procek do pracy z kwarcem. Pozdro Dexter
witam to jest licznik od 0 do 100 jak zrobić by w drugiej linii wyświetlacza wyświetlić ilość setek 'Program obsługi wbudowanego w mikrokontroler '10-bitowego przetwornika A/C $regfile = "m8def.dat" 'Procek ATMEGA8 $crystal = 1000000 '1MHz - Kwarc 1MHz Dim A As Integer Config Lcd = 16 * 2 Dim Zmienna As Bit Config Lcdpin = Pin , Db4 = Portb.6 , Db5...
Witam ! Obliczenia źle oraz pewnie źle ustawione fusebity (pewnie default - 1Mhz internal rc). Instrukcja Load jako parametr ma po ilu impulsach ma wystąpić przerwanie, więc powinno być 625, ale że pojedyńcza połówka przebiegu sieci trwa nie 20ms a tylko 10ms więc powinno być 312,5 :D. Więc lepiej chyba prescale = 64 i load timer1, 1250. Pozdrawiam...
i czy można zrobic taki wyświetlacz by po podaniu stanu wysokiego na wejście wyświetlał by odpowiedni napis i tak dla kilku wejść. oczywiscie ze mozna, wystarczy podpiac wyswietlacz pod mikrokontroler i napisac programik. Jesli chodzi o wyswietlacze alfanumeryczne to jest proste polecam bascom ;). wystarczy zainicjowac wyswietlacz i podac jaki procek...
Witam. Mam taki wyświetlacz LCD 40x2 [url=http://www.winstar.com.tw/products_... Datasheet jest na tej stronie [url=http://www.cpu.com.tw/kh/gon/lcd/do... Czy do obsługi tego wyświetlacza potrzebuję specjalną bibliotekę? Z tego co wyczytałem jest on zgodny z HD44780 Napisałem prosty program w BASCOM...
Przykład z Bascoma na ATmega8 do sterowania serwem modelarskim: $regfile = "m8def.dat" $crystal = 8000000 'on chip clock speed Osccal = &HC1 'uC 8MHz internall clock New calibration byte Tccr2 = &B01100110 'PWM2, clear down, phase correct, prescale 256 -> 16ms Acsr = &B10000000 'Analog Comparator disable Dim W As Byte 'Servo position ....
Nie jest do 8.0MHz tylko 8.0- MHz czyli od 8MHz w górę. Wyłącz CLKDIV8 Więcej znajdziesz w dokumentacji w rozdziale Full Swing Crystal Oscillator lub tutaj:: http://mikrokontrolery.blogspot.com/2011... http://mikrokontrolery.blogspot.com/2011...
Witam ! Ja jestem świeżo po testach z wew. oscylatorem i powiem tak : 1.atmega8 baud=9600 crystal=8000000(8M) i wszystko było okej... przez dziesięć minut potem zamiast wysyłanych znaków w PC miałem krzaki. 2.przestawiłem baud=2400 crystal=1000000(1M) i działa ale.... program przyspieszył kilka razy. I tu mam pytanie do ludzi siedzących w temacie czy...
Co to znaczy wyświetla jedną linię?? Opisz dokładnie albo zrób zdjęcie. Ekran startowy się pokazuje, czyli "Witaj ..." a w drugiej lini "Temometr.." itd. Gdzie staje program? Co dokładnie pokazuje LCD od momentu włączenia do końca? Prawdopodobnie masz coś na magistrali 1W zwarte albo któryś czujnik poleciał lub port w procesorze. Mogłeś zmienić tylko...
Hey czyli problem jest w instrukcji Ss = Format(ss , " 0.0") wrzuć ten program i powiedz czy wszystko gra jeżeli tak będę pisał co zrobiłem. [syntax=basic4gl]$regfile = "m8def.DAT" 'deklaracja procesora, w tym wypadku Atmega8 $crystal = 1000000 'deklaracja cześtotlwiości pracy (wew oscylator 1MHz w zupełności wystarcza) 'Deklaracja portów od wyświetlacza...
masz gotowca, chyba prościej nie można :) 'sterownik do wentylatora na ATTINY15 'PMW - port PB.1 sterowany napięciem z PB.2 '---------------------------------------... '$tiny $regfile = "At15def.dat" $crystal = 1600000 Ddrb.1 = 1 Ddrb.2 = 0 Tccr1 = &B11110010 Admux = &B00100001 Adcsr = &B11100011 '---------------------------------------...
Tak się dzieje jak stosujesz instrukcje Gosub, program idzie do procedury a tam znowu stosujesz Gosub i w tej na koncu nieszczęsne Retrurn. Program idzie w "krzaki" bo przepełniasz stosy i nadpisujesz w pamięci Ram zmienne. Poczytaj o procedurach i funkcjach w pomocy Bascoma, użyj Declare Sub a potem Sub: i END SUB. Stosuj też deklaracje ramki i stosu...
dajesz tak $regfile = "m8def.dat" $crystal = 8000000 lcd "jestem atmega" wait 1 cls lcd "cos tam znowu" wait 1 cls lcd "i tak dalej" ... do 'własciwy pogram loop end
Czy to jest cały program ? Gdzie $Crystal ? czy napewno jest to DS18B20 ?
Witam! Mam problem z ww kontrolerem, mianowicie przy ustawieniach początkowych zegara czyli wewnętrzny 8MHz oraz przy ustawieniu zewnętrznego zegara 8MHz, opóźnienie jest jakieś 8 razy większe. Wcześniej z Atmega8 nie było takiego problemu. W bascomie mam zadeklarowane $crystal = 8000000. Mógłby ktoś mi powiedzieć w czym tkwi problem
Zmieniłem program na ATmega8 ( bo ATmega16 nie posiadam ) [syntax=basic4gl] '$regfile = "m16def.dat" $regfile = "m8def.DAT" $crystal = 8000000 Config Pind.7 = Input Config Pinc.0 = Output Set Portc.0 Set Portd.7 Do If Pind.7 = 0 Then Portc.0 = 0 Else Portc.0 = 1 End If Loop End [/syntax] wgrałem, program działa dobrze. Bascom DEMO 2.0.7.1
Witam, jako początkujący programista atmegi8 chciałem uruchomić sobie wyświetlacz LCD 20x2, wypisać na nim jakiś stały napis (obojętnie co) i napotkałem na problem. Oto schemat i króciutki programik: $regfile = "m8def.dat" 'Procek ATMEGA8 $crystal = 1000000 '1MHz - Kwarc 1MHz Config Portd.7 = Output 'PORTD.7 jako wyjście Config Lcd = 20 *...
Jeśli są ustawione fabrycznie, to nie może poprawnie działać. W fabrycznych ustawieniach Atmega 8 ma 1MHz a ty w programie deklarujesz $crystal = 4000000. Zobacz sobie to: http://www.elektroda.pl/rtvforum/topic13... Tam bezpiecznie przestawisz FUSE. Fuse i $crystal muszą mieć taką samą wartość. 1MHz to $crystal = 1000000
waitms zależy od parametru crystal oraz ustawień fusebitów dotyczących oscylatora
... Mikrokontroler taktowany jest wewnetrznym rezonatorem RC (nie posiadam w tej chwili kwarcu) ... A kompilator o tym wie :?: Czy masz zadeklarowaną częstotliwość oscylatora w programie :?: $Crystal = 1000000 Config 1wire = Portx.x Masz to w programie lub w ustawieniach globalnych poustawiane :?: Nic o tym nie wspominasz :( Pozdrawiam Piotrek
Już zrobiłem i działa poprawnie ten zegar. $fegcrystal błąd podczas pisania chodziło o $crystal
Zobacz jak ja to zrobiłem na Mega8 http://obrazki.elektroda.pl/8838731900_1... Program jaki zastosowałem korzysta z przerwania INT0 które po naciśnięciu klawisza wyprowadza procesor ze "śpiączki" , wysyła dane na IR i usypia go ponownie.Dla mnie takie rozwiązanie jest lepsze niż chwilowe zasilanie procesora poprzez diody. Poniżej wklejam...
To muszę kupić ten kwarc. ... no i oczywiście kondensatory kwarcu: http://mikrokontrolery.blogspot.com/2011...
Witam mam problem z zaprogramowaniem atmegi8. Program, który chciałem wgrac do procka to 4xDS18B20 LCD jest to termometr, mam bascoma avr wersja 1,11,7,4 DEMO. I wykrywa atmegę i normalnie programuje ,ale gdy go przekładam do termometra to w ogóle nic na wyswietlaczu się nie pokazuje, tylko czarne kwadraciki, tak wygląda jakby programu wcale nie wgrał....
$regfile = "m8def.DAT" $crystal = 4000000 Config Lcdmode = Port Config Lcd = 16 * 2 Config Lcdbus = 4 Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.4 , Rs = Portb.5 do lcd " CGYYICG" loop end. i cz napewno procek chodzi na zewnętrznym kwarcu, może chodzi na wewnętrznym zegarze 1Mhz....
1. sprawdź taktowanie np. dając miganie diodą co 1s z wykorzystaniem polecenia wait 2. czy testowałeś mój program po zmianie odpowiednich wartości (regfile i crystal)?
No nie wracam do tematu i pytam dlaczego dioda led nie miga gdy w bascom dla Atmega8 $crystal = 8000000 Config Portb.0 = 1 Portb.0 = 1 Do Wait 1 Portb.0 = 0 Wait 1 Portb.0 = 1 Loop plik hexa ale długi ho ho :1000000012C0189518951895189518951895189... :100010001895189518951895189518951895189... :100020001895189518958FE58DBFC0E4E8E34E2... :1000300084E08EBFD4E0F4E05F2EEEEFF3E0A0E...
Decado ma wpisane $regfile i$crystal. Więc tu jest ok.(jeśli jest kwarc 16MHz i kondensatory) Do STK200 wybierz w Bascomie programator STK200/300. ATMega8 powinna być ustawiona fabrycznie na wewnętrzny generator 1MHz Ustaw $crystal na 1MHz. A swoją drogą to jest ostatnio jakaś plaga.
Ta linijka kodu : $crystal 8000000 już tak była, tego nie zmieniałem
ATmega8 posiada wewnętrzne kondensatory, można je włączyć przez ustawienie bitu CKOPT. Z CKOPT jest trochę inaczej. Na blogu Dondu jest szerszy opis tej funkcji: http://mikrokontrolery.blogspot.com/2011...
Nie wiem czy wiesz, ale PB5 w Tiny13 to Reset, chyba że tę funkcję pinu wyłączysz. Skorzystaj, po prostu, z innego pinu i odpowiednio zmień w kodzie. Nie zapomnij podciągnąć pinu Reset do VCC jakimś 10K-15K rezystorem. http://obrazki.elektroda.pl/2324408600_1... Dodatkowo, żeby dobrze liczył czas, powinieneś zmienić w kodzie wartość...
http://feriar-lab.blogspot.com/p/avr-fus... tutaj jest obrazek ustawienia fusów dla M32. Żeby zmienić fusy to najpierw lutujesz do XTAL1 i XTAL2 kwarc 16mhz, za nim po jednym kondensatorze na wyjście XTAL w zakresie 22-27pF i do uziemienia. klikasz w bascomie F4 i przechodzisz do zakładki Lock and Fusebits, ustawiasz jak na obrazku i klikasz...
Witam Temat może i wałkowany kilka krotnie, ale siedze nad tym jeż 3 dni i nie mogę odczytać temp z DS1820 i wyświetlić na LCD 16x2, na AT89S52 wszystko działa mi elegancko czujniki sprawne, napisze drugi program pod Atmege, wykrywa mi czujnik, i wyswietla komunikat jak odepne, ale ciagle mam 0 stopni, może ktoś ma na 100% sprawdzony program, moze jakieś...
Ja używam takiego kodu - odbiornika. Config LCD dostosuj do swoich potrzeb. Działa na każdym pilocie RC5. Instrukcję Lowerline wyrzuć. [syntax=basic4gl] 'Atmega8 Wyświetlanie z pamięcią i napisem Odczyt RC-5 $regfile = "m8def.dat" $crystal = 8000000 Dim Adress As Byte , Command As Byte , Togglebit As Bit Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4...
Witam Wkleję Ci przykładowy kod, reszta należy do Ciebie. $crystal = 4000000 $regfile = "m8def.dat" ' np. ATMEGA8 :) Config Lcd = 16 * 2 ' definiuje jaki wyświetlacz ma być podlączony Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.4 , Db6 = Portd.3 , Db7 = Portd.2 , E = Portd.6 , Rs = Portd.7 ' podlączenie wyświetlacza do kontrolera...
Więc te ustawienia: Ext. Crystal/Resonator High Freq będą działać.
Witam Napisałem program który ma po naciśnięciu przycisku dodać lub odjąć 50 do zmiennej a następnie wyświetlić to na LCD Problem jest taki ze po wgraniu programu bez naciskania na wyświetlaczu zmienna cały czas przeskakuje co 50 na LCD a jak nacisnę 2 przyciski naraz to się zatrzymuje jaki jest tego powód ? [syntax=basic4gl][/syntax] $regfile = "m8adef.DAT"...
Zmieniasz tylko wartość crystal, pamiętaj o przestawieniu fuse bit.
zmień na External Oscilator z częstotliwościa zgodną z kwarcem jakiego używasz. A i do programu dolacz jeszcze linijkę $crystal = liczba , przy czym liczba to częstotliwość kwarcu w Hz, czyli dla kwarcu 4MHz $crystal = 4000000, a dla kwarcu 12 MHz $crystal = 12000000.
Co to za twór $crystal = 4.000??? Powinno chyba być $crystal = 4000000 Poza tym masz 2 razy DB6 Config Lcdpin = Pin , Db4 = Portb.2 , Db6 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0
Dodaj na początku programu: $regfile = "m8def.dat" $crystal = 1000000
Magistrala 1Wire jest bardzo zależna od czasów. Ponieważ nowa Atmega8 ze sklepu jest ustawiona na 1MHz zapytam czy zmieniałeś ustawienia FuseBitów w tych Atmegach? Pytam ponieważ w kodzie masz zadeklarowaną prędkość 4MHz. Taką predkośc podałes kompilatorowi i do takiego taktowania policzył czasy do komunikacji z czujnikiem. Jeśli nie zmieniałeś nic...
A dlaczego nie tak: $sim 'tylko do symulacji $regfile = "m8def.dat" $crystal = 8000000 'kwarc '---------------------------------------... 'Konfiguracja LCD wg wykonanej płytki PCB pod procesor ATmega8 Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.4 , Db6 = Portb.5 , Db7 = Portc.0 , E = Portb.2 , Rs...
Zacznij od tej instrukcji $crystal = xxxxxxx , bo jak chcesz zliczać czas to musisz znać częstotliwość , z jaką pracuje twój procesor. Wartość $crystal = 8000000 oznacza taktowanie częstotliwością 8MHz.
$regfile = "m8def.dat" $crystal = 4000000 $hwstack = 40 $swstack = 16 $framesize = 32 Taką konfigurację generuje BASCOM dla Atmegi8, gdzieś indziej widziałem: $crystal = 16000000
Witam mam problem z silnikiem krokowym unipolarnym (2,6V 1,2A 4,5x4,5x4,5 taka pokaźna bryłka) . Zrobiłem do niego sterownik na tranzystorach i steruje go z ATmegi8, mam liniowe ograniczenie prądowe do prądu znamionowego i taki program wrzucony do ATmegi8: $regfile = "m8def.dat" 'procesor Atmega8 $crystal = 1000000 'zegar 1MHz Do Set Portc.4 Waitms...
Witam! Jakieś dwa lata temu kupiłem sobie atmegę 8 i programator stk200, i chciałem ten zestawik jakoś zaprogramować, ale z powodu braku odpowiedniej wiedzy, źle podłączałem zasilanie i programator co często kończyło się mocnym nagrzaniem procka. Pomyślałem że kasa poszła w błoto, ale ostatnio znowu zachciało mi się pobawić elektroniką. Po przeszukaniu...
Sprawdź czy przy definicji $crystal=xxxx mas to co powinieneś mieć czyli 1000000.
$regfile = "m8def.dat" 'Dyrektyway dla kompilatora. $crystal = 8000000 'Oscylator wewnętrzny o częstotliwości 8MHz. Config Lcd = 16 * 2 Ja zawsze robie tak i wszystko chula jak złoto. Jest bardzo istotne aby napisac m8def.dat (pierwsza linia) W swoich projektach zawsze jade z oscylatora wewnętrznego.Zobacz jeszcze to:http://www.henwyd.republika.pl/Teksty...
Witam, chciałem się podzielić z szanownym gronem moim problemem, który napotkałem, gdy chce odebrać coś w RC5. Napisałem (a właściwie to skopiowałem z helpa) program do odbioru rc5, i tu pojawia się problem, ponieważ na wyświetlaczu cały czas mam wartość 255 255 a w drugiej lini pomocnicze 0 0... (jest to tylko test) nieważne, czy podłącze pin do masy,...
Witam Na atmega8 program działa idealnie lecz na atmega 16 nie działa timer2 w ogóle nie zlicza nie mogę go uruchomić.. Czy na atmega16 uruchamia się go innaczej niż na atmega8. [syntax=basic4gl]$regfile = "m16def.DAT" $crystal = 1000000 $baud = 1200 Config Timer2 = Timer , Async = On , Prescale = 128 On Timer2 Zegarek Enable Interrupts Enable Timer2[/syntax]...
A jaki kwarc masz podłączony? Bo mnie się wydaje, że wybrałeś: Low Frequency Crystal Oscillator , czyli ustawienie pod kwarc zegarkowy 32,768 kHz.
Miałem podobny problem. Wyświetlacz i prostokąty. Okazało się, że połączenie było dobre, prostokąty znikały ale.... po bardzo długim czasie. Bardzo długo trwał reset i uP chodził kolkakrotnie wolniej niż zakładałem. Zajrzyj w fuse bytes, czy nie masz ustawionego wewnętrznego oscylatora. Jak na mój gust rozjeżdza się wartość wew. oscylatora i $crystal...
Fuse C ustaw z powrotem na 0: ( tu była moja pomyłka przepraszam ) U mnie Twój program działa bardzo powoli, ale po zmianie: [syntax=vb] $crystal = 8000000 [/syntax] na [syntax=vb] $crystal = 1000000 [/syntax] działa szybciej.
Publikuję to z myślą, że może się to komuś przyda. Dopasowałem tani chiński konwerter I2C do wyświetlacza HD44780, który można kupić poniżej 5 zł. Należy linię RW wyświetlacza połączyć z masą. http://obrazki.elektroda.pl/8806597000_1... [syntax=vbnet] ' Uniwersalny nagłowek programu v1a LCD HD44780 TWI (I2C) $regfile = "m8def.dat" 'Atmega8...
Co to znaczy że testowałeś już różne ustawienia crystal? Musisz być pewien co masz ustawione - w innym wypadku to nie robota ;) Fabrycznie nowa pracuje na 1MHz. Napisz prosty programik [syntax=vbnet] $crystal = 8000000 Config PORTB.0 = Output : Led Alias PORTB.0 Do Toggle Led Waitms 500 Loop[/syntax] To chyba oczywiste że dioda powinna mignąć 60 razy...
Czy ATmega8535 ma tylko mierzsyć napięcie i wysyłać? Jeśli tak to po co taki duży uK do tego? :) Program może wyglądać tak: $regfile = "m8535.dat" $crystal = 16000000 $hwstack = 32 $swstack = 10 $framesize = 40 Dim W As Word Config Watchdog = 2048 Start Watchdog Reset Watchdog Config Adc = Single , Prescaler = Auto , Reference = Internal Start...
Koleś ze sklepu elektornicznego odpisał mi, że ATmega wymaga Kwarcu a ja wyczytałem na internecie, że nie potrzeba chyba, że chce się dużą częstotliwość. To źle koleś powiedział a na necie wyczytałeś dobrze. Zobacz w nocie Atmega8 na 26 stronie masz tabelke(Table 2) i tam piszą opcje zegara - external crystal to jest zewnętrzny kwarc(to co jest na...
Zapomniałem o najważniejszym, nie masz w programie definicji procesora i taktowania. Oto przykład dla Atmega8 (at) 8 MHz $regfile = "m8def.dat" $crystal = 8000000 Daj to na samym początku programu. Aczkolwiek, Twój program się nie kompiluje, zamiast tych zmiennych bitowych oznaczających przekaźniki zastosuj aliasy.
Kolego, chcemy Ci pomóż, a Ty nas olewasz. To, że inne programy działają, nie znaczy, że masz dobrze ustawione fusy. Możesz mieć ustawiony oscylator wewnętrzny 1MHz, a w programie zmieniasz na $Crystal 8000000 i sporo programów będzie działać. Jak wrócisz do komputera, proszę podać dokładne ustawienie fusebit - odczytane z układu i narysować schemat,...
Ddokumentacja mikrokontrolera to podstawa. Ustaw fusebity tak: Low: ff High: 89 i korzystaj z kalkulatora: http://www.engbedded.com/fusecalc Przeczytaj także: http://mikrokontrolery.blogspot.com/2011... http://mikrokontrolery.blogspot.com/2011... by już...
Zobacz to i wyciągnij wnioski [syntax=vbnet]$regfile = "m88pdef.dat" $crystal = 1000000 $hwstack = 40 $swstack = 16 $framesize = 32 '$sim Cursor Off Cls Config Portd.0 = Output Config Timer1 = Timer , Prescale = 8 , Clear Timer = 1 , Compare A = Disconnect , Compare B = Disconnect Compare1a = 62500 On Compare1a Beep Enable Compare1a Enable Interrupts...
Slyszalem cos ze wkarc 32KHz bylby ok czy to prwda? Prawda (dokładnie 2^15 Hz). Przeczytaj stronę 24 i 26 w nocie katalogowej ATmega8. Hasło: Asynchronous Timer Clock / Low-frequency Crystal Oscillator. Możesz też przeczytać tą konwersację -> http://news.elektroda.net/viewtopic.php?...
Opóźnienie "Waitms 500" powinno działać dla każdego rodzaju kwarcu o ile jego częstotliwość została zdefiniowany przez dyrektywe $crystal = 1000000
Program kompiluje się prawidłowo na Atmega8. Kompiluje się także na ATiny2313 (należy usunąć linijkę: Config Serialout = Buffered , Size = 150) Ustawienia Atmega32: $regfile = "m32def.dat" $crystal = 8000000 -kwarc wewnętrzny 8MHz -wejście sygnału z odbiornika podczerwieni PD5 (OC1A) -wyjścia na przekaźnik i diody sygnalizujące PA1, PA2, PA3 skonfigurowane...
W zakładce Fusebits, w najniższej linijce ustawia się źródło taktowania. Wybierz 1111:1111 External Xtal. Na początku pisanego programu umieść $crystal = 8000000 $regfile = "m8535.dat" To wszystko. Pzdr.
ecocondens crystal crystal report crystal panel
wariuje klawiatura tuning telewizora ademco express
Pulsująca kontrolka nawiewu powietrza w sterowniku ST-72 Zasada działania tyrystorowego układu zapłonowego do lamp WLS