Nie korzystałem nigdy z trybu asynchronicznego, ale właśnie w tym, że jest on asynchroniczny wydaje mi się, że leży Twój problem. W szczególności myślę tutaj o dostępie do rejestrów timera w tym trybie. Poszukaj na ten temat informacji. Może tu coś znajdziesz: http://www.atmel.com/dyn/resources/prod_... Drobna rada: [syntax=c]//zamiast...
Program poprawiłem, ale dalej jest problem z drugim timerem tzn. działa tylko z TIMER0 , działa klawiatura, funkcja rozpędzania wirnika. włączenie drugie timera wiesza program. Zamieszczony program (tylko z TIMER0) działa fizycznie. [syntax=vbnet] $regfile = "m2560def.dat" $crystal = 16000000 '$sim '***************************************... Config...
Mam następujący problem, pisze program do zegarka, próbuję odliczać sekundy na timerze 2 w trybie asynchronicznym, podłączyłem kwarc zegarkowy do pinów 7 i 8 plus kondensatory 22pF. Naczytałem się datascheet'a poprzeglądałem przykładowe źródła i wyskrobałem kawałek kodu. Do portu PB0 jest podłączona dioda która ma sygnalizować odmierzoną sekundę. #define...
Witam serdecznie! Chciałbym poprosić o pomoc w znalezieniu rozwiązania takiego problemu: ATmega32 zawiera w sobie 3 timery . Aby się dobrać do timera 1 trzeba użyć np. składni pwm1a lub pwm1b, tymczasem piny pb.0 i pb.1 są w dokumentacji oznaczone jako kolejno timer0 i timer1, czy da się na nich zrobić PWM , jak się do nich dobrać? Z góry dziękuję :)
Witam, jestem bardzo początkujący. Poczytałem kilka kursów Bascom ale tak do końca nie rozumiem jak zrobić jedno polecenie. Nie operuję jeazcze fachowym nazewnictwem i może dlatego nie znalazłem rozwiązania swojego problemu bo nie wiem "czego szukać". Chcę zrobić takie coś: Ma się zrobić PortD.0 = 0 Potem po upływie 2 min ma być PortD.0 = 1 jednak jeśli...
Witam Problem następujący... Program ma liczyć imulsy, a dokładnie mierzy częstotliwość. Wszystko chodzi jeśli wybiorę zamiast TIMERA2 - TIMER1, ale ja musze to zrobić na TIMER2. Pozniżej kod: [syntax=basic4gl] $regfile = "m328pdef.dat" $crystal = 11059200 $hwstack = 256 ' rozmiar stosu sprzętowego $swstack = 128 ' rozmiar stosu $framesize = 128 Dim...
Witam, raczkuje w mikrokontrolerach i mam mnóstwo banalnych problemów z tym związanych. z tym nijak nie mogę sobie poradzic: potrzebna mi obsługa timera TM2 cortexM0 na płytce discovery, czytam manual i znajduje potrzebne mi rejestry RCC->APB1ENR |= (1<<0); //TIM2 CLOCK EABLE TIM2->CR1 |= (1<<0); //counter enable TIM2->ARR...
Witam! Siedzę już drugi dzień nad multipleksem w budziku i tracę już cierpliwość. Podejrzewam, że problem leży w zmiennych. Jednak trudno mi go zlokalizować, bo za długo siedzę nad tym samym. Przydałoby się świeże spojrzenie na ten kod. Pokrótce opiszę problem. Po wstawieniu wartości odpowiadającej za wyświetlenie "--:--" do tablicy "toDisplay" nie...
' Zegar, termometr, budzik (przynajmniej takie mam założenie) $regfile = "m8def.dat" $crystal = 8000000 Dim Sekjed As Byte : Dim Sekdzies As Byte : Dim Minjed As Byte Dim Mindzies As Byte : Dim Godzjed As Byte : Dim Godzdzies As Byte Dim Multi As Byte : Dim Miganie As Bit : Dim Wlaczeniebudzika As Bit Dim Ustawianie...
Witam. Schemat całego układu: http://obrazki.elektroda.net/75_12533785... Przed położeniem uC do snu ustawiam stany wysokie na bazach tranzystorów (zmierzyłem prąd samych tranzystorów, poniżej 0.00uA bo miernik nie chwyta). Ustawiam wszystkie pozostałe piny w stan wysoki oprócz: pinów przycisków S1-S4 które mają być masą dla pinu przerwania...
irda zmieniła swoją pozycje i nie jest na porcie na ktorym jest toglebit.. no i super... odlicza poprawnie.. tylko kody IRdy coś dziwne.. ale nieźle.. tylko ciekawe czy da się dorobić do tego dużo więcej funkcjonalności.. $regfile = "m32def.dat" ' specify the used micro $crystal = 16000000 ' used crystal frequency '$crystal = 1000000 '******************************...
Witam. Po raz kolejny wracam do tematu przerwań: [syntax=c] #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> volatile static uint16_t i; volatile static uint8_t k; // główna funkcja programu main() int main(void) { //**************************** SPRZĘTOWY PWM - 1 KANAŁ OC0 (PB3) ****************************************...
Ok wklejam kod: $crystal = 8000000 $lib "mcsbyte.lbx" $lib "i2c_twi.lbx" $regfile = "m8def.dat" Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.0 , Db6 = Portd.7 , Db7 = Portd.6 , E = Portb.2 , Rs = Portb.3 $baud = 9600 Config Serialin = Buffered , Size = 15 $eeprom Data 0 , 22 , 22 , 22 , 0 $data '$prog &HFC , &HE2 , &HD9...
oprócz zmiennej temp reszta czyli aż int0_flag jest volatile większa cześć kodu jest z słynnej ostatnio książki na forum. jeszcze nie zdążyłem za dużo pozmieniać [syntax=cpp] /* * main.c * * Created on: 2012-02-14 * Author: Jacek */ #include <avr/io.h> #include <stdlib.h> #include <avr/pgmspace.h> #include <avr/interrupt.h> #include...
'Program do sterowania małych silników krokowych za pomocą ATMega8 i układu L6219 lub LB1845 'sterowanie ćwierćkrokowe, zasilanie 30V $regfile "m168def.dat" $crystal = 4915200 '********* Konfiguracja wyświetlacza ********* $lib "Lcd4busy.lib" Const _lcdport = Portd Const _lcdddr = Ddrd Const _lcdin = Pind Const _lcd_e = 1 Const...
Masz część programu którym steruję diody RGB u siebie w pokoju. Jest to mój programik testowy, dodatkowo wyjściami PWM można sterować pilotem Rc5. Korzystałem z niego przed napisaniem właściwego softu. W Bascomie jest błąd jeśli chodzi o trzeci kanał (wyjście OC2). Nie "sterujesz" nim przez pwm.., tylko ocr2=... Myśle że dojdziesz na podstawie przykładu....
Witam Podpinam odbiornik TSOP1736 do atmegi16 zgodnie ze schematem: http://obrazki.elektroda.pl/3599928200_1... Jako nadajnik używam diody LD271. Dioda świeci widać to w aparacie. Do procesora wrzucam kod który generuje mi 36kHz dla diody i odczytuje sygnał z odbiornika. // IR LED is connected to PORTC3, // output of TSOP is connected...
To jest przykład dla Atmega8, nie wiem czy pomoże: $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.4 , Db6 = Portc.5 , Db7 = Portd.0 , E = Portc.2 , Rs = Portc.1 Config Pinb.1 = Output Config Pinb.2 = Output Config Pinb.3 = Output Cursor Off Cls Rem konfiguracja portów Dim R As...
Ten program jest taki, że nie wiadomo od czego zacząć poprawiać. Najlepiej byłoby go napisać od nowa :D Niemniej poprawiłem to co ewidentnie musiało być poprawione. Tak na marginesie to nie wiem co za magik wymyślił te ponowne włączanie przerwań w obsłudze przerwania po to tylko by odebrać kod RC5 w przerwaniu. Ludzie to małpują i kłopoty gotowe. Sprawdź...
No dobra, idziemy w dobrym kierunku, już się nie wiesza :D Teraz tylko dioda nie chce zgasnąć :| 1) sei() dałem na początek pętli while(1) 2) hmmm na pewno od razu ustawi go w tryb przepełnienia? Wydaje mi się że trzeba mu wskazać czy chcemy tryb OCIE czy TOIE, żeby przypadkiem przy kompilacji nie zgłupiał. 3) W konfigu timera2 ustawiłem: [syntax=c]//-----KONFIGURACJA...
W między czasie udało mi się wyświetlić zero, jedynkę, dwójkę i trójkę(użyłem przerwań, bo tak czy siak i tak będę musiał ich używać), więcej liczb zrobię później taki kod: http://obrazki.elektroda.pl/8561641000_1... Kod kolegi rrytel oczywiście nie działa :D
Witam, Kilka tygodni temu zrobiłem sobie matrycę LED 5x8. Użyłem do tego 13 linii uC Port C(pin 0-4) służył do zapalania/wygaszania wierszy Port D Do włączania/wyłączania kolumn. Aby zdefiniować znaki zrobiłem sobie specjalną tablicę i tam podawałem w kodzie dziesiątkowym ( które diody w kolumnie mają się oświecić) Napisałem taki kodzik: Chciałbym teraz...
Witam, Mam problem z pomiarem czasu trwania impulsu. Próbowałem różnych sposobów, siedzę już nad tym 3 dzień i nic mi nie wychodzi. Na wejście INT0 atmegi32 podaję sygnał np. 30Hz i wypełnieniu 15%. Sygnał jest stabilny więc tutaj problem odpada. Potrzebuję zmierzyć czas trwania stanu wysokiego. W programie który stworzyłem na wyświetlaczu wyświetla...
Ok z przerwaniami poradziłem sobie dzięki dawidowi:) Teraz kolejny problem. Zapala mi się tylko jeden segment. Zamienie miejscami case 1 z case 0 to pali sie drugi segment. Wie ktoś co może być przyczyną? /* PC0 - PC2 Przyciski PC4 - PC5 Anody PORTD - Katody */ #define F_CPU 1000000L #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h>...
Napisałem program w bascomie który mierzy 16 razy napięcie na wejściu przetwornika AC, później uśrednia wynik i pokazuje na trzech wyświetlaczach 7 segment i program ten pokazuje głupoty, na wyświetlaczu wartości cały czas bardzo szybko się zmieniają. Gdy usunę część odpowiedzialną za uśrednianie wyniku jest ok. Może ktoś zerknąć na kod i powiedzieć...
Witam, od kilku dni próbuje zrobić regulator trzech diod led PWM na ATMEGA88 (programator AVRASP). Timer1 (wyjścia PB1, PB2) działa bez zarzutu, ale już Timer2 (PB3) nie daje znaku życia. Próbowałem już wszystkich kombinacji z ustawieniami, rejestrami, bitami, trybami, podłączeniem diod, zmianą procesora (na ten sam typ) odłączaniem ukladu od programatora...
Mój błąd: Dodano po 14 OK, kod bez optymalizacji -O0 jest trochę szybszy od zumka niz od michalko12 A jeśli włącze optymalizację, to wszystkie kody wypadają tak samo:D Ten mój (z samego początku) http://www.elektroda.pl/rtvforum/viewtop... Jak i pana zumka i michalko12. Tak czy siak dziękuję wszystkim za pomoc :D Dodano po 34 A,...
Witam Mam mały problem z tym dość prostym programem. Generalnie działa tak jak powinien, tylko przy włączeniu układu następuje krótkie załączenie przekaźnika. Jest to spowodowane tym, że początkowy odczyt z DS18B20 jest 85 stopni ( integer 850 ) co przekracza ustaloną przeze mnie początkową wartość 45 stopni ( integer 450 ). Próbowałem dać badanie warunku...
Witam. Potrzebuję napisać funkcję która zainicjalizuje Timer w Atmega32 (asynchroniczny) tak, by działał z zewnętrznym kwarcem 32,768kHz podłączonym pod TOSC1/TOSC2. Timer ma zgłaszać przerwanie co 1 sekunde. W przerwaniu powinien zmieniać stan diody na pinie PD0 na przeciwny. Proszę o pomoc w napisaniu kodu . Przepisz dokładnie to samo co napisałeś...
Poczytałem trochę bo właściwie nie wiedziałem nic, na temat timerów i napisałem ich subrutyny. Podczas liczenia prędkości zmienne czas_s/czas_ch będę mnożył przez 0.004 i dzielił przez podaną drogę. Co ty na to? KOD: '***********PROGRAM POMIAR PREDKOSCI************ '*************** Konfiguracja uC *************** $regfile = "m8def.dat" $crystal...
Korzystam z legalnej wersji Bascom 2.0.4.0, która zresztą w pełni mnie zadowala i pokusiło mnie aby zobaczyć co tam się poprawiło w najnowszej wersji. Po ściągnięciu z MSC aktualizacji teoretycznie wszystko przebiegło bez problemu ale gdy... [syntax=basic4gl] $regfile "m168def.dat" $crystal = 16000000 $hwstack = 50 $swstack = 50 $framesize = 24 '---------------------------------------...
Witam Chciałem dołożyć "atrakcję" do budzika w postaci odtwarzacza muzyczki ( oprócz tradycyjnego buzera. Mimo ograniczeń co do parametrów pliku oraz wielkości obsługiwanej karty SD ( 2Gb bez SDHC ) moduł WTV020 jest ciekawy. Do wyjścia BUSY podpiąłem przez rezystor diodę LED. Do wyjścia SP+ i SP- podpiąłem głośniczek 0,5W/8om Pliki AD4 pobrałem i internetu,...
Witam Mam płytkę sterującą dwoma kanałami PWM - przez ULN oraz MOSFETY. Płytka ma dwa wejścia oraz wejście czujnika PIR - INT1. Ma przede wszystkim sterować włączaniem taśmy LED 12V z czujnika PIR ( oprócz tego z drugiego wejścia ). LED włączona przez PIR ma docelowo świecić określoną ilość czasu ( zależną od natężenia światła ) i się wyłączyć. Żeby...
Witam Wykorzystałem kod Kolegi Duch do pokazywania kierunków zmian temperatury - tzw. "strzałki" W przyszłości, proszę używać tagów SYNTAX - poprawiłem.
Witam Zakupiłem w Seguro moduł DCF77 na układzie MAS6180B. Wykorzystałem klasyczny kod Bascom ( mam wersje Bascom 1.11.95 ) Config Dcf77 ? Czy sygnał trzeba podawać przez dodatkowy tranzystor ? Np. przez taki układ http://obrazki.elektroda.pl/8336138700_1...
Hey ! Oto poprawiony kod - znaczy z Twoimi dopiskami :) 'częstościomierz 'zmienne użyte w programie Dim Jednostki As Byte , Dziesiatki As Byte , Setki As Byte , Tysiace As Byte , Ktorywysw As Byte Dim Tysiace_1 As Byte , Tysiace_2 As Byte , Tysiace_3 As Byte , Tysiace_4 As Byte Dim Timebase As Word , Wynik As Word 'konfiguracja portów 'Port A - segmenty...
Witam Zakupiłem ostatnio listwę z 14-stoma wyświetlaczami 14-sto segmentowymi (w zasadzie 16-sto segmentowymi ale ja używam 14). Chciałbym zbudować na niej jakieś urządzenie typu zegar z kalendarzem. Podłączyłem już wszystko do atmegi16 na płytce stykowej. Jako drivery do poszczególnych wyświetlaczy użyłem uln2804 a segmentami steruję z pomocą zatrzasku...
Wielkie dzięki Mirek za rady :) Co do tego helpa - czytałem ale nie kopiowałem kodu. Nie zauważyłem, że maskuje ten bit nie na tym, co trzeba.... Zmodyfikowałem trochę kod, uwzględniając Twoje sugestie, teraz wszystko wydaje się działać ok - komendy bez problemu są wyświetlane na wyś. led.. Jedyne co mi nie pasuje - gdy dodam funkcje print, to wyświetlacz...
Pomoozcie prosze z tym kodem: #include "defines.h" #include <ctype.h> #include <stdbool.h> #include <stdint.h> #include <stdio.h> #include <avr/eeprom.h> #include <avr/interrupt.h> #include <avr/io.h> #include <avr/pgmspace.h> #include <avr/wdt.h> #include <util/delay.h> #include...
Witam Napisałem program, który dekoduje sygnał DCF77 ( ustawia flagę ), następnie zapisuje ( przy pierwszym uruchomieniu ) wartości zmiennych do PCF8563 i cztery razy na dobę wysyła przez RS485. do tego dwa razy na dobę koryguje czas w PCF8563. I to działa bez problemu. Do celów testowych mam podłączony LCD. Chciałem dołączyć możliwość pomiaru i wysyłania...
http://obrazki.elektroda.pl/7011174400_1... Cześć ! Dziś chciałbym zaprezentować swój najnowszy projekt, którym jest świąteczna choinka LED. Jako, że według świątecznego zwyczaju swoich bliskich obdarowujemy prezentami ów ozdoba została wykonana dla moje dziewczyny, która bardzo lubi klimat świąt i wszystkie ozdoby z nimi związane....
Witam. Mam taki oto program do pomiaru temperatury przez DS18B20 i wyświetleniu jej na 14-sto pozycyjnym wyświetlaczu 14-sto segmentowym: '-------------Zegar Kalendarz 14-segment LED-" 'opis złącza ISP 'czerwony - "+" 'zielony - RESET 'biały - MISO 'niebieski - SCK 'brązowy - MOSI 'czarny - "-" '------------dyrektywy dla kompilatora--------"...
Witam Wykorzystałem do odbioru kod podany przez Kolegę Mirka [syntax=basic4gl] $regfile = "m168def.dat" $crystal = 10000000 'taktowanie procesora $hwstack = 32 ' rozmiar stosu sprzętowego $swstack = 10 ' rozmiar stosu $framesize = 40 ' rozmiar ramki $baud = 9600 ' predkość transmisji Config Debounce = 30 '********************* konfiguracja UART Config...
Witam W oparciu o kod znaleziony na forum Elektroda mam programik wyświetlający adresy układów w magistrali I2C ( TWI ). Kod jest taki: $regfile = "m8def.dat" 'definicja procesora $crystal = 4000000 'taktowanie procesora $hwstack = 32 ' rozmiar stosu sprzętowego $swstack = 10 ' rozmiar stosu $framesize = 40 ' rozmiar ramki Config Debounce...
Witam! Zawracam się do szanownych kolegów z nietypowym problemem, mianowicie wykonuję aktualnie sterownik bramy dwuskrzydłowej na uC Atmega32 gdzie do sterowania silnikami 24V chciałem wykorzystać PWM(funkcja powolnego startu i domykania bramy). Przy sprzętowym PWM wszystko jest jak najbardziej ok (silniczki pięknie się starują), natomiast gdy do generowania...
Note that ADC channels ADC4 and ADC5 are limited to 8-bit accuracy. Znaczysię kanał 4 i 5 mają rozdzielczość 8 bitową, więc potencjometr pomiędzy masę i Vcc, ślizgacz na ADC4 lub ADC5, napięcie odniesienia 5V, bezpośrednie podstawienie np. Pwm1a = Getad (4). Aaaaaa! Kolega realizuje PWM programowy? Nie lepiej sprzętowo! Poniżej program dla ATMEGA8...
Proszę bardzo, oto program. Jeśli chodzi o obsługę multipleksu to jest ona zrealizowana, że najpierw jest zatrzaskiwana wartość w rejestrach przesuwnych, potem zaświecany dany poziom wraz z odpowiednią wartością dla niego i w tym samym czasie do rejestrów przesuwnych ładowane są już kolejne dane dla kolejnego poziomu i tak w kółko. [syntax=basic4gl]$regfile...
Dokładnie tak jak napisał Matejkos Napisałem ten kod na szybko i działa.. Ale zrobiłem go nie tak jak powinno się robić (w przerwaniach mam dosyć długie funkcje, a przerwania powinny być możliwie jak najkrótsze). Jeśli dodałbym ten kod to ktoś może pomyśleć, że tak jest dobrze i tak będzie robił, a tego bym nie chciał :) Jak sobie chcecie :) Tak jak...
Witam Z ciekawości uruchomiłem czujnik MPU6050, kod wykorzystałem z jednej z niemieckich stron - poniżej. Nie jestem pewien, czy kod jest poprawny, bo wyniki są bardzo "ruchliwe". Tzn. gdy płytka czujnika leży nieruchomo na stole to wyniki się zmieniają i o to sporo. Przykładowo: Accx zmienia się od np 10 do 270 Accy cały czas jest duże - nawet ponad...
Mały przykład: $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.4 , Db6 = Portc.5 , Db7 = Portd.0 , E = Portc.2 , Rs = Portc.1 Config Pinb.1 = Output Config Pinb.2 = Output Config Pinb.3 = Output Cursor Off Cls Rem konfiguracja portów Dim R As Byte Dim G As Byte Dim B As Byte Dim...
Chyba to już było. $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.4 , Db6 = Portc.5 , Db7 = Portd.0 , E = Portc.2 , Rs = Portc.1 Config Pinb.1 = Output Config Pinb.2 = Output Config Pinb.3 = Output Cursor Off Cls Rem konfiguracja portów Dim R As Byte Dim G As Byte Dim B As Byte...
Witam Zachęcony sukcesami z płytką EVB 4.3 zaprojektowałem i zamówiłem swoją - na początek z AtMega8 w DIP. Do tego pamięć 24C32 oraz układ do RS485. Wszystkie układy mają kondensatory 100 nF ( stabilizator 7805 również + jeden elektrolit ). Całość ze złączem pod wyświetlacz 2*24 ( właściwe 4*12 ) Reset przez rezystor 10 K do +5V AtMega8L ( na 8 MHz...
Zrobiłem sobie zegar RTC na DS3221. Zegar działa poprawnie tylko jest jakiś błąd w podprogramie ustawiania daty (ustaw_data). Wszystko działało bez problemu dopuki nie dopisałem funkcji lookupstr. Podczas ustawiania daty, nazwy miesięcy są perzeunęte o jedną pozycję i nie wyświetla stycznia tylko od lutego do grudnia. I jak program zliczy od lutego...
Witam. Dawno nie pisałem w BASCOM-ie a zdecydowałem się na niego bo myślałem, że tak będzie szybciej i prościej. Nic bardziej błędnego. Do napisania był dwu-trybowy program uśredniający do nieco przerobionego radiometru SOSNA. Ale nie w tym rzecz. O ile kod który zamieszczam powstał w miarę szybko o tyle błędu nie potrafię wyeliminować 3 dzień. Po krótce...program...
Podłączę się do tematu. Konstruuję sterownik silnika prądu stałego - serwonapęd. W tym momencie mam gotowe podprogramy: - odczyt pozycji z enkodera - regulator PID (nie działa tak jakbym chciał, albo potrzebny jest tuning parametrów albo mam gdzieś błąd w kodzie) W tym momencie silnik lubi oscylować wokół pozycji zadanej. W tym momencie stanąłem na...
bascom timer2 portd atmega portd portd atmega88
lutowanie styków diody spawarka sprawdzenie czujnika ciśnienia oleju
zawór trójdrożny electrolux ewf1497cdw
EMTEL FX3000 – przegląd techniczny, kalibracja, testy bezpieczeństwa, serwis roczny Kod błędu Mercedes 020900087 - diagnostyka i rozwiązania