Witam! Mam problem z programem do urządzenia, które potrzebuję do szkoły jako pomoc przy doświadczeniu fizycznym. Jego zadaniem jest: - sterowanie mocą silnika przez PWM oraz regulować jego wartość przez 2 przyciski Przeglądnąłem wiele tematów dotyczących obrotomierzy, generatorów PWM oraz generatorów częstotliwości. Poskładałem kilka programów w jeden, ale jako że nie jestem biegły w Bascomie bardzo bym prosił o sprawdzenie, ew. modyfikacje i ulepszenia. 'Miernik obrotów, generator PWM, generator częstotliwości na ATMEGA8 '||||| Konfiguracja procesora ||||| $crystal = 8000000 $regfile "m8def.dat" Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.4 , Rs = Portb.5 Config Lcd = 16 * 4 '||||| Konfiguracja wej/wyj pinów ||||| Nie jestem pewien czy taki zapis jest poprawny. Config Portb = &B1111101 Config Portc = &C000000 Config Portd = &D0100000 Dim Wynik As Long Dim Freq As Long '||||| Aliasy ||||| Plus Alias Portc.2 Minus Alias Portc.3 Pluspwm Alias Portc.4 Minuspwm Alias Portc.5 '||||| Timery ||||| Config Timer0 = Counter , Edge = Rising Config Timer1 = Timer , Prescale = 1 Config Timer2 = Timer , Async = On , Prescale = 128 Enable Interrupts : Enable Timer1 : On Timer1 Time Enable Timer2 Cursor Off Cls '||||| Pętla główna ||||| Do Timer0 = 0 Pwm1a = 0 Start Timer0 Wait 1 Stop Timer0 Wynik = Timer0 * 30 Cls Lcd "RPM" ; Wynik Lowerline Lcd "f" ; Freq Thirdline Lcd "PWM" ; Pwm1a Loop End '||||| Przyciski ||||| If Plus = 1 Then Gosub Up End If If Minus = 1 Then Gosub Down End If If Pluspwm = 1 Then Gosub Uppwm End If If Minuspwm = 1 Then Gosub Downpwm End If '||||| Koniec przycisków ||||| '||||| Generator częstotliwości ||||| Time: Timer1 = Freq Toggle Portb.3 Return '||||| Gosuby ||||| Up: Freq = Freq + 1 Return Down: Freq = Freq - 1 Return Uppwm: Pwm1a = Pwm1a + 1 Return Downpwm: Pwm1a = Pwm1a - 1 Return
|
|||
Re: Program Bascom
Testowałeś ten program w praktyce? bo wydaje mi się, a nawet jestem prawie pewny że to nie ma szans zadziałać. Obsługa przycisków leży poza pętlą główna a program nigdy nie wyjdzie poza pętlę główna. Dodatkowo po co to:
i
nie wystarczyło:
To wyżej daremnie zajmuje stos procesora i wprowadza plątaninę w kodzie. jeszcze te 3 timery i ich tryby pracy..... sam nie wiem w jakich trybach działają te wszystkie timery, no może poza klasyczną konfiguracją Timera1.
Do zrealizowania tego zadania wystarczy jeden timer no może dwa działające w klasycznym ustawieniu timera
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Niee..
Coś lepiej?
Do kolegi pod spodem: Nie, niestety nie. Naprawdę nie wiem jak to ma być...
Przepraszam że się wtrącę ale
Przepraszam że się wtrącę ale czy ten post to nie efekt 1 kwietnia???
Re: program
Na pewno nikt nie robił by sobie jaj pisząc kawał bo wtedy bez pytania poleci konto użytkownika wraz z postem do kasacji: ) Dodatkowo: nie pisze się odpowiedzi na pytanie edytując post wcześniej, takie działanie jest niedozwolone
Próbowałeś to wogóle kompilować? bo juz na początku wyleci mnóstwo błędów:
Pierwszy port ok bo wpisujesz do niego liczbę binarną &Bxxxx ale &c lub &d, co to za format liczby? Nie mówiąc już że żaden port nie ma przypisanych wartości początkowych.
po drugie konfiguracja timera prawdopodobnie wklejona z programu dla 2051:
nie zadziała dla procesora AVR, przynajmniej nigdy nie słyszałem o takich trybach timera
Ściągnij sobie kurs mikroprocesorowej oślej łączki i zacznij od podstaw programów w bascomie, bo tego kodu nie da się poprawić. Trzeba go napisac od początku
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
No cóż. Dziękuję za
No cóż. Dziękuję za wyrozumiałość :)
Pozdrawiam
Witam. Pytanie nie na temat
Witam.
Pytanie nie na temat ale to tylko jedno malutkie:
w jakim internetowym sklepie z elektronika mozna dostac atmegi w obudowie plcc i czy w polsce sa w ogole osiagalne?
Re: M8
Nie spotkałem jeszcze w sklepie w takiej obudowie
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Szkda ja tez nie widzialem a
Szkda ja tez nie widzialem a tak swoja droga to mogli by sprzedawac można lutowac jak DIP a zajmuje kupe mniej miejsca.
P.S. Zobaczyłem w tme maja atmege8515 ale ceny układów mają niezłe ale czego sie nie da za oszczednosc miejsca na pcb.....