Nie dziwne- reset zaczyna się od GND- tak zrób.
1. Co? ;) 2. Polecenie Set Tccr1b.7 ustawi tylko bit nr 7. Własnie sprawdziłem. I to nie w symulacji tylko deassemblując kod a więc nie ma mowy o pomyłce. Taki kod: Portb = &B00000000 Portd = &B00000000 Set Tccr1b.7 daje to: ldi R24, 0 out PORTB, R24 ldi R24, 0 out PORTD, R24 in R24, TCCR1B ori R24, 128 out TCCR1B, R24
$regfile = "attiny2313.DAT" lub zaznaczenie uC w opcjach kompilatora. Dodatkowo być może przyjdzie się zmagać z "fusami" bo Tiny 2313 ma preskaler ustawiony do podziału zegara przez 8. Przy częstotliwości generatora kwarcowego np. 16MHz chodzi z częstotliwością 2MHz. Jeżeli to nie przeszkadza to wystarczy w Bascomie wskazać zegar 2000000Hz i po kłopocie.
Pobierz nową wersję B-AVR 1.11.8.1. http://mcselec.com/index.php?option=com_... Tam jest ten procesor. Będziesz miał problem rozwiązany a zarazem nowszy program. Wszystkiego dobrego w Nowym 2006 roku.
Jest tak jak mówią (na 99%). Ten BASCOM nie obsługuje dobrze ATTiny2313. Da się to zrobić wstawkami asemblerowymi, ale jako że dopiero się uczysz a zaczynasz od BASCOMa to nie będę Ci mącił. Po prostu ściągnij nowszego BASCOMa. Po za tym na pierwszy rzut oka w kodzie brakuje ustawiania OC1A jako wyjścia: DDRB.3 = 1 Dodano po 7 A: On Compare1 Wpis Nosave...
On Urxc Rs_rx_ok On Utxc Rs_tx_ok '---------------------------------------... Dim Rs_tx_bufor(7) As Byte Dim Rs_tx_licznik As Byte Dim Rs_tx_ograniczenie As Byte Ddrd = &B00000010 'TXD = wyjscie, reszta wejscia Portd = &B00000010 'TXD = stan wysoki, reszta HI-Z Ddrb = &B00001000 'PB3 = wyjscie,...
Z filmiku wychodzi, że fabryczny zegar mikrokontrolera (1 MHz) działa 4 za wolno (w 9,026 s zliczył: (12,58-10,34) s i częstotliwość pokazywania cyfr ok. 6,25 Hz) więc odznacz CKDIV8 i ustaw CKSEL zgodnie z rezonatorem na PCB (pewnie 4 MHz) https://ww1.microchip.com/downloads/en/D... - od str. 22 CKSEL3..1...
Nie mogę się doszukać w helpie jak skonfigurować i używać PWM dla Tiny2313 w Bascom AVR a wyszukiwarka na forum nie działa, ktoś może mi pomóc? Ponieważ nie za bardzo ufam Bascomowi przy konfiguracji automatycznej( Config Timerx) , to wolę poustawiać rejestry ręcznie , korzystając z dokumentacji :D $regfile = "attiny2313.dat" $crystal = 1000000...
jeżeli używasz kwarcu 1MHz to powinno być $crystal = 1000000 zamiast 1000 (częstotliwość podajemy w Hz, nie w kHz)
Jak dopisałem na początku: $regfile = "attiny2313.dat" to zaczęło się kompilować.
Bascom zawsze używa metody obliczeniowej, która należy do zmiennej wynikowej. Oznacza, że w tym przypadku Bascom wykonuje obliczenia na bajtach. Wartość obliczeniowa2 jest typu Word. Czyli (1) = Liczba_ok / 100 zmienna Liczba_ok traktowana jest jako byte. Jedynym sposobem na konwersję jednego typu na inny jest po prostu przypisanie go w ten...
tak, teraz te 2 przypisania odnoszą się do Timera 1 i wyprowadzeń oc1a i oc1b, więc poprawnie zakładając, że konfiguracja uwzględnia tryb 10-bit, czyli: Config Timer1 = Pwm , Pwm = 10, Compare A Pwm = Clear Up, Compare B Pwm = Clear Up, Prescale = 1
Chwile sie pobawiłem i zastanawiałem sie czemu mi zle działa dioda podpięta do PORTB.3 a to jest związane z OCR1A dlatego zle działała. Nie dlatego, nie ma tu żadnego związku. OCR1A jest to wpis do rejestru, który służy do określenia górnej granicy (TOP) do jakiej ma liczyc Timer1 co odpowiada upływowi czasu tu akutat 1 sec., zaczym się wyzeruje. Jeżeli...
Bascom ma symulator, w którym możesz sobie patrzeć jak ci się zmienna zwiększa. Języki nie przestrzegają ściśle reguł zapisu matematycznego.
Wielopoziomowe menu to nie problem. 1) Masz główną pętlę do-loop. W niej piszesz 'menu główne' - korzystając z if-ów i jakiegos licznika który będziesz mógł zwiększać lub zmiejszać za pomocą przycisków góra/dół 2) Znając swój licznik, wiesz dokladnie która opcja menu jest wybrana, więc dopisujesz if-a - zeby skoczył do podprogramu który ma obsługiwać...
Szukaj i ustaw mniej więcej tak: Ext.Crystal.Osc frequency 3.0-8.0 Startup time i reszta raczej nie istotne w Twoim przypadku.
Przepraszam ale w pierwszej wypowiedzi popełniłem błąd logiczny - oba przerwania powinny być ustawione na te same zbocze a nie różne. Dlaczego, bo tak jak napisałem wcześniej nie będzie można określić kierunku zmian, zawsze bedzie ta sama kolejność wywoływania przerwań. Obojętnie czy kręcimy w lewo czy w prawo. np. ChA narastanie 0->1 a ChB opadanie...
Declare Sub Gettime Declare Sub Settime Dim S As Byte Dim M As Byte Dim H As Byte Dim Yd As Byte Dim Wm As Byte Podprogram odczytu pcf8583: Sub Gettime I2cstart 'generate start I2cwbyte &HA2 'write addres of PCF8583 (a0 do plusa) I2cwbyte 2 'select second register I2cstart 'generate repeated start I2cwbyte &HA3 'write address for reading info I2crbyte...
"Then" powinno być w tej samej linii do "If".
I i $crystal=
A może wyłumaczyć mi ktoś tak jaśniej niż whelpie bascoma ;) co to jest ten prescaler i co on dzieli. Może tak po kolei jak twój program widnieje: 1. Jeżeli PORTB jest przeznaczony do obsługi LCD to nie konfiguruj go w ogóle w stylu jaki podałeś w pierwszym poście. Config Portb = &B11111111 : Portb = &B11111111 ===> źle!!! Może to powodowac zakłócenia...
Tak, teraz jest zaprogramowany. Z ciekawości pytam jak długo trwa programowanie ATTiny2313 tym programatorem ?
Witam ! Jeśli masz problemy z zaprogramowaniem AT89C2051 to kup AT89S2051, zaprogramować go można tak jak ATtiny2313 po ISP. Pozdrawiam. Stefan
Poza zmianą nazwy portów będziesz musiał odpowiednio skonfigurować obsługę timera bo z pewnością on jest wykorzystany do liczenia czasu i obsługi wyświetlacza led .
Ehh. Ustaw fusebity.
Do if Pin = 0 then incr Zmienna_Pomocnicza if Zmienna_Pomocnicza > 2 then Zmienna_Pomocnicza = 0 if Zmienna_Pomocnicza = 0 then Wyslij kod 13 if Zmienna_Pomocnicza = 1 then Wyslij kod 14 if Zmienna_Pomocnicza = 2 then Wyslij kod 15 Bitwait Pin, set end if Loop To taki prosty programik na kolanie napisany. W miejsce Pin wstawic nazwe pinu do ktorego...
A czy jest inna metoda sterowania? Spróbuj takiej na przykład: pulseout ' w podobnej pętli For/ next e marcus Dodałem SYNTAX - bo pewnie rano się spieszyłeś :-)
Człowieku MYŚLEĆ! Co to wymyślać? Weźże tyknij ten knefel zaprogramuj i zobacz czy działa, to taka filozofia?:/
Zgadza się.
Pisałem abyś wszystkie diody LED połączył przez rezystory do +5V , a Ty tego nie zrobiłeś ? Mam rację ? Dziękuję za 10, nie trzeba było. GG6293398
Nie ma maksymalnej liczby tylko możliwości piszącego program . Jeżeli to są początki przygody z Bascom'em to pozostań przy jednej pętli Do..Loop . A jeżeli nie kompiluje to zaremuj wszystko co w pętli i dopiero krok po kroku dodawaj nowe linie kodu tworzące logiczną całość , cały czas kompilując ( sprawdzając poprawność kodu ) . Nigdy nie pisz programu...
W powietrzu, to są też porty - Porta0 i Porta1 Pozdrawiam. Stefan GG6293398
Witam ! Zmień zapis na ten: Stan_enk = Encoder(pind.2 , Pind.3 , Lewo , Prawo , 0)
Jestem posiadaczem legalnej wersji BASCOM AVR 1.11.7.4, niestety ta wersja nie wspiera ATtiny2313... To zrób upgrade do 1.11.8.3 i po kłopocie :D Piotrek
Teraz nie mogę tego stwierdzić, ponieważ płytka właśnie się trawi. Można to odczytać przez program? Jak chcę spróbować go jeszcze raz zaprogramować to po wciśnięciu polecenie identify mam wszędzie "F" To może być potrzebne. na programatorze założyłem zworkę SLOW SCK, bez tego rozpoznawało układ, ale nie mogło go dodać. Identify odczytuje sygnaturę...
Nad polem edycji wiadomości masz: Listing kodu
Windows 95 ??????????????????????????? ;) czy ja dobrze przeczytałem? bo przecieram oczy i nadal nie wierzę Windows 95 ????????????????????? ;) Chłopie - to albo zainstaluj sobie nowszą windę, a jeśli to w 100% niemożliwe to przerzuć się na programowanie w C. Wtedy zassiesz sobie WinAVR i programy będziesz sobie pisał w notatniku - a kompilację robił...
Dosłowne tłumaczenie: "zmień słowa". W jakim celu to jest wprowadzone - nie wiem. Natomiast wiem, aby nigdy tego nie zaznaczać. Dlaczego to Ci się włączyło "z automatu" - nie wiem (mnie się nie włącza). Ważne, że w końcu "wyleczyłeś pacjenta"
Problem może być ... sprzętowy. Otóż Tiny2313 fabrycznie ma ustawiony zegar na 8MHz i preskaler zegara na podział przez 8 czyli pracuje na 1MHz. Jeśli nie manipulowałeś z Tinką to nie będzie zgodna rzeczywista częstotliwość taktowania uC z zadeklarowaną w programie. Magistrala 1Wire jest bardzo wrażliwa na czas poszczególnych impulsów i nie zniesie...
Dokładnie. A możesz mi jeszcze powiedzieć jak ustawiłeś te bity? Bo ten generator to może ożywić mikroprocesor jeśli przestawiłeś go na zewnętrzne źródło taktowania.
Pewnie brak instrukcji Loop
Polecam polskojęzyczny help do Bascoma. Szukaj w nim informacji o transmisji szeregowej UART.
Wejścia Pd.0 i Pd.1 podciągnij do plusa zasilania za pomocą rezystorów np. 100k . Diodę led wepnij odwrotnie to znaczy , katoda do masy , a anodę przez rezystor do PB.0 . No i oczywiście zmień troszkę program .
W PC biosie sprawdzałeś
Zmień schemat: Przyciski podłącz do masy, elektrolit zamień na ceramik 100nF a diodę podłącz przez rezystor do zasilania a katoda do uc. Program: $regfile = "attiny2313.dat" $crystal = 1000000 ddrb =&B11111100 PORTB = &B00000011 ddrd =&B11111111 PORTD = &B00000000 do if pinb.0 =0 then waitms 100 portd.0 = 0 end if if pinb.1 =0 then waitms...
Widzisz, słuchasz tylko jednego podpowiadającego :P Spróbuj mojej metody, to 5 min.
Witam ! Ustaw odpowiednio fuse bity, bo ATtiny2313 jest fabrycznie ustawiony na wewnętrzny generator 1MHz. Pozdrawiam. Stefan amator
To się zrobił problem.Pliku żródłowego w Baskomie nie uda sie odtworzyc. Dla wygody chyba lepiej napisać program od nowa.
po pierwsze to attiny trzeba przestawić na zewnętrzny kwarc, bo standardowo jest na wewnętrznym RC. po drugie ATtiny2313 ma dodatkowy fusebit odpowiedzialny za podział częstotliwośći zegara przez 8. niepamiętam jak sie on nazywa dokładnie ale jak programujesz z bascoma to tam jest to ładnie nazwane (clock frekwancy divider) czy jakoś tak. standardowo...
A dzialal ci programator wczesniej czy to pierwsza kostka na ktorej probujesz ??
Witam, złożyłem sobie płytkę która w założeniu, miała mi pomagać testować programy na ATtiny2313. Płytkę wykonałem wg schematu: http://obrazki.elektroda.pl/8784413900_1... $regfile = "attiny2313.dat" $crystal = 1000000 config Portb = output portb = 1111111 do reset portb waitms 500 set portb waitms 500 loop end Po zaprogramowaniu, wg...
Witam dopiero uczę się programowania i mam pewien problem, przez przypadek uszkodziłem (przynajmniej mi się tak wydaje, program nie rozpoznaje mikrokontrolera ) procesor AT90S2313 i przy tej okazji postanowiłem się przesiąść na ATTINY2313. Do programowania używam płytki testowej AVT3500 i programu BASCOM w wersji 1.11.8.7 (obsługuje ATTINY) i w związku...
Witam, Napisałem program, który po wciśnięciu switcha (podaniu napięcia na PinB. 1 i PinB. 2 przez kilka sekund) ma migać diodami w kolejności 123 lub 321 w zależności od wciśniętego switcha. Po naciśnięciu switcha 1. diody przez cały czas zaświecają się po kole 123 i tak przez cały czas. Przerwać może tylko wciśnięcie switcha numer 2 i włączenie funkcji...
Przy próbie wysłania programu do mikrokontrolera Attiny 2313 z Bascom AVR otrzymuje komunikat, że nie można zidentyfikować chipa ID FFFFFF. W programie jest wybrany ten właśnie chip i dobrze ustawiona komunikacja. Jestem zupełnie poczatkujący. Czy ktoś może mi wytłumaczyć o co tu chodzi?
Witam. Lata temu stworzyłem płytkę PCB, a na niej Attiny2313 wraz z gniazdkiem do programowania i jakimiś bzdurami (dioda IR i odbiornik IR, zresztą zgodnie ze schematem z helpa bascoma). Myślałem, że moje problemy które miałem budując na pająka się skończą. Niestety tak się nie stało. Komunikat który widnieje w tytule ciągnie się za mną i uprzykrza...
Witam! Mam pytanie dotyczące różnic pomiędzy wymienionymi mikrokontrolerami (napięcia programowania, lista rozkazów, budowa, możliwości itp.) dopiero zaczynam zabawę z mikroprocesorami, więc proszę o wyrozumiałość ;) Do tej pory jedyna różnica jaką zauważyłem to cena.. Z góry dziękuję za pomoc i wszystkie wskazówki.
Witam. Czy Bascom obsługuje Attiny 4313? Nie mogę u siebie odnaleźć dla niego pliku: attiny4313.dat.
Poszukuję 2 mikroprocesorów AT90S2313-20. Proszę o kontakt na maila lub GG
Witam Napisałem prosty programik w Bascom i nie działa mi ale nie wiem dlaczego:( A więc na: PB 0 daje - a na PB 1 + PB 2 + PB 3 + ... $regfile = "attiny2313.dat" $crystal = 1000000 Config Portb = Input Portb = &B01111111 Config Portd = Output Portd = &B0000000 Do If Pinb.0 = 1 And Pinb.1 = 0 Then Waitms 10 Portd.0 = 1 Waitms 10 Portd.0 = 0 End If If...
Witam. Napisałem prosty program w języku Bascom do mrugania diodą w zależności od wartości zmiennej "Liczba". Po włączeniu zasilania program działa prawidłowo do czasu, gdy nie przycisnę któregoś ze switchy. Gdy nacisnę program nie reaguje, tylko gdy zacznę przyciskać go w szybkim tempie po jakimś czasie if się wykona i zmieni wartość zmiennej + tak...
attiny2313 bascom attiny2313 bascom fusebity attiny2313 projekt bascom
schemat sterowania przekaznik hotpoint ariston pralko toshiba satellite zasilanie
naprawa udaru makita hilti udaru
Metex 3650 – błędny pomiar rezystancji, diagnostyka i typowe usterki Metex 3650 – stałe 1,5 kΩ na wszystkich zakresach Ω, pomiar rezystancji, PTC1, CD4066, diagnostyka