Takie rozwiązanie przyspiesza obsługę wyświetlacza i w niczym nie przeszkadza, m.in. eliminuje oczekiwanie przy obsłudze wyświetlacza (obsługa działa na przerwaniu timera). Używam w paru projektach - sprawdzone.
Ten bit uruchamia lub wyłącza tryb zgodności z nie produkowaną już megą103. W tym trybie dla przykładu masz do dyspozycji tylko jeden USART, jeden 16bitowy timer zamiast dwóch, PORTC działa tylko w trybie jednokierunkowym (tylko jako wyjście) itd... Z pozostałymi różnicami postaraj się zapoznać już samodzielnie (nota str.4, 5).
Przyciski i tak są testowane zawsze w przerwaniu timera, więc najłatwiej stamtąd odpalać wszelkie zmiany stanu urządzenia, w tym chodzenie po menu. Przy nieblokującej obsłudze LCD nie wprowadza to opóźnień do obsługi przerwania timera, więc... ;)
Z tego co wyczaiłem to mega popędzana jest kwarcem 14,7456 MHz (kwarc do USART)... Timery ustawione są tak, że przerwanie wywoływane jest co 0,05s stąd podstawowa zmienna zliczająca do sekundy zwiększana jest co drugie wywołanie przerwania (odpowiadają za to variable i variable1)... Spróbuj przeanalizować ten kod i skonfrontować go z dokumentacją do...
Jeśli podejrzewasz opóźnienia, to po prostu tymczasowo powiększ je kilkukrotnie (od "zbyt dużych" nic się nie dzieje) i jeśli wtedy będzie dobrze, to będziesz miał winnego. Jesteś 100% pewny tych 42MHz na timerach? Wiesz o tym, że jeśli na magistrali od timerów dzielnik wynosi 2, to timery taktowane są podwojoną częstotliwością magistrali (przyjrzyj...
to są timery. może multitasking za pomocą millis() zda egzamin? Musisz podpiąc się pod przerwania. Sztuczki z millis daruj sobie. Może jakoś to zadziała ale beda sytuacje, w których wyświetlacz będzie niektóre cyfry wyświetlał jaśniej lub ciemniej czy "chwile zwątpienia" jak podczas otwierania menu w Windows gdzy przychodzi e-mail. Nie będe książki...
Witam. Realizuje właśnie projekt układu który steruje panelem słonecznym i mam pewien problem, mianowicie wyświetlacz nie reaguje na mikrokontroler (cały czas wyświetla tylko czarne prostokąty w pierwszej linii). Korzystam z gotowych bibliotek hd44780.h: http://obrazki.elektroda.pl/9528292600_1... Próbowałem bibliotek z kilku różnych...
Jeśli chcesz uzyskać minimalny narzut czasu procesora na obsługę wyświetlacza - w ogóle nie czytaj znacznika BUSY, bo jego wyzerowanie nie oznacza gotowości. Obsługuj wyświetlacz w przerwaniu timera. Jakiś czas temu obsługa HD44780 na STM32 w przerwaniu timera była pokazana w EP. A pierwszy błąd w Twoim kodzie jest tu: LCD_EN_bb=0; LCD_EN_bb=1; - wymagany...
Do tego celu chciałem użyć PIC16F876A. Posiada on 3 timery i jeden jest 16bitowy. Pisze w C i nie wiem czy dam rade to ogarnąć. Mam też podpięty wyświetlacz HD44780 i czy będę musiał użyć drugiego kwarca do timera? Narazie chodzi na 8MHz.
Przy wyświetlaczu znakowym bufor FIFO nie ma sensu - wystarczy po prostu bufor przechowujący to, co ma być na wyświetlaczu. Zapisujemy do niego tekst i ustawiamy znacznik żądania skopiowania zawartości bufora na wyświetlacz. Samo kopiowanie po jednym znaku mamy w przerwaniu timera.
EDIT: Odczyt przydaje się chociażby do sprawdzenia BUSY. Obsługa przez sterowanie czasowe jest nieefektywna. Żeby czekać w pętli aż się zmieni stan flagi? To jest dopiero nieefektywne. Lepiej używać timera do tego i w procedurze przerwania wysyłać dane do wyświetlacza.
Napisz program w Bascom dla Atmega8, który będzie liczył pojedyncze impulsy w ciągu 24 godzin z zapamiętaniem najkrótszego odstępu między tymi impulsami, wynik wyświetlał na wyświetlaczu 2x16 opartym na HD44780. Oczywiście, chętnie pomogę Ci napisać ten program. Poniżej znajduje się kod, który powinien zrealizować to, co opisujesz. Wprowadziłem kilka...
[syntax=c] #include <avr/io.h> #include <avr/interrupt.h> #include <avr/pgmspace.h> #include <util/delay.h> #include <avr/pgmspace.h> #include <avr/eeprom.h> #include "hd44780.h" #define LED_DATA PORTD //port pod kt�ry pod��czony jest wy�wietlacz LED #define LED_DATA_DIR DDRD//kierynek...
Dzień dobry Czy jeżeli mam w programie miejsce, gdzie wyświetlacz odświeżany jest z częstotliwością powiedzmy 1kHz (są tam jakieś delaye, częstotliwość jest więc pewnie mniejsza) to czy jest to dla niego bardzo szkodliwe i czy powinienem postarać się raczej wprowadzić jakiś timer? (problematyczne, bo musiałbym przenieść wykrywanie wciśnięcia przycisku...
Wszystkie Timery będą wykorzystane do innych celów dlatego nice chcę wykorzysta któregokolwiek timera do przetwarzania ADC [syntax=c] #define F_CPU16000000UL//16MHz zegar procesora #include <avr/io.h> #include <util/delay.h> #include <string.h> #include <stdlib.h> #include <avr\interrupt.h> /***************************************...
Rozumiem, że pytasz o to, czy w numerze EP 2014/4, w którym znajduje się artykuł 2014/4 "32 bity jak najprościej. STM32F0 - nieblokująca obsługa wyświetlacza LCD ze sterownikiem rodziny HD44780. cz. 4", znajduje się artykuł o nieblokującej obsłudze wyświetlacza LCD z HD44780. Obawiam się, że odpowiedź twierdząca nie rozwieje Twoich wątpliwości, bo wpadasz...
Witam, w projekcie nad którym pracuje zaszła potrzeba dodania scrollingu tekstu na wyświetlaczu (hd44780 2x16znaków). Niby wszystko pięknie ale podczas przewijania widzę coś na kształt migania i nakładania się tekstu :( Program działa na zasadzie pełnego zapisu 16 znaków jednej lini. Program działa na zasadzie szatkowania tablicy z tekstem na 16B paczki...
Wprowadziłem stosowne zmiany w moim kodzie: - dodałem odpowiednie opóźnienia po zmianie stanu linii EN oraz RS (1 mikrosekunda), - nieco zmodyfikowałem ustawienia wyświetlacza. [syntax=c]/* * main.c; plik zgodny z biblioteką CMSISv1p30_LPC17xx/inc/LPC17xx.h * CMSISv1p30_LPC17xx/src/system_LPC17xx.h * * Created on: 2011-10-01 * Author: jakub.papuga */...
Cześć. Mam taki kod: sei() po wywołaniu wyświetlania tekstu na ekranie: [syntax=c]lcd_puttext_P(PSTR("Trwa lokalizowanie!"));[/syntax] Nic się nie dzieje. Jeśli jest tak jak teraz (//sei()), na wyświetlaczu pojawia się napis. Dodam, że jest to wyświetlacz na kontrolerze HD44780 podłączony do Atmegi32 w porty PD3-PD7 oraz PC0 i PC1. Fragment jest z deklaracją...
Wedle życzenia wstawiam wszystko jak leci Program główny [syntax=c]//Sterownik wytrawiarki PCB, LCD2x16, ds18b20 #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #include <stdio.h> #include "HD44780.h" //plik sterowania LCD #include "ds18b20.h" //plik odczytu z DS //makro przycisku #define KEY (1<<PC7) //makra...
https://obrazki.elektroda.pl/3845985100_... https://obrazki.elektroda.pl/1095475900_... Kiedy zbliżała się tegoroczna jesień i słońce wschodziło coraz później, postanowiłem zbudować budzik świetlny - urządzenie, które o zadanej godzinie włącza stopniowo rozjaśniające się światło. Nawet, jeśli nie obudzi ono użytkownika,...
Witam, zbudowałem następujący układ: http://obrazki.elektroda.pl/1600386800_1... ( Potencjometry mają po 100kilo ohmów. ) Układ jest generatorem z regulowaną częstotliwością i długością pulsu, regulowaną za pomocą potencjometrów. Niestety mam dziwny problem z jego obsługą. Kiedy programowo WYŁĄCZĘ wyświetlacz wszystko działa elegancko....
http://obrazki.elektroda.net/60_12870844... Witam. Termometrów na elektrodzie było już dużo, w tym projekcie nie ma nic specjalnego, poza tym że wykorzystuje w miarę nowy procesor LPC1343. Projekt umieszczam w sumie tylko po to żeby podzielić się źródłami. Mam nadzieje że komuś się przydadzą. Jak wiadomo, kto stoi w miejscu, ten się cofa....
Program bez przetwornika ADC. Program działa prawidłowo Dodano po 42 Od kiedy praca dyplomowa jest tajna? Pytam z ciekawości- kiedyś była jawna na całym etapie pisania. Dlaczego w pętli głównej blokujesz przerwania- potem wykonujesz sporo obliczeń- a potem odblokowujesz? A co będzie jak w tym czasie pojawią się dwa przerwania? Jedno pójdzie się kochać....
1) Musisz tylko zmienić odpowiednie porty w programie i możesz podłączać gdzie chcesz. Uważaj bo PD5 to jest wejście dla timera 1 i przy obrotomierzu nie możesz go wykorzystywać. 2) Zależy od ustawień BASCOMA. Brakuje kilku linijek w programie. Podłączenie wyświetlacza. Dobre, ale nie najlepsze. 3) RW wyświetlacza podpiąć do masy. Rzadko się wykorzystuje...
Zrezygnuj z tego daj MAX7219 jeden załatwi za Ciebie wszystko. ... za ponad 15-30zł vs 0.60zł za jeden 74HC595D + groszowe dodatkowe elementy i nieco większe PCB. I tutaj moje pierwsze pytanie, czy bity "znajdujące się" w pamięci pierwszego rejestru są następnie przesuwane do drugiego, czy każdym z rejestrów steruje się osobno ? To zależy jak je podłączysz...
Witam mam pytanie czy jest ktoś w stanie napisać prosty program do obsługi tego wyświetlacza na tym ARM-ie? Walczę już od ok. 2 tygodni i nadal nie mogę uruchomić mojego wyświetlacza Korzystam z tej stronki [url=http://atmegan.blogspot.com/2012/10... Według mnie coś jest nie tak z biblioteką pod wyświetlacz...
Jest ktoś zainteresowany rozwiązaniem ekwiwalentnym (na przerwaniu), dla 1wire? :] Biorąc pod uwagę fakt, że jeden bit w 1-wire trwa kilkadziesiąt - kilkaset mikrosekund, oraz to, że można go zrealizować w pełni sprzętowo korzystając z UARTu, taka zabawa IMHO nie ma sensu. Przerwanie z jakąś logiką odpalane co kilkaset cykli nie jest specjalnie kuszące,...
no tak programista z bozej laski nie dodal 2 klamerek, teraz jjuz nie wyrzuca bledow, pytanie tylko dlaczego ekran tak jakby miga nic nie wyswietlajac, co robie jesscze zle? funkcje na pewno sa dobrze poumieszczane, bo do innej czesci programu wszystko dziala, ale umieszcze caly program zeby nie bylo watpliwosci:: #include <avr/io.h> #include...
Możecie rzucić okiem na kod? Zamiast Timera 2, zastosowałem Timer0 z przerwaniem co 0,008 s. Aby uprościć kod dodałem 2 funkcje. Niestety to spowodowało, że ani dioda nie świeci, ani wyświetlacz nic nie wyświetla. [syntax=c] #include <stdlib.h> #include <avr/io.h> #include <util/delay.h> # include <math.h> #include <avr/interrupt.h>...
Witam! Chciałbym aby ktoś zerkną na ten kod, czy nie ma błędu. Jeśli nie problem leży po stronie technicznej, prosze o sprawdzenie. Po włączeniu zaswieca się pierwsza linia. Biblioteka zmodyfikowana pod moje połączenia. Delay ustawiony na oscyloskopie. Mój kod to: ----------------------------------------...
To jest przyklad tego jak mozna obsluzyc DS1820 przez mega 8 ale jest tam tez obsluga wyswietlacza w C.Moze sie pryda.Sam to dostalem od jednego kolegi z forum:-) wiec mam nadzieje ze sie nie obrazi...mnie interesowal DS. Pozdrawiam Maciek! #include <avr/io.h> #include <avr/pgmspace.h> #include <stdlib.h> #include <ctype.h> #include...
Może chodzi o interruptus, zauważyłem że tlc5940.c z https://sites.google.com/site/artcfox/de... używa przerwań ISR(TIMER0_COMPA_vect) może to zakłóca procedury LCD, może wystarczy przed procedurą wyświetlającą dać cli(); a po sei(); tak mi się wydaje, bo miałem podobny problem z przerwaniami.
Jeśli nie miałeś do czynienia z uK to polecam AVRa dowolnego, np. ATmega8, tani, do kupienia w każdym sklepie. Do tego dowolny wyświetlacz LCD zgodny ze sterownikiem HD44780. Wszystko oprogramować w Bascomie. Wystarczy wersja demo. Polecam Bascoma, ponieważ nawet jeśli nie miałeś do czynienia z programowaniem to jest tak prosty, że można nauczyć się...
Witam, mam problem z uruchomieniem programu do zliczania impulsów na T1 przez 1 sekundę. Wyświetla mi ciągle zero. Co źle ustawiłem z Timerami ?? Atmega 32 [syntax=c] #define F_CPU 1000000UL #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <hd44780.h> volatile unsigned char licznik = 0; //liczba...
Mam następujący problem. Musze napisać program do zliczania obrotów na minutę na stanowisku laboratoryjnym. Ale ugrzęzłem w miejscu gdzie trzeba ustawić timer i napisać funkcje liczącą te impulsy. Sygnał mierzony pochodzi z czujników optycznych i jest to sygnał logiczny. Program ma zliczać impulsy i wyświetlać prędkość obrotową na wyświetlaczu 4x20....
http://obrazki.elektroda.pl/8871329800_1... Dzień dobry Chciałem zaprezentować płytkę testową dla procesorów ATMega32 i innych z takimi samymi wyprowadzeniami. Do wykonania jej skłoniła mnie chęć dalszej nauki programowania mikrokontrolerów. Nie było to możliwe na poprzedniej płytce wykonanej w 2 klasie technikum. Od rozpoczęcia projektowania...
uczę się programowania AVR w c i na ATMEGA16 napisałem prosty programik mający zliczać impulsy w czasie 1 sekundy timer 1 odmierza czas 1 sekundy timer 0 zlicza impulsy i przy przepełnieniu inkrementuje zmienną do wyświetlenia wyniku zmienna jest przemnażana przez 256 a do wyniku dodawana jest bieżąca wartość rejestru TCNT0 do celów ćwiczenia, jako...
Witam, Staram się zrozumieć rozkazy w jezyku C do wyświetlacza LCD ze sterownikiem HD44780. Nie moge do końca zrozumieć tej tabelki z rozkazami która jest na tej stronie: #include <reg51.h> // definicja rejestrów 8051, plik nagłówkowy #include <stdio.h> // definicja rejestrów 8051, plik nagłówkowy char xdata LCD_WR_S _at_ 0xfff0; // wpis...
Całkowicie zapomniałem o temacie :) Z problemem poradziłem sobie w następujący sposób, jest to wycinek z większego programu więc coś może być źle wycięte :) [syntax=c] //--------------------------------------... // Dołączone biblioteki //--------------------------------------...
też niedawno zacząłem zabawę z uP ale naskrobałem coś takiego, jeśli źle, to mnie poprawcie. $regfile = "attiny2313def.dat" 'attiny2313 $crystal = 1000000 ' 1MHz Config Portb = Output Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.0 , Rs = Portb.2 Config Lcd = 16 * 2 'wyświetlacz 2 linie po...
Cześć koledzy, Mam problem z wyświetlaczem LCD DMC16207 (16x2 znaków), sterowany przez układ HD44780. Niestety nie mogę uruchomić wyświetlacza (tzn. zachowuje się jak by był "martwy"). Wyświetlacz jest podpięty do magistrali adresowej 4 bitowej, masa, zasilanie oraz V0 (napięcie do sterowanie kontrastu) sprawdzane po 50 razy i są raczej poprawnie podpięte....
Dzień dobry, chciałbym opisać zegar szachowy mej konstrukcji. http://obrazki.elektroda.pl/2838677600_1... http://obrazki.elektroda.pl/4442183300_1... http://obrazki.elektroda.pl/1402313500_1... Pomysł zbudowania takiego zegara zrodził się w mej głowie, kiedy w okresie zainteresowania mikrokontrolerami...
Sorry że tak późno, ale komuś może się przyda. [syntax=csharp]#include <stdio.h> #include <avr/io.h> #include <avr/interrupt.h> #include "hd44780.h" volatile char dziesiatka = 0; volatile int sekunda = 0; volatile int flaga = 0; char tekst[10] = "Gotowy"; int main (void) { TCCR1A = ((0 << WGM11) | (0 << WGM10)); // ustawienie...
Witam piszę prosty program wyświetlający różne zmienne z programu na wyświetlaczu LCD. Wyświetlacz podłączyłem i wszstko gra, moge wyświetlać napisy ale nie mogę wyświetlić zmiennych. podam kod do mojego programu i krótko go opiszę: Program miał wyswietlac godzinę na wyświetlaczu, do odliczania 1 sekundy wykorzystałem timer 16 bitowy z preskalerem 64....
Wybaczcie moje marudzenie ale takie makro wymaga co najmniej dodatkowych dwóch "difajnów". Proponowane "ułatwienie" spowodowało że musimy zamiast 11 znaków wklikać 50 i na dodatek w czasie analizowania skakać po dokumencie aby zobaczyć co oznacza makro a później co oznaczają poszczególne definicje z makra. Wszystko zalezy, z jakiego edytora korzystasz,...
Korzystasz z biblioteki do obsługi LCD, więc może tu leży problem? Przy uruchamianiu wyświetlacza też miałem kłopoty, więc postanowiłem napisać własna bibliotekę do jego obsługi, co prawda zajęło mi to trochę czasu, ale wszystko działa poprawnie. Musiałem przy tym trochę informacji „przetrawić”, więc nasuwa mi się na myśl taka opcja, że...
Próbuję przerobić przykład "Przyklady\LCDAlfa\LCDAlfa-transact-int\... z książki [url=http://helion.pl/ksiazki/jezyk-c-dl...
http://obrazki.elektroda.pl/3879789700_1... Witam. Wstęp: Dziś chciałbym pokazać Wam szybki sobotni projekcik. Z racji zbliżającej się zabawy sylwestrowej i wolnej soboty postanowiłem udoskonalić moją wytwornicę dymu. Dobudowałem jej dołączalny timer. Na urządzeniu ustawia się żądaną długość odstępu pomiędzy dymieniami oraz czas dymienia....
Witam Poniższy programik obsługuje esp8266 z podpiętym wyświetlaczem LCD 2x16. Esp łączy się z serwerem czasu w sieci lokalnej i co 3 sekundy sprawdza status serwera. Serwer generuje czas timera oraz bieżący czas (godziny,minuty i sekundy). Jeśli na serwerze jest uruchomiony timer to esp odczytuje raz wartości minut i sekund a następnie uruchamia swój...
Zwarcia raczej nie ma, bo odłączałem wszystkie przewody od klawiatury od płytki ewaluacyjnej, która jest, trzeba przyznać, porządnie wykonana. (W sensie, że kupiona, a nie na płytce stykowej) Kod: [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> #include <stdio.h> #include <stdlib.h> #include "HD44780.h" #include "ds18b20.h"...
https://obrazki.elektroda.pl/7013991800_... Dodano po 50 To miało być masa syfu :d Jeszcze konieczna była zmiana rezystora z filtru V0 z 10k na obecnie chyba ok 640R (nadal to ledwo wystarcza), pewno 10k nie wystarczy na zwykły LCD 2x16 a ten jest 5 razy większy
Witam serdecznie. Nie znalazłem podobnego tematu, a próbując rozwiązać mój problem, próbowałem porad z forum i poza nim. Przejdę od razu do tematu. Próbuję zaprogramować wyświetlacz HD44780 ze ekspanderem PCF8574T. Używam kodu który kiedyś znalazłem gdzieś w internecie. Kiedyś tj na początku maja. Ekspander na I2C podłączony jest do MSP430G2553 na port...
Witam. chce zbudować urządzenie które będzie mierzyło prędkość obrotową turbiny i kilka innych rzeczy jak na razie utknąłem z pomiarem prędkości. układ opieram na scalaku Atmega32 do pomiaru prędkości wykorzystuje czujnik hala i magnes zamontowany na wałku (aktualnie wiatraczku komputerowym do testów) Program wygląda w ten sposób że chciałem mierzyć...
Witam, Postanowiłem tutaj napisać, ponieważ mam problem z timerem1. Napisałem program zgodny z algorytmem, który umieściłem poniżej (układ ma zliczać impulsy na wejściu, następnie je uśredniać, a wynik wyświetlać). Póki co testuje go na ISISie i jedyne co pojawia mi się na wirtualnym wyświetlaczu to wynik -1. Tak jak wspomniałem w pierwszym zdaniu,...
Tego kodu powyżej jeszcze nie sprawdzałem, ale napisałem coś prostego, co chyba po lekkiej modyfikacji powinno działać. [syntax=c] #include <avr/io.h> #include <avr/delay.h> #include <avr/interrupt.h> #include "HD44780.h" #include "main.h" volatile uint8_t flag = 0; volatile uint16_t odleglosc; void Init(){ TCCR1B |= (1<<CS11);...
(at)nsvinc podał sposób wysłania 32 spacji tuż przed wysłaniem zawartości Nie. Nic nie mowilem o wysylaniu spacji przed zawartością. Stwierdziłem tylko, że clear screen wykona się nieporównywalnie wolniej niz wyslanie 32 spacji do wyświetlacza. A to dlatego, że wysłanie jakiejkolwiek komendy zajmuje tyle samo czasu co wysłanie znaku. Przesunięcie kursora...
Witam Znów mam pytanie dotyczące kodu który pozwala na współbieżną obsługe lcd z main i przerwania przedstawiam tylko plik .c [syntax=c] #include "LCD_trans.h" #include <avr/interrupt.h> #include <string.h> #include <util/atomic.h> #include "defines.h" #include "hd44780.h" #include "Alloc_safe.h" #include "PinMacros.h" typedef struct...
Mój ma takie oznaczenie i nie działa. Dalej szukam. Jak znajdę błąd to dam znać. Dalej nie mam rozwiązania. Wymieniłem wyświetlacz na inny, który już kiedyś używałem i działał. Może podejść do sprawy inaczej. Jeśli ktoś byłby tak miły i spojrzał w program to może wypatrzył by błąd. Podłączenie wyświetlacza: pin 1 - masa pin 2 - +5V pin 3 - kontrast...
W konfiguratorze LCD ten pin nie występuje w ogóle, więc w sumie nie wiem jak zadeklarowac, że go sie w ogóle używa.... config lcdpin Z częstotliwością nic nie grzebie, więc jest fabryczna, w kodzie mam polecenie " $crystal = 8000000 " . Oscylator rzeczywiście ma 8MHz, ale fabrycznie jest włączony dzielnik... Pomigaj diodą. Zrób prostą pętlę - zmień...
Witam. Od jakiegoś czasu próbuję zrobić swój własny sterownik pieca CO. W sterowniku mam trzy tryby pracy. Mam problem w automatycznym czyli jeżeli temperatura osiągnie wartość z przedziału powiedzmy 40 stopni do 60 to ma się załączać przedmuch na czas 10 s a przestój ma mieć czas 5 min. Zrealizowałem to na timerze i wszystko wygląda na to że działa...
Coś z funkcją inicjowania - na pewno. No tak... ale na samym początku głównej pętli "main", gdy inicjalizuję wyświetlacz LCD (tę samą funkcją przecież), to inicjalizuje się poprawnie i dalej działa zupełnie poprawnie. Dobrze jest reinicjować wyświetlacz automatycznie co jakiś czas, np. po jakiejkolwiek interakcji użytkownika po dłuższej bezczynności....
Ok, doszukałem się, jest to TIMx Update Interrupt. Tyle, że Update Event nie jest generowany przy każdej zmianie CNT w trybie Encoder. Czyli jeśli dobrze rozumiem, np. Channel 5, Stream 4 może być wyzwolony poprzez TIM3_CH1 lub/oraz (?) TIM3_TRIG. TIM3_CH1 oznacza, że np. Output Compare zostanie wyzwolony DMA. Może mógłbym skonfigurować np. aby zbocze...
http://obrazki.elektroda.pl/3784732200_1... Witam, chciałbym przedstawić projekt jaki miałem jakiś czas temu okazję wykonywać a mianowicie uniwersalny programowalny sterownik logiczny. Projekt składa się z trzech części - sterownika, układu odpowiedzialnego za programowanie sterownika/komunikację układu z komputerem. Ostatnim elementem...
Mam problem z połączeniem funkcji chodzi o to zeby wyswietlacz był aktualizowany w pętli while(1), jednak gdy umieszczę ten fragment kodu wynik=7654; LEDDIGITS Dodano po 4 Poniżej daje oryginalne kody obrotomierz: [syntax=c]/* OBROTOMIERZ v.1 Obrotomierz przeznaczony do prostych pomiarów prędkości obrotowej. Pokazuje: - czas jednego obrotu, - liczbę...
Witam. Napisałem prosty program wyświetlający zegar oraz 2 temperatury na wyświetlaczu w standardzie hd44780. Wszystko jest dobrze podłączone, kwarc 7.37. za każdym razem po uruchomieniu po pewnym czasie(czasem 5 minut a czasem nawet ponad godzinę) układ się wywala. Na wyświetlaczu zaczynają się pojawiać różne krzaczki. Zastanawiam się czy to wina uProcesora...
Witam; Dopiero zaczynam zabawę z mikrokontrolerami więc proszę o pomoc i wyrozumiałość. Mój problem polega na ustawieniu kursora w drugiej linii wyświetlacza, mianowicie: Wg specyfikacji sterownika HD44780 aby ustawić kursor trzeba wysłać komendę [syntax=c]LCD=0x08; E(); gdzie LCD to P1DIR E() jest to funkcja zmieniająca stan u Enable LCD=0x02; E();...
Witam. Potrzebuję W tym liczniku obrotów: [syntax=c]#include <avr/io.h> #include <stdio.h> #include <avr/interrupt.h> #include <util/delay.h> #include "HD44780.h" //tutaj ustaw własne zasady pomiaru #define POMIAR_ILOSC_IMPULSOW_NA_OBROT 4 //ilość inpulsów na jeden obrót #define POMIAR_ILOSC_OBROTOW 10 //ile obrotów ma trwać...
Witam wszystkich, Stworzyłem schemat do zapłonu motocyklowego z użyciem dwóch transoptorów, wyświetlaczem LCD na sterowniku HD44780 a także dwóch tranzystorów do sterowania cewką (BU931). Jako kwarcu użyłem 24Mhz. Pierwsza prośba to czy ktoś może mi sprawdzić czy schemat jest prawidłowy. http://obrazki.elektroda.net/64_12688419... Teraz mam...
http://obrazki.elektroda.net/25_12011029... Oto projekt, który może się przydać tym, którzy budują naświetlarkę z diod UV. Chociaż po drobnych przeróbkach, można z powodzeniem zastosować Poniższy projekt do budowy naświetlarki z użyciem świetlówek. Czas naświetlania ustawiany jest w sekundach. Ponieważ jest on zapisywany w pamięci PIC16F628A, nie...
Tadzik jak bym wiedział gdzie to sprawdzić... Ogólnie wyświetlacz na początku wyświetla napis na dolnej części a potem już nie. Jest to napisane w main.c prawie na samym końcu, #include <avr/io.h> #include <avr/interrupt.h> #include <avr/pgmspace.h> #include <avr/wdt.h> #include <avr/eeprom.h> #include <util/delay.h>...
Próbuję zrobić zegar cyfrowy zbudowany z wyświetlacza LCD (2x16) i mikrokontrolera Atmega8A. Chcę wykorzystać do tego 16 bitowy timer1, zegar ma działać na tej zasadzie, że w przerwanie występujące co sekundę zwiększa zmienną seconds o 1, potem gdy zmienna seconds = 60 to do minut dodaje 1 itd... Problem w tym, że gdy dla testu chciałem wyświetlić aktualne...
Witam Próbuje zrobić odtwarzać wav na atmega8. Pliki wav mam zapisane na karcie sd. Karta działa prawidłowo, bo bajty wyświetlane na wyświetlaczu są poprawne. Głośnik podpięty bezpośrednio do PB1 i PB2. Kod programu: #include <avr/io.h> #include <inttypes.h> #define F_CPU 8000000 #include <util/delay.h> #include <avr/interrupt.h>...
Witam Jestem w trakcie budowania małego projektu, mam z nim niestety mały problem z którym nie mogę sobie poradzić wygląda to tak że chce odczytywać wartość portów PC0...PC5 i w zależności od tego czy jest tam stan wysoki czy niski zmieniać stany na portach PD0,PD1,PD4,PD5,PD6,PD7. Gdy odczytuje piny PC0 i PC1 jest ok, ale gdy chce odczytać stany z...
To ja powiem tak : 2) W drugim punkcie masz za zadanie dodać komponent własny. Treść zadania mówi o tym że ten komponent musi zawierać trzy rejestry. W kreatorze wprowadzasz po prostu 3 rejestry. Do tak stworzonego komponentu wyposażonego w rejestry musisz przypisać odpowiednie parametry. To wszystko kreator ci wygeneruje w VHDL-u. Następnie wchodzisz...
Witam, podczas budowania dalmierza ultradźwiękowego natrafiłem na problem którego nie potrafię rozwiązać, a nawet lokalizować jego przyczyny. Sama procedura pomiarowa, tj, generacja fali i odebranie wygląda dobrze. Problemem jest, że np. mierząc wciąż jedną i tą samą odległość dostaję wyniki typu 43cm, 43cm, 38cm, 39cm, 43cm, itd. [syntax=c]#define...
Witam chciałbym za pomocą enkodera regulować wartość w zmiennej: war_zad, od 0 do 3700. Wykorzystałem w tym celu zdarzenia i wbudowany dekoder do obsługi enkodera w atxmega128a3u. Lecz zastanawiam się w jaki sposób to wykonać by moja zmienna zmieniała się od 0 do 3700 bo gdy zmniejszę wartość timera CNT poniżej zera to mam odrazu wartość maksymalną....
Fakt. Było kilka błędów. W chwili obecnej kod wygląda następująco: [syntax=c] //Porgram mierzy prędkość "przejazdu" między 2 fotokomórkami #define F_CPU 16000000uL #include <AVR/io.h> //biblioteka we/wy #include <AVR/interrupt.h> //obsluga przerwan #include <util/delay.h> //obsluga opoznien #include <LCD/lcd.h> #include "HD44780.h"...
Okej racja,w zasadzie to nie ma znaczenia gdzie są przyciski podpięte, działanie zależy od stanu początkowego w programie. Układ już gotowy, teraz męczę się z tymi timerami: [syntax=cpp] #define F_CPU 16000000uL #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <stdlib.h> #include "HD44780.h" //Wyświetlacz:...
Jeżeli chodzi o schemat to jest pewien kłopot. Nie robiłem tego układu na uniwersalnej płytce drukowanej czy coś podobnego. Jestem szczęśliwym posiadaczem [url=http://www.sklep.propox.com/index.p... ewaluacyjnego na którym chce najpierwsz zrobić, przetestować i mieć prawidłowo działający układ a później do niego zaprojektować...
Witam, mam "dziwny" problem z uC atmega328P. mam układ zbudowany z lcd na HD44780, czujnika temp lm35dz oraz diody led. Układ zachowuje się w dziwny sposób. Program wygląda tak : [syntax=c] //czytanie przetwrnika adc // zamiana na zmienna temp która ma postać bez przecnika, np. dla temp 23,5 jest 235 if(temp>250) LCD_WriteText("A"); mruganie_diody=0...
To co ja mógłbym poradzić: 1. Jeśli już na siłę chcesz odczytywać coś z pamięci RAM wyświetlacza LCD to trzeba byłoby bardzo dokładnie przejrzeć swoją bibliotekę do LCD i poczytać taką tabelkę rozkazów i ich kodów do obsługi LCD. Tam jest do dobrze opisane .... zatem na tej podstawie można byłoby zrobić odczytywanie. 2. Ale jednak podpowiedziałbym taką...
Panowie, sprawa wygląda tak. http://obrazki.elektroda.pl/6871032900_1...
A mozliwe jest ze napisalby mi Pan caly program w programie WinAvr prgram ktory steruje wyswietlaczem HD44780U (LCD-II) Hitachi z wykorzystaniem ATMega 128? Ma to byc prosty timer odliczajacy w dol plus dodatkowo zegarek. Jestem zielony z tego tematu, probowalem cos zrobic i nic, z gory dziekuje, Bartek
Witam Proszę o pomoc w rozwiązaniu problemu. robię projekt silnika prądu stałego z enkoderem na STM32 podpiąłem wyprowadzenia : -PA6 Enkoder CHA Wejście pływające (TIM3_CH1) -PA7 Enkoder CHB Wejście pływające (TIM3_CH2) i nie wiem jak ruszyć dalej by wyświetlać odczyt prędkości na wyświetlaczu LCD. Robie to na STM32f103VBT i Używam biblioteki ST Tyle...
Witam, stworzyłem na płytce stykowej układ, gdzie podłączyłem przyciski, LCD hd47780, rtc ds1307 i buzzer. Korzystam z bibliotek do wyświetlacza od "radzia", TWI od p. Mirka oraz ze znalezionej na tym forum biblioteki do RTC. Napisałem szybki program, który wyświetla godzinę w formie hh:mm:ss na ostatnich polach pierwszej linii. Dodatkowo dodałem przerwanie,...
Witam Chce stworzyć prosty analizator widma oparty na ATmedze oraz wyświetlaczu LCD HD44780. Płytkę z filtrami stworzyłem wcześniej i przebadałem oscyloskopem i wszystko działa jak należy. Problemy zaczęły się dopiero przy programowaniu procesora. Poradziłem sobie z obsługą wyświetlacza i, z pomocą forumowiczów, z obsługą ADC. Mam teraz problem z przerwaniem....
Na początek cały kod: #include <stdint.h> #include <avr/io.h> #include <stdlib.h> #include <avr/interrupt.h> #include "HD44780.h"//radzio #include "TWI.h"//radzio #define PCF8574ADDR 0x20//adres PCF #define MAX_OBR 220 //to daje 0.576ms/kroczek #define PRAWO 1 #define LEWO -1 #define STOP 0 //zmienne globalne...
Właśnie moja nauka zatrzymała się na wyświetlaczu LCD. Mruganie diodami już za mną. Dlatego proszę o pomoc:) Skonfigurowałem dwie biblioteki. Dodałem jako załącznik. Jeśli ktoś może to bardzo proszę o sprawdzenie. Pierwsza to biblioteka ze strony http://radzio.dxp.pl/hd44780/hd44780_avr... Wygląda tak: Pkik HD44780.h //--------------------------------------...
http://obrazki.elektroda.pl/7995180000_1... Witam! Jakiś czas temu rozpocząłem naukę pisania programów na mikrokontrolery AVR w języku C++. Przeczytałem wiele tutoriali, poradników, itp., aż w końcu doszedłem do pisania własnych, prostych programów. Po kilku takich „pseudoprogramach” zdecydowałem, że teraz czas napisać coś...
Witam wszystkich Elektrodowiczów! Otóż mam podłączony alfanumeryczny wyświetlacz LCD 4x20 znaków "LCD-AC-2004H-FIWK/W-E6 C" [opis na wyświetlaczu: "CBC020004H07-FIW-R-01"] (zakupiony w Kamami.pl) oparty na sterowniku Hitachi HD44780 do mikrokontrolera NXP LPC1769 na płytce "LPCXpresso LPC1769 Rev. C 2010" (zakupiony z TME.pl). Komunikację zrealizowałem...
Wcześniej programowałeś w BASCOM? Nigdy, przenigdy w C nie używaj Goto . Od tego są funkcje, instrukcje warunkowe, pętle oraz break i continue: http://mikrokontrolery.blogspot.com/2011... Jak często wykonuje się przerwanie TIMER2_COMP_vect?
Witam, Czy ktoś z Szanownych Kolegów mógłby pomóc mi w konfiguracji lcd w nut/os. Mam mmnet01 z firmy propox na uC ATmega 128 i próbuję wyświetlić cokolwiek na lcd na driverze hd44780 korzystając z "zalet" systemu nut/os w wersji 4.8.9. czyli najnowszej stabilnej. Całość się ładnie kompiluje, komunikacja przez RS232 działa, natomiast problem pojawia...
Witam. Na znanym serwisie aukcyjnym zaopatrzyłem się w wyświetlacze LCD 2x16 znaków które miałybyć kompatybilne z HD44780 jednak nie są. Wyświetlacze to PC1602V-P8 firmy Powertip. Na stronie $regfile = "m8def.dat" 'procesor mega 8 $crystal = 8000000 '8mhz Wait 1 Config Adc = Single , Prescaler = Auto , Reference = Avcc ' ustawienie adc Dim...
To jest problematyczne. Co się stanie, jeśli najpierw wywołasz funkcję z chann 3, a potem z parametrem 0? Najprościej zamiast tego wszystkiego: ADCON0bits.CHS = chann; Stawiam, że należałoby jednak wyrównać do prawej. Co do resetu to w XC8 też można używać wstawek assemblerowych. Czy tak samo to doczytaj w dokumentacji, którą będziesz miał po jego...
Po pierwsze jakie czasy chcesz obliczać i jakie przerwania po co ??? To jest bascom nie assembler, deklarujesz na wstępie programu prędkość kwarcu a kompilator troszczy się o resztę tj. dajesz deklarację $regfile = "m8def.dat" $crystal = 12000000 Po drugie, procedura obsługi wyświetlaczy LCD (mowa tu o alfanumerycznych HD44780) jest w BASCOM zaimplementowana...
Witam Siedzę już drugą noc nad samymi timerami, a termin końcowy oddania projektu się zbliża. Problem wygląda tak, że gdy załączę zezwolenie na przerwanie od timera2 zawiesza się cały program (kratki na wyświetlaczu). Potrzebuje drugiego timera do obliczeń a Timer1 generuje przerwanie co 0,5s w trybie CTC. Kwarc 8MHz. [syntax=cpp] #include "board.h"...
http://obrazki.elektroda.pl/9151953900_1... Założenia projektu: - obsługa wszystkich funkcji dostępnych z klawiszy sterujących magnetofonu, - wyświetlenie nazwy aktualnie wykonywanej funkcji na wyświetlaczu LCD, - wykorzystanie fabrycznego pilota zdalnego sterowania, - zasilanie układu z zasilacza magnetofonu, - możliwość podłączenia...
A po co te cztery zadania? jak tu widzę tylko jedno przerwanie timera PWM, ew. drugie do obsługi LCD łącznie jakieś 200 linii kodu w C, z tego ponad połowa do LCD. W sumie to może wszystkiego nie napisałam ;) ale rzeczywiście nie ma tragedii pewnie. - Task algorytmy - dane wejściowe - bieżąca wartość natężenia światła i zadana wartość natężenia światła,...
Powoli zabieram sie za sterowanie lcd z poziomu uc i tu kolejne kilka pytań. 1. na płytce wyswietlacza mam pin 'e', w nocie sterownika jest on opisany jako: "a start signal for reading or writing data" i pomijany jest w kolenych czesciach specyfikacji. Mam ładnie opisane jakie stany podawać na poszczegolne wejscia dla by uzyskać dany efekt, ale nie...
wyświetlacz hd44780 wyświetlacz timer obsługa wyświetlacz hd44780
zrobić aerograf samsung model matrycy odblokowanie arkusza
Optymalny punkt pracy EL34 w układzie SE Kontrolki świateł i szybkie miganie kierunkowskazu w Audi A3 8P