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



Teraz jest 27 lut 2025, o 15:00


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 26 mar 2015, o 17:13 
Offline
Nowy

Dołączył(a): 10 sty 2015
Posty: 4
Pomógł: 0

Panowie nie rozumiem co się dzieje. Mam zestaw uruchomieniowy ATB 1.04. Uczę się obsługi wyświetlacza 7 segmentowego. Moje pytanie dlaczego segment A cały czas świeci mimo, że jest stan wysoki na pinie, który za niego odpowiada.
Poniżej plik main.c

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 mar 2015, o 17:28 
Offline
Moderator zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 3216
Lokalizacja: Kraków - obok FAB5 ATMEL'a
Pomógł: 91

No dobrze ale jak go podłączyłeś?

_________________
http://www.jaglarz.info



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 mar 2015, o 17:36 
Offline
Nowy

Dołączył(a): 10 sty 2015
Posty: 4
Pomógł: 0

Nie bardzo rozumiem o co pytasz. W komentarzu napisałem, że chodzi o segment A oraz 1 pozycje wyświetlacza (jest ich 4).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 mar 2015, o 17:58 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 16 lut 2014
Posty: 96
Lokalizacja: Łódź
Pomógł: 6

Podłącz pin od pozycji do jednego z wyprowadzeń masy. Potem podłącz pin odpowiadający segmentowi A do wyprowadzenia masy. Oczywiście bez łączenia wyświetlacza w jakikolwiek sposób z prockiem.

Jeśli się świeci to zmień kabelkiem numer pozycji i posprawdzaj tak wszystkie pozycje. Czy pin świeci się w każdej pozycji?

Potem podłącz kabelek od segmentu A do VCC i sprawdź, czy się świeci. Sprawdź, czy świeci się na każdej pozycji.


To raczej mało prawdopodobne, by wyświetlacz był uszkodzony w taki sposób, by segment A świecił się przy stanie wysokim.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 mar 2015, o 18:02 
Offline
Moderator
Avatar użytkownika

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

a co ten program w pierwszym poście ma wg ciebie robić? bo wg mnie - dzięki temu programowi jeśli podłączyłeś segment A to MA ON ŚWIECIĆ ;) tyle że jest sterowany PWM mniej więcej 50% więc świeci w połowie

Masz pan kabelki połączeniowe ? to podłącz sobie obydwa do GND a potem do VCC i sprawdź że raz zaświeci a raz zgaśnie - wtedy będziesz wiedział że robisz babola w porgramie

_________________
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: 26 mar 2015, o 18:43 
Offline
Użytkownik

Dołączył(a): 18 kwi 2013
Posty: 181
Lokalizacja: Kraków
Pomógł: 30

Ja tylko podpowiem od siebie, że ta pętla while(1) tak szybko zasuwa, że nie zobaczysz nic innego jak lekkie przygaszenie segmentu. Tak jak napisał Mirek - to taki prosty PWM. Jak chcesz zobaczyć zapalanie i gaśnięcie to musisz między te instrukcje w pętli wstawić opóźnienie czyli _delay_ms(1000); (tu przykładowo 1000ms czyli 1 sek)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 mar 2015, o 18:54 
Offline
Nowy

Dołączył(a): 10 sty 2015
Posty: 4
Pomógł: 0

Panowie może mam dzisiaj gorszy dzień i nie pojmuje prostych rzeczy. Zdaje sobie sprawę, że wypełnienie PWM wynosi 50% w tym programie, ale która linijka kodu pokazuje, że segment jest włączony ? Wyświetlacz zostaje włączony po tym PORTA |= (1<<PA0); poleceniu, a ono przecież oznacza stan wysoki na pinie czyli wyłączenie segmentu. Dzięki za cierpliwość.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 mar 2015, o 19:38 
Offline
Użytkownik

Dołączył(a): 04 cze 2013
Posty: 517
Pomógł: 26

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Cytuj:
Wyświetlacz zostaje włączony po tym PORTA |= (1<<PA0); poleceniu, a ono przecież oznacza stan wysoki na pinie czyli wyłączenie segmentu. .


jak doszedłeś do takich wniosków ?

_________________
Przewodnik|Sterownik akwariowy



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 mar 2015, o 20:21 
Offline
Moderator
Avatar użytkownika

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

matekogon napisał(a):
Cytuj:
Wyświetlacz zostaje włączony po tym PORTA |= (1<<PA0); poleceniu, a ono przecież oznacza stan wysoki na pinie czyli wyłączenie segmentu. .


jak doszedłeś do takich wniosków ?


Nie wprowadzajmy zamieszania - wystarczy zajrzeć do schematu zestawu ATB żeby zobaczyć że włączenie segmentu wymaga podania STANU NISKIEGO zarówno na katodę segmentu A jak i na sygnał do wspólnej anody (bo jest tranzystor PNP po drodze)


A do autora - więc rozumiem, że masz słabszy dzień ale weź sobie przykład z rozdziału do migania diodą LED i to w ten sposób pomigaj sobie stanem segmentu ;) będzie ci on służył za diodę LED

_________________
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  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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