witam jestem nowy ,świeżak:)))
mama takie pytanie ,podjąłem się zrobienia na razie takiej małej matrycki
to jest 5x5 . ta na początek
doszedłem do tego jak np.wyświetlić literkę,znaczek itp.
ale problem w tym że chciałbym mieć możliwość zmiany
wyświetlanych znaków , to jest ręcznie lub w okresie jakiegoś czasu
poniżej zamieszczam kod.
proszę o jakąś poradę, jestem nowy tak jak mówiłem ,znalazłem tą stronkę
i bardzo mi odpowiada :)) jest super;)
proszę o jakieś pierwsze odpowiedzi
dziękuję serdecznie
ten kod wyświetla akurat znak " X "
$regfile = "m8def.dat"
$crystal = 8000000
Config Portd = Output : Portd = 16
Config Portc = Output : Portc = 0
Dim C As Byte : C = 0
Dim A As Byte : A = 0
Do
Portc = 0
Incr A
If A = 5 Then A = 0
Portc = Lookup(a , Slupki)
Incr C
If C = 5 Then C = 0
Portd = Lookup(c , Tabela)
Waitms 4
Loop : End
Slupki:
Data 1 , 2 , 4 , 8 , 16
Tabela:
Data 14 , 21 , 27 , 21 , 14
Re: Program matryca
Jeśli jesteś nowy to: Kod umieszcza się w znaczniku do kodów, w przypadku bascoma jest to przycisk "bas", a jak chcesz zmienić dział w którym napisałeś to przy okazji edycji postu powinno się to dac zrobić.
Co do programu to jest wporządku ale tylko na początek. Modyfikacje które powinieneś wykonać to:
1. Uruchmienie timera z przerwaniem co 4ms aby pozbyc się waitms
2. Nie potrzebujesz w ogóle zmiennej C, wystarczy że dwie tabelki będą miec lookup według zmiennej A
3. Zamist tabelki "Tabela" ja dałbym zmienna tablicową 5 bajtów i potem zajął się Rs232, którym przesyłał te 5 bajtów odpowiadających za znak
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.
matrycka
dzięki wielki kolego:)
następnym razem zastosuje się do wskazówek odnośnie wpisywania kodu.
ale mam jeszcze jedno pytanko ,o nie bardzo rozumiem tego z tym timerem
tzn nie bardzo wiem jaką ma mieć wartośc jak go obliczyć ,wiem że trzeba jaąś wartość wpisać(nie uważałem na tej lekcji))
napisałeś też o dodaniu zmiennej tablicowej , nie bardzo kumam , a co do Rs232 to jeszcze trochę muszę się podszkolić:))
czy istnieje jaki inny sposób na ten mój wynalazek:))
jakieś obejście na razie tego sposobu na Rs232.
jak widać mam w tej chwili trochę ograniczone wiadomości:))
dzięki za te cenne porady i wiadomości ,postaram się nie nudzić za barzo swoimi pomysłami
pozdrawiam serdecznie
evil0
Re: Timer
Timer jest w miare prosty:
Konfiguracja (na początku programu najlepiej przed deklaracją zmiennych) timera 0 z preskalerem 256 i procedurą obsługi przerwania Prztimer0
procedura obsługi przerwania, na końcu programu, poza pętlą do loop. Bedzie sie wykonywała z czestotliwością 8000000(kwarc)/256(preskaler)/250(ilość impulsów timera, bo na początku wpisujemy 6 a liczy on do 256) = 125Hz. Procedura wykona się co 8ms, potem możesz sobie dzielniki na zmiennej wykonać
Zamiast tabeli na końcu programu która jest stałą możesz dać na początku
a pote do każdej z komórek możesz przypisac wartość tak:
a wypisywanie zmodyfikujesz:
plus jest taki że w każdym momencie programu możesz zmienić zawartość tablicy tab a znak sie automatycznie zmieni. Więc jak oprogramujesz rs232, a jest to banalne w bascomie (poczytaj o poleceniu inkey, ischarwaiting itp). To wysylając z komputera 5 wartości i zapisując je do Tab uzyskasz możliwość sterowania wskazaniem z kompa
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.
timer
ok . łapie już ,ale jeszcze jedno
mam rozumieć że pętla
bedzie pusta tak ?
wszyskie te polecenia wykonywane są w przerwaniu timera0 ,tak?
i jak rozumiem zmienna tab(5) może mieścić tylko 5 wartości czyli przykładowo 5 różnych znaków
gdzie umieścić te polecenie
itd
przepraszam ciężko ze mną trochę
podziwiam twoją cierpliwość i wiedzę
masz tu ze mna mękę
jeszcze raz wielkie Dziękuję
pozdrawiam
Re: timer
Popatrz na ten program, cała zmienna tablicowa tab (5 bajtów), przechowuje cały twój jeden znak wyświetlany na matrycy. Wystarczy że podczas odbierania danych np z rs232 ustawisz sobie wartości w tej tablicy a zmieni sie automatycznie znak wyświetlany.
Co do przerwania to akurat nic by się nie stało jakby multipleksowanie było bezpośrednio w przerwaniu, jednak pamiętaj na przyszłość aby obsługa timera miala mozliwe najprostszy kod. Pamiętaj że się on czesto wykonuje i może zapchac procesor jesli przerwania występują częściej niz potrzeba czasu na ich wykonanie
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.
timer
Dziękuję bardzo ,biore się popołudniu do roboty
dam znać jak i co poszło:)
pozdrawiam.
timer
mirley.
chodzi o t że te znaki są pojedyńczo wyświetlane
i to są pojedyńcze bity
chodzi o to żeby to było załóżmy 5 znaków
ewentualnie liter
i tak jak poprzednio pisałem , czy tylko 5 zmiennych może być wpisanych czy więcej
to jest przykładowo zmienna 14 potem 27 wyświetli kolejno pojedyńczo kawałek znaku
nie cały (w tym przypadku znak X )
o to chodzi:))
Re: Matryca
Masz matrycę skladającą się z 5 wierszy, lub kolum, jak tam wolisz bo ie wiem jak dokładnie na schemacie podłączyłeś. W każdym bądź razie aby wyświetlić jeden znak potrzebujesz 5 zmiennych bajtowych z których każda określa jeden wiersz lub jedną kolumną (zależy od schematu). Żeby wyswietlać 2 znaki to trzeba by było miec 10 zmiennych, ale to bez sensu. Lepiej to zakodować ale nad tym trzeba pomysleć
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.
matryca
dzięki kolego.
narazie daję spokój sobie z tym zadaniem
to mnie przerasta!!
rzeczywiście trzeba pomyśleć:)):))
pozdrawiam
matryca :(
witam Mirku.
wstyd powracać do tematu ale odnośnie tej a'la matrycki
myślałem o czymś takim ,żeby (nie wiem czy się da)
można było zmienić coś na tym wyświetlaczu
za pomocą przycisku,ustawić jakiś bit do obsługi przycisku
i za jego pomocą zmieniać dane wysyłane z portu na matrycke
tylko jak to ustawić , jak podać znak w całości?
nie mam już pomysłu a wiedzą jestem jeszcze słaby.
ktoś powiedział"żeby pisać,trzeba pisać"
nie poddaje się i w miarę wolnej chwili trenuję:)
odnośnie wątku to co o tym myślisz?
czy jest to możliwe,myślałem o czymś w rodzaju kostki do gry lub co na podobe
z góry dzięki za zainteresowanie
i pozdrawiam
Re: Przycisk
Na początek zmień konfiguracje pinów, zamiast same output trzeba gdzieś dać wejście:
Kolejne cyfry w wartości &B11111111 odpowiadają za funkcje kolejnych pinów 7.....0, wstawienie 0 zamiast 1 w liczbie &B11111111 powoduje ustawienie danego pinu za wejście.
W fragmencie widocznym poniżej dopisujesz przycisk i modyfikujesz linijkę z port D:
Najprostsza kostka do gry:
w miejscu reakcji przycisku napiszesz coś podobnego ja niżej:
Wartośći w kolejnych case musisz sobie zmienic tak żeby wyświetlać odpowiednie znaki na kostce
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.
matrycka
dziękuję za wyczerpującą odpowiedz
wpisałem wszystkie zmiany w/g powyższego przykładu
DZIAŁA, wszystko super. dalej myślę sam
dzieki raz jeszcze
pozdrawiam