Mam krótki program napisany w Bascomie, który ma za zadanie migać kolejno diodami na porcie co SEKUNDE. I tuaj jest wielka proźba Co jest w tym nie tak że mi to nie mruga tak jak należy tzn. za wolno??? :( używam procesora AT90S8515 w programatorze STK500 Z góry dziękuje z jakieś sugestie 'czestotliwosc uprocesora w Hz $crystal = 11059200 Config Portb...
Nie da się skonfigurować procesora tak, żeby mu napięcie na pinie płynnie rosło. Można tylko skonfigurować timer tak żeby generował przebieg PWM (przebieg prostokątny o stałej częstotliwości i zmieniającym sie współczynniku wypełnienia) i podpiąć do wyjścia układ RC o odpowiedniej stałej czasowej. Dopiero wtedy można uzyskać pynną zmianę napięcia. Najlepiej...
Dzięki za odpowiedz. Doszedłem do tego, że cały procesor wiesza się przy poleceniu PRINT lub nawet RND (polecenie toggle odziwo działa). No, no, tylko proszę bez takich... ;) Nie rozumiem... W bascomie wszystko jest dobrze skonfigurowane, działąją nawet przerwana z Timera Timer1. Oto kod: Config Porta = Output Config Portc = Output Config Timer1 =...
8535 ma przetwornik A/D, sprzętowe TWI i chyba jeden timer więcej, 8515 natomiast jak napisał Elektryk ma wyprowadzoną magistralę. Rozkład pinów dla podstawowych funkcji jest bodajże identyczny.
Config timer0 = timer, prescale = 1 on timer0 Obsluga_T0 enable timer0 enable interrupts Do loop Obsluga_T0: stop timer0 ' tu jakis podprogram timer0 = 200 start timer0 return Ten programik powinien wchodzic do przerwania od timera co 56 taktow zegara czyli na 10MHz co 5.6us zeby przedluzyc odstepy trzeba zastosowac inny timer (16 bitowy) albo ustawic...
Chcialem uzyskac przerwanie co 1 sekunde aby zwiekszyc tylko zmienna sekundy do odmierzania czasu. Ale mikrokontroler jak sie okazalo resetuje mi sie co sekunde gdy tylko nastapi przerwanie. blad w programie? pomóżcie prosze. z gory dziekuje! #include "hd44780.h" #include <interrupt.h> // funkcje sei(), cli() #include <avr/io.h> // dostęp...
Witam Dziękuje wszystkim za odpowiedzi. Dopiero zaczynam swoją zabawę z avr, dlatego postanowiłem wykorzystać sprzętowy pwm - łatwiej mi go oprogramować. Ale widzę, że dyskusja i tak zmierza do mojego punktu wyjścia ;) Wyświetlaczami steruje z przerwania od timera0 co 5ms (kolejna pozycja) i nie bardzo wiem jak tam jeszcze wcisnąć obsługę jasności....
Czysto informacyjnie - licznik domyślnie liczy w górę, stad odejmowanie wartości CTC(właściwa wartość do odliczenia przez licznik) od 65535. PS: LordBlick czyli w końcu twierdzisz (nie używam CTC),że powinna być wartość 49910? Nie twierdzę nic w tej kwestii, ponieważ obsługa tego przerwania w Bascom nie jest dokładna i nie nadaje się do odliczania sekund...
Witam chce użyć procesora AT90S2313 do sterowania szybkości silnika. I chyba najlepiej do tego będzie nadawał się licznik timer1 skonfigurowany, jako PWM. Czytałem o tym w pomocy, ale jakoś niewiele mi to gada:( z jakiego pinu będą wychodzić te impulsy??? Z T1(PD5) czy OC1(PB3) czy jeśli wpisze te „dosconnet” to wyjściem biedzie T1 a jeśli...
/***************************************... Title: Philips RC-5 Remote Control Decoder Author: Peter Fleury <pfleury(at)gmx.ch> http://jump.to/fleury Date: December 2002 Purpose: Decodes RC5-commands Software: AVR-GCC 3.3 Hardware: AT90S8515 at 4 Mhz, IR-Receiver SFH506-36 RC5 data...
Przykładowy pełny program poniżej. Kompiluj najlepiej w CodeVisionAVR, nie będzie niespodzianek. Program można znaleźć pod adresem zawartym w ramce (wersja free). Dołączam też pliki .C .cof .hex .map i dla dociekliwych .asm i .lst Pozdr tOMmy /***************************************... This program was produced by the CodeWizardAVR V1.23.8a Standard...
90s8515 i ASM Chcialem zeobic cos takiego ze raz timer1 uzywac do odmierzenia czasy, raz do odbiornika RC5 Wymyslilem ze pewnie by trzeba zmieniac wartosc w pamieci flash pod adresem timera.. ale przeciez nie mozna za czesto zmieniac tej komorki bo sie skonczy ilosc cykli w flashu... Czyli jak zrobic by timer dzialal raz do jednej rzeczy a potem do...
Witajcie mam pytania i tak mam 90s8515 z kwarcem 8M są dwa timery chciałbym żeby ich wartości zmieniały się co 1 sekunde i jak zrobic żeby timer0 liczył większe wartości niż 255 dlaczego timer0 liczy z inną prędkością niż timer1? $regfile = "8515def.dat" $crystal = 8000000 Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.4...
Oba mają po 8K Flash-a. Jednakże są różnice w rozstawieniu nóżek, ilości Timer-ów, ilości wykonywanych instrukcji czy obecności ADC w 8535. Ale po uwzględnieniu tych różnic układ powinien działać poprawnie gdyż to podobne do siebie procesory. Zapraszam do wglądu w noty katalogowe: http://obrazki.elektroda.net/10_11558143...
bawię się bascomem i avrami już ponad rok. próbowałem już wielu żeczy i wszystko prędzej czy póżnie działało ostatnio potrebowałem zrobić wyjście PWM z któregoś z timerów w układzie at90s8515 i mam problem. niby prosta żecz ale niecchce działać może ktoś ma jakieś "SPRAWDZONE" programy na który kolwiek układ AVR to bym sobie skopiował konfiguracje
I taktować procek czymś tak zaskakująco szybkim:) (A nie lepiej zrobić to na jakimś timerze? 5Hz to na prawdę wolno zmienny sygnał...)....
Z tego co czytam to można zrobić to następująco: 1. wycofałbym się z obu procesorów bo są za duże jak na ten projekt wystarczyłby w zasadzie jakiś malutki procesorek powiedzmy ATTINY12 (8pin) ale jest on droższy od np. AT89C2051. 2. sygnał z pedału hamulca podałbym poprzez rezystor a za rezystorem dioda zenera 4.7V (do tej diody równolegle też można...
Zmiana nazwy też nie pomogła. Zmieniłem jednak dyrektywę na procka AT90S8515 i przerwanie od timer0 teraz działa i w symulatorze i na zaprogramowanym procku. Co prawda przerwanie generuje się częściej niż powinno, ale może jakoś dojdę dlaczego. Czy ktoś wie co może być nie tak w pliku m8515.dat? Czyżby producent załączył uszkodzony plik dla tego procka?
Witam, zbudowałem sobie układ diff -u Kopia ds1820tousb-20100717/Makefile ds1820tousb-20100717/Makefile --- Kopia ds1820tousb-20100717/MakefileTue Mar 23 07:55:24 2010 +++ ds1820tousb-20100717/MakefileFri Jul 1 22:05:55 2011 (at)(at) -8,7 +8,7 (at)(at) INCDIR= . # target mcu (at90s8515, atmega16, atmega8515...) -MCU= attiny45...
Błąd wyskakuje dlatego że Timer0 nie posiada funkcji PWN, natomiast liczniki timer1 (16 bitowy) i timer2 (8 bitowy) można zatrudnic do pracy w roli sprzętowego PWN. Poszukaj na forum a znajdziesz przykłady jak mozna programowo zrobić PWN. Pozdrawiam
To jest w porządku, jakbyś później przenosił program na procesorek z większą ilością RAM to nie zapomnij, że wtedy wskaźnik stosu jest przechowywany w SPL:SPH : ldi TempA, HIGH(RAMEND) out SPH, TempA ldi TempA, LOW(RAMEND) out SPL, TempA MOje pytania bardzije będa się tyczyły zaprojektowania jakiejś prostej klawiatury na 5 klawiszy....
Witam.To pochodzi z programu gdzie byl procek at90s8535 ale po ewentualnej modyfikacji nazw rejestrow powinno dzialac..... unsigned int pwm=100; void update_pwm (void) { cli (); outp (pwm>>8,OCR1AH); outp (pwm,OCR1AL); sei (); } void timer1init (void) // inicjacja timera 1 - tryb PWM { outp (pwm>>8,OCR1AH); outp (pwm,OCR1AL); outp (0x00,OCR1BH); outp...
Potrzebny mi wylacznik czasowy, takie cos jak do swiatla na klatce schodowej. Czy ktos moze wie jak napisac taki program?? Mialby on byc na procesor atmel at90s8515, juz mam jeden program, ale napisany 'przestarzala' metoda. Zamieszczam go ponizej, moze wiecej wam to wyjasni. Potrzebuje miec to napisane w formie funkcji...hmmm...chyba nie jestem dobra...
Na AT90S8535 zrobiłem sobie licznik impulsów i elegancko zlicza. Zrbiłem to na dwa sposoby (poniższy kod) z wykorzystaniem jednego timera i bardziej dokładny z wykorzystaniem 2 Timerów. Najgorsze jest to że gdy wsadziłem ATmega8535 na lcd pojawia mi się zero tak jakby counter w ogóle nie zliczał impulsów. Zegar procków (7.372.800 Hz) ten sam. Co jest...
W Helpie pisze ze GetRC5 uzywa licznika Timer0. Czy ty w swoim programie nie uzywasz go jawnie lub nie jawnie ( np.transmisja szeregowa) Sprobuj CONFIG RC5 = pin ,TIMER=2 to powinno pomoc - jesli nie to sprawdz polaczenia odbiornika Pozdrowienia
To jest tylko część wstępna programu, domyślnie ma być liczona długośc impulsu w 1 sekundzie. Drugi Timer T2 bedzie generował przerwanie co 1s i w nim bede odczytywał ile impulsów zliczył T1 oraz zerował T1. T0 potrzebny mi jest do PWM.
Sprawdz ten kod , zmodyfikuj dzielenie getadc ,częstotliwość jest regulowana przez potencjometr ,musisz go dobrać. I nie wiem jak z PWM. No i lepiej oczywiście przez jakiś transoptor czy coś ,aby była izolacja uP od sieci energetycznej. Config Portb = &B11111111 'Portb.0 ma być wyjściem Config Timer0 = Timer , Prescale = 1 Enable Interrupts Enable Timer0...
Zacina sie bo to wada bascomowejo Getrc5. ten program musi działac, dlaczego go nie zastosowałeś? Spróbuj, tylko odbiornik IR musisz dac na wejscie ICP procesora. [syntax=basic4gl]$regfile = "m16def.dat" $crystal = 8000000 $baud = 9600 Config Timer1 = Timer , Capture Edge = Falling , Prescale = 8 '1 tick= 1 uS On Capture1 Capture_edges 'To przerwanie...
Myślę, że koledze mogło chodzić raczej o taką konstrukcję warunku preprocesora: #if defined(__AVR_AT90S4414__) || defined(__AVR_AT90S8515__) || \ defined(__AVR_AT90S4434__) || defined(__AVR_AT90S8535__) || \ defined(__AVR_ATmega163__) || defined(__AVR_ATmega16__) || \ defined(__AVR_AT90S2313__)...
ale w edw 9/2001 ten kwarc jest podpięty bespośrednio do timera czyli so pinów TOSC1 i TOSC2 TAM JEST NAPISANE ZE TO JEST OSOBNY OSCYLATOR + TIMER więs jakoś to musi działać
Czy wie ktoś jak uruchomić Timer1 na ATmega8535 aby zliczał impulsy? Wpisałem ten sam program jaki miałem na AT90S8535 i nic. Cały czas pokazuje mi zero. Pomocy ! $regfile = "m8535.DAT" $crystal = 7372800 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.1 , Db5 = Portc.2 , Db6 = Portc.3 , Db7 = Portc.4 , E = Portc.0 , Rs = Portd.7 Config Timer1...
Dave_Masters skoro przy zaniku napięcia w sieci i tak nie można sterować zewnętrznymi urządzeniami, to po co bateryjne podtrzymywanie całości? Do wykrycia spadku napięcia zasilania można również wykorzystać ADC w procesorze (ew. komparator analogowy w at90s8535 którego używasz). To by było minimum elementów - wystarczy dzielnik rezystorowy :) Pozdrawiam,...
Jeszcze nie wiem co oznacza obliczenie błędu generowania Baudrate. W moim przypadku sprawa jest prosta bo stosuje ... Baud Timer : 1 Baudrate : 2400 Frequency : 11059200 ... a taka prędkość przy takiej częstotliwości jest chyba dokładnie wyliczana ale nie wiem. Tak patrząc na dołączony schemat nasuwa mi się pytanie czy konieczne są "te zworki na samym...
No to jeszcze dorzucę, to co znalazłem w pewnym pdf-e Motoroli - aplikacja , zresztą bardzo podobna do tej j/w. Legenda : XTAL1 - wejście inwertera generatora XTAL2 - wyjście inwertera generatora Tak przy okazji - AVR - y posiadające wbudowany timer asynchroniczny (np. AT90S8535 , ATmega8535 , ATmega16 , ATmega8 itd.) już są przygotowane do bezpośredniego...
Pinologia at85s35 jest zbliżona do ATmega , projektantom chodziło o usunięcie efktu anteny gdy zasilnie jest po przekątnej, usunięcie tego efektu dało się tylko przez zastosowanie układu zasilania na kolejnych nogach, jeśli koniecznie potrzebujesz pinologi jaką ma '51 użyj at85s15 choć tracisz przetwornik i timer tam masz nogi zasilania po przekątnej....
Witam Co do tego kwarcu zegarkowego to opierałem się o fragment pliku pomocy " Ten przykład pokazuje jak używać specjalnych zmiennych TIME$ i DATE$ 'Użycie procesora AT90s8535 (i licznika TIMER2) oraz Mega103 (licznika TIMER0) 'pozwala na łatwe zaimplementowanie zegara czasu rzeczywistego, 'dołączając zewnętrzny rezonator 32.768KHz do licznika. 'Potrzebny...
Aby korzystac z rtc musisz podlaczyc kwarc 32,768 kHz do pinow PORTC 6 i 7. Ustawiasz timer2 na prace asynchroniczna i dobierajac prescaler na podzial przez 128 otrzymujesz przerwania co 1 s bez koniecznosci ladowania timera przy kazdym przerwaniu. Ponizej przedstawiam fragment kodu dla at90s8535 . Atmega8535 tez powinno dzialac. Sprawdz tylko czy nie...
Witam serdecznie, mam problem który polega na dostosowaniu programu działającego na AT90S8535P do Atmega8. Dokładniej problem polega na tym że Atmega8 nie posiada wyjść tosc1/2. Poradzono mi aby sam uC pracowal na wewn. układzie RC a zegar na zewnetrznym oscylatorze. Szukałem info na temat zmiany konfiguracji ale nie mogę wymyśleć co zmienic w kodzie...
8545 nie ma takiego. Podejrzewam ze miales na mysli 8535. Na takie pytanie "ile" przeciez bez problemu znajdziesz w dokumentacji procesora. Procesor ma 1 licznik/timer 16 bitowy ktory ma dwa rejestry porownujace ktore wykorzystuje sie w trybie PWM wiec mozna powiedziec ze ma dwa PWM-y. Szukanie tej informacji zajelo mi 20 sek. Nie rozumiem tylko po...
elo ja mialem identyczny problem z tym prockiem i okazalo sie ze podczas załączenia przekaźnika nie może być podpięty kabelek od ISP a konkretnie żyła od RESETu bo ona robiła za antenę !!!... heh ja juz byłem tak zdesperowany że zrobiłem filtr +5V na 2200ui dalej na dławik i dalej na 2200u przez diode (zeby było dobre napięcie dla timera) i 10u i 100n...
... A przy okazji pamietasz ze mi chodzilo o zegar asynchroniczny z zewnetrznym kwarcem podpietym pod konc. OSC1 i OSC2 portu C. Ten faktycznie zachowuje sie jak programowy (soft). Oczywiście że pamiętam ;) Parametr soft przy Config clock oznacza , że kompilator użyje własnej procedury obsługi przerwania od Timer2.Uruchamiałem kiedyś taki zegarek na...
Ale to jest CISC 8051 tam niema takiej możliwości. W RISC np AT90S8535 faktycznie można podłączyć kwarc do wyprowadzeń PC7(TOSC2) PC6(TOSC1), bardzo użyteczne bo przy odpowednim wypełnieniu timera można generować przerwania co 1s bez dodatkowych prcoedur (a T2 jest 8bit !). W zasadzie można to uzyskać na 16bit T1 i preskalerze z sygnału taktującego...
http://obrazki.elektroda.net/86_11534271... Witam Chciałbym zaprezentować wszystkim moją skromną konstrukcje o nazwie "Rowerowy komputer pokładowy".Kiedyś pomyślałem, że fanjnie byłoby mieć rejestrator prędkości na rowerze i po wycieczce obejżeć sobie zapis. Ostateczna konstrukcja okazała się bardziej skomplikowana niż początkowo zakładałem :P .Schemat...
Kiedyś zbudowałem układ regulatora temperatury , który kontrolowany był przez RS485 w protokole MODBUS RTU. Projekt był oparty na AT90S8535, program w C /wczesniej probowalem At89S8952 ale byl nieco wolny/. Nie wiem na jakim jestes poziomie ale potrzebna jest dokladna znajomosc protokolu. Aby sledzic co dzieje sie na szynie potrzebny bylby max485 ,...
ok dzieki za zainteresowanie najpierw BASCOM: oczywiscie w opcjach jest at90s8535 $crystal = 4000000 Config Portc = Output Config Portb = Output Config Portd = Output Config Adc = Single , Prescaler = Auto Dim A As Word Dim B As Word Dim C As Word Dim D As Word Dim E As Word Dim F As Word Dim G As Word Dim H As Word Cls Start Adc Do 'aDcsr.7 = 1 A =...
To prawda że nie są to procesory wielordzeniowe. Windows może wykonywać kilka zadań "jednocześnie" pracując na procesorze jednordzeniowym ( pamięta ktoś może 386, 486, pentium 166 itp ? ) Zrobiłem kiedys program "wielozadaniowy" na at90s8535 polegało to na odczytaniu stanu interesujących mnie wejść w pętli głównej programu i wywołaniu odpowiednich procedur....
tak , masz rację to jest lcd.c lcd.h : #ifndef LCD_H #define LCD_H /***************************************... Title: C include file for the HD44780U LCD library (lcd.c) Author: Peter Fleury <pfleury(at)gmx.ch> http://jump.to/fleury File: $Id: lcd.h,v 1.12.2.4 2005/02/28 22:54:41...
Witam, właśnie walczę z obsługą LCD pod Atmegą 8 - cały kod jest w C, z użyciem biblioteki: lcd.h #ifndef LCD_H #define LCD_H /***************************************... Title: C include file for the HD44780U LCD library (lcd.c) Author: Peter Fleury <pfleury(at)gmx.ch> http://jump.to/fleury File:...
Może nie zignorowałem tylko programuję w Programmers Notepad stąd pewnych nieścisłości kompilator mi nie pokazuje:) Na pewno pokazuje. A dlaczego ie piszesz w oryginalnym Atmel Studio? 1. Zamieściłem teraz u góry F_CPU To nic nie da - czytałeś wskazany artykuł? Zmień środowisko na oryginalne Atmel Studio: http://mikrokontrolery.blogspot.com/2011...
Odkopuję stary temat, ale jest on ciągle aktualny. A chwila wolnego od pracy pozwoliła na dalsze przemyślenia i jakieś proste - na razie - działania. W sumie to całą konfigurację licznika można by potraktować jako jeden bajt, albo dwa bajty. Oczywiście są też przypadki na więcej bajtów, ale jest ich mniejszość. Pozwoliłoby to na proste stworzenie funkcji,...
Witam wszystkich Zrobiłem sobie sterownik silnika za pomocą 4 tranzystorów 2 x BUZ11 i 2 x IRF9... . (przed traznystorami są transoptory ) ruch silnika w jedą i derugą , wszystko cacy. Ale jak się zabrałem do pisania programu SERWA to troche się zaczęły schody . Steruję dwoma kanałami PWM w AT90s8535 kanał A i B bity z PORTu C [0 i 1] słuzą do bramkowania...
Sory, już się poprawiam [syntax=c]#ifndef LCD_H #define LCD_H #if (__GNUC__ * 100 + __GNUC_MINOR__) < 303 #error "This library requires AVR-GCC 3.3 or later, update to newer AVR-GCC compiler !" #endif #include <inttypes.h> #include <avr/pgmspace.h> /** * (at)name Definitions for MCU Clock Frequency * Adapt the MCU clock frequency in Hz...
sterownik at90s8515 at90s8515 atmega8515 at90s8515 programowa
amica kondensator zegar znikaj pieniądze cewka zmywarki electrolux
mikrofalowka samsung akumulator odkurzacza silvercrest
Jak wyjąć zablokowaną kapsułkę z ekspresu Delta Siemens EQ500 – po rozłożeniu zaparzacza leci tylko woda, brak kawy