Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 15 lut 2025, o 22:00


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 14 ] 
Autor Wiadomość
PostNapisane: 23 lis 2016, o 20:35 
Offline
Nowy

Dołączył(a): 23 lis 2016
Posty: 4
Pomógł: 0

Treść zadania:

Dioda D2 ma świecić się przez 0,5 sekundy a następnie, przez tyle samo czasu być zgaszona. Po wciśnięciu przycisku S13, czas migotania diody zmniejsza się o połowę- aż do 5 wciśnięcia, które sprawia że częstotliwość migotania wraca do stanu początkowego. Zadanie ma zostać wykonane z użyciem timerów.

Znajdę tu kogoś kto mi pomoże z tym zadankiem? Nie mogę sobie dać z nim rady, fakt że musi być ono napisane w asemblerze (którego średnio ogarniam) trochę mnie przerasta :/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2016, o 20:46 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27359
Lokalizacja: Szczecin
Pomógł: 1042

A na zaliczenie jakiego to przedmiotu ?

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2016, o 20:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Wolwgang napisał(a):
Dioda D2

Wolwgang napisał(a):
przycisku S13


Ciekawe! ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2016, o 21:20 
Offline
Użytkownik

Dołączył(a): 22 sty 2014
Posty: 1806
Zbananowany użytkownik

Pomógł: 168

Kolega pokaże co sam napisał to pomyślimy :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2016, o 21:33 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

mirekk36 napisał(a):
A na zaliczenie jakiego to przedmiotu ?

Niema znaczenia jakiego, ważne że człowiek który nic nie umie będzie miał świstek, a ludzie którzy są specami tyle że bez papierka, będą jeść szczaw i mirabelki :/

Sorry jeśli kogoś uraziłem...

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2016, o 21:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 lip 2012
Posty: 238
Pomógł: 5

Nefarious19 napisał(a):
Kolega pokaże co sam napisał to pomyślimy :)
Harry napisał(a):
mirekk36 napisał(a):
A na zaliczenie jakiego to przedmiotu ?

Niema znaczenia jakiego, ważne że człowiek który nic nie umie będzie miał świstek, a ludzie którzy są specami tyle że bez papierka, będą jeść szczaw i mirabelki :/

Sorry jeśli kogoś uraziłem...



Szczaw i Mirabelki są bardzo zdrowe... prędzej szpec z papierkiem i wiedzą zerową wykończy się na paskudach(fastfoodach) denerwując się że nie podoła zleceniu...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2016, o 21:50 
Offline
Nowy

Dołączył(a): 23 lis 2016
Posty: 4
Pomógł: 0

Harry napisał(a):
mirekk36 napisał(a):
A na zaliczenie jakiego to przedmiotu ?

Niema znaczenia jakiego, ważne że człowiek który nic nie umie będzie miał świstek, a ludzie którzy są specami tyle że bez papierka, będą jeść szczaw i mirabelki :/

Sorry jeśli kogoś uraziłem...


Zauważ że nie każdy musi programować w asemblerze... są jeszcze inne języki. Proszę, idź wylewać swoje frustracje życiowe gdzie indziej, jeśli nie masz zamiaru wnieść nic konstruktywnego do tematu. Fakt że nie specjalizuję się w asemblerze, nie oznacza że nie umiem żadnego innego języka...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2016, o 21:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 lip 2012
Posty: 238
Pomógł: 5

Wolwgang napisał(a):
Harry napisał(a):
mirekk36 napisał(a):
A na zaliczenie jakiego to przedmiotu ?

Niema znaczenia jakiego, ważne że człowiek który nic nie umie będzie miał świstek, a ludzie którzy są specami tyle że bez papierka, będą jeść szczaw i mirabelki :/

Sorry jeśli kogoś uraziłem...


Zauważ że nie każdy musi programować w asemblerze... są jeszcze inne języki. Proszę, idź wylewać swoje frustracje życiowe gdzie indziej jeśli nie masz zamiaru wnieść nic konstruktywnego do tematu.


Najpierw sam przedstaw konstruktywnie temat ... o co Ci chodzi, jakiś skrawek pracy jaką włożyłeś w to - wtedy napewno nie będzie Ciebie nikt hejtował.

przepraszam :) nie zwróciłem uwagi w jakim dziale jest pytanie...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2016, o 22:07 
Offline
Nowy

Dołączył(a): 23 lis 2016
Posty: 4
Pomógł: 0

Do czego doszedłem:

Kod:
.include "m32def.inc"

ldi R16,0b11111111
out DDRB,R16  //ustawiam port B na wyjście

ldi R16, (1<<WGM01)|(1<<CS02)|(1<<CS00) //włączam preskaler 1024 i tryb CTC
out TCCR1B,R16

ldi R16,0b111110100 //wstawiam 500 binarnie do R16, a potem przekazuje na timer
out OCR0,R16

LOOP:
   rjmp LOOP


W teorii, ten kod powinien sprawiać że dioda po podłączeniu jej do OCR0 będzie migać z częstotliwością 0,5 sekundy. Pozostałoby jeszcze dodanie do tego funkcji zmniejszającej częstotliwość po wciśnięciu przycisku.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2016, o 22:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 mar 2014
Posty: 334
Lokalizacja: Rybnik
Pomógł: 55

Kod:


ldi R16, (1<<WGM01)|(1<<CS02)|(1<<CS00) //włączam preskaler 1024 i tryb CTC
out TCCR1B,R16


Nie wiem, może mamy inne noty, ale ja zawsze myślałem, że CS0x jak i WGM0X tyczy się timera 0, a TCCR1B to timer 1. Ale co ja tam wiem.


Kod:

ldi R16,0b111110100 //wstawiam 500 binarnie do R16, a potem przekazuje na timer
out OCR0,R16


Jak wyżej, ciągle nie wiadomo, czy T0, czy T1 ;)

Wolwgang napisał(a):
Do czego doszedłem:
W teorii, ten kod powinien sprawiać że dioda po podłączeniu jej do OCR0 będzie migać z częstotliwością 0,5 sekundy. Pozostałoby jeszcze dodanie do tego funkcji zmniejszającej częstotliwość po wciśnięciu przycisku.


Hm, tutaj dobre klika lat myślałem, że OCR0 to rejestr, a wyjście mamy OC0 :lol:

I uwaga, tutaj język programowania nie ma znaczenia, liczy się znajomość układu/noty.

Pomóc, jeśli trzeba pomożemy, ale nie licz na gotowca. Musisz dać coś od siebie -a ponieważ to zaliczenie, to musisz dać od siebie bardzo dużo.

_________________
Amatorska stacje meteorologiczna



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2016, o 23:38 
Offline
Nowy

Dołączył(a): 23 lis 2016
Posty: 4
Pomógł: 0

Poprawiona wersja na podstawie tego co napisałeś:

Kod:
.include "m32def.inc"

ldi R16,0b11111111
out DDRB,R16  //ustawiam port B na wyjście

ldi R16, (1<<CS10)|(1<<CS12) //włączam preskaler 1024 i tryb CTC
out TCCR1B,R16

ldi R16,0b111110100 //wstawiam 500 binarnie do R16, a potem przekazuje na timer
out OCR1A,R16

LOOP:
   rjmp LOOP


Teraz powinno włączać już timer1 w trybie CTC zamiast timera 0, wraz z preskalerem 1024 i poprawnie przekazywać na wyjście. Podłączenie to dioda z wyjściem OC0.
Sam mocno piszę w C#, raczej apki mobilne i internetowe, dlatego walka z mikrokontrolerami to ciężka zabawa xD Teraz jeśli dobrze ogarnąłem twoje sugestie to samo miganie powinno już działać.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2016, o 23:49 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27359
Lokalizacja: Szczecin
Pomógł: 1042

Wolwgang napisał(a):
ldi R16,0b111110100 //wstawiam 500 binarnie do R16

a 500 zmieści się jak rozumiem, wg ciebie w 8 bitach tak ?

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2016, o 23:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 mar 2014
Posty: 334
Lokalizacja: Rybnik
Pomógł: 55

Kod:
ldi R16, (1<<CS10)|(1<<CS12) //włączam preskaler 1024 i tryb CTC
out TCCR1B,R16


Na pewno to nie jest CTC
Obrazek

Wolwgang napisał(a):

Teraz powinno włączać już timer1 w trybie CTC zamiast timera 0, wraz z preskalerem 1024 i poprawnie przekazywać na wyjście. Podłączenie to dioda z wyjściem OC0.
Sam mocno piszę w C#, raczej apki mobilne i internetowe, dlatego walka z mikrokontrolerami to ciężka zabawa xD Teraz jeśli dobrze ogarnąłem twoje sugestie to samo miganie powinno już działać.


Dla timer1 wyjściem byłby OC1A lub OC1B
Ale i tak samo nic się nie stanie, znowu nota się kłania:
Obrazek

Nie znając nawet częstotliwości taktowania, skąd mamy wiedzieć, co ile będzie przerwanie wróżenie z fusów.
Wpierw podstawy, potem pisanie programów.

_________________
Amatorska stacje meteorologiczna



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lis 2016, o 14:11 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2594
Pomógł: 128

I może na początek napisz to w C, żebyś zrozumiał idee fix?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 14 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO