FAQ | Points | Add... | Recent posts | Search | Register | Log in


Analizator RC5 w Bascom


Post new topic  Reply to topic      Main Page -> Forum Index -> Microcontrollers Generally -> Analizator RC5 w Bascom
Author
Message
Requan
Poziom 11
Poziom 11


Joined: 30 Jul 2002
Posts: 66
Location: Kwidzyn

Post#1 Post from the author of the topic 14 Feb 2003 12:01   

Analizator RC5 w Bascom


Witam!
W wykladzie 3 (cwiczenie 3:"Analizator kodu RC5") byl napisany program:
Dim Kod As Bit
Dim Command As Byte , Subaddress As Byte
Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.3 , Rs = Portc.2 'konfiguracja wyprowadzeń wyświetlacza LCD
Config Lcd = 16 * 2
$crystal = 8000000
reset Tcon.0
On Int1 Rc5
Enable Interrupts
Cls
Lcd "Waiting for RC5"
Cursor Off
Do
If Kod = 1 Then
Disable Int1
Cls
Lcd "Com: " ; Command ; ",Adr:" ; Subaddress
Kod = 0
Enable Int1
End If
Loop

Rc5:
Getrc5(subaddress , Command)
Kod = 1
Return

Nie da sie go skompilowac bo kompilator(i slusznie) przyczepia sie do linijki: reset Tcon.0
Zamienilem ta linijke na :Config Rc5 = Pind.3,program sie skompilowal ale nie reaguje na piota.Teraz nie wiem czy moje dwa piloty(tv i video) nie pracuja w kodzie RC5 czy to wina programu.Jesli komus dzialal ten program to prosze o uwagi.
pozdrawiam
Back to top
   
Sind
Poziom 14
Poziom 14


Joined: 03 Feb 2003
Posts: 182

Post#2 16 Feb 2003 23:22   


jak chcesz to moge ci podeslac w pelni dzialajacy program do analizatora RC5, ale zwroc uwage ze w twoim jest maly blad poniewaz nie zalaczyles przerwania int1, przed Enable Interrupts wpisz Enable int1 i sprobuj wtedy
Back to top
   
Requan
Poziom 11
Poziom 11


Joined: 30 Jul 2002
Posts: 66
Location: Kwidzyn

Post#3 Post from the author of the topic 17 Feb 2003 12:25   


Witaj!!!
Fakt nie zauwazylem.
Powiem Ci jednak smieszna rzecz-po wlaczeniu przerwania program laduje sie z bledami (napis wyglada tak:"Wai_") nie wiem skad sie to bierze ale nieraz jak cos jest nie tak w programie to mi cuda wychodza.
Jesli mozesz to bardzo bym prosil o ten program: tektrom(malpa)poczta.fm
pozdrawam
Back to top
   
Sind
Poziom 14
Poziom 14


Joined: 03 Feb 2003
Posts: 182

Post#4 17 Feb 2003 19:59   


jeszcze jedno pytanie jakiego wyswitlacza uzywasz? chodzi mi o ilosc kolumn i wierszy
Back to top
   
Google

Google Adsense


Post# 17 Feb 2003 19:59   





Back to top
   
Requan
Poziom 11
Poziom 11


Joined: 30 Jul 2002
Posts: 66
Location: Kwidzyn

Post#5 Post from the author of the topic 17 Feb 2003 21:53   


2*16
Back to top
   
Sind
Poziom 14
Poziom 14


Joined: 03 Feb 2003
Posts: 182

Post#6 18 Feb 2003 00:23   


wiesz co opublikuj tu jeszcze raz swoj poprawiony listing, to zobaczymy co sie da zrobic
Back to top
   
Requan
Poziom 11
Poziom 11


Joined: 30 Jul 2002
Posts: 66
Location: Kwidzyn

Post#7 Post from the author of the topic 18 Feb 2003 14:43   


Dim Kod As Bit
Dim Command As Byte , Subaddress As Byte
Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.3 , Rs = Portc.2 'konfiguracja wyprowadzeń wyświetlacza LCD
Config Lcd = 16 * 2
$crystal = 8000000
$regfile = "8515def.dat"
Config Rc5 = Pind.3

On Int1 Rc5
Enable Int1
Enable Interrupts


Cls
Lcd "Waiting for RC5"
Cursor Off
Do
If Kod = 1 Then
Disable Int1
Cls
Lcd "Com: " ; Command ; ",Adr:" ; Subaddress
Kod = 0
Enable Int1
End If
Loop

Rc5:
Getrc5(subaddress , Command)
Kod = 1
Return


Nie wiem czy nie trzeba zdefiniowac poziomu przerwania
Back to top
   
Veteran
Poziom 15
Poziom 15


Joined: 28 Oct 2002
Posts: 224
Location: Lodz

Post#8 22 Feb 2003 12:12   


Mialem ten sam problem. Wszystko jest w porzadku, jezeli korzysta sie z Bascoma wersja: Spetial Edition for Elektronika Praktyczna. W nowszych w miejscu o ktorym mowisz kompilator wskazuje blad, ale nie wiem dlaczego tak sie dzieje.

Bascom w tej wersji jest do sciagniecia ze strony Elektroniki Praktycznej. Powinno dzialac.

Pozdrawiam
Back to top
   
jasiekz
Poziom 13
Poziom 13


Joined: 26 Feb 2003
Posts: 128
Location: Lubliniec

Post#9 26 Feb 2003 17:15   


A może byście się zastanowili nad kupnem pełnej wersji bascoma i znikna wasze kłopoty z oprogramowaniem.Jak kupujecie procki to przecież wydatek na pełna wersję nie jest duży w porównaniu do reszty. i mozecie cały czas aktualizowac za darmo.
Back to top
   
Requan
Poziom 11
Poziom 11


Joined: 30 Jul 2002
Posts: 66
Location: Kwidzyn

Post#10 Post from the author of the topic 26 Feb 2003 19:09   


Dzieki za wszystkie posty.
W programie brakowalo : Reset Gimsk.6 ,bo zapomnialem dodac ze chodzi tu o 8515.
Jeszcze raz dziekuje
Back to top
   
Yoshi_80
Poziom 18
Poziom 18


Joined: 10 Jan 2003
Posts: 546
Location: Żary

Post#11 28 Feb 2003 00:48   


Witam !!!

Podłacze sie do tematu bo też mam mały problem z RC5 . Mianowicie po wywołaniu przerwania wykonywana jest procedura w której wywołuje funkcję Getrc5 (ardes,kod) . I tu się zaczyna lipa ,procesor się zatrzymuje na tym poleceniu. Co prawda traktuję go pilotem który nie nadaje w kodzie RC5 ale to nie powinno mieć znaczenia (w sumie chcialem sprawdzić czy mi odbiornik dobrze działa). Dlaczego on się zawiesza na tej komendzie ,przecież to bez sensu ,żeby on mógł odbierać tylko i wyłacznie w kodzie RC5 ,bo przecież zawsze się może zdarzyć ,że dotrze do odbiornika sygnał z innego pilota .

HELP!
Back to top
   
Google

Google Adsense


Post# 28 Feb 2003 00:48   





Back to top
   
jasiekz
Poziom 13
Poziom 13


Joined: 26 Feb 2003
Posts: 128
Location: Lubliniec

Post#12 28 Feb 2003 10:43   


Niektóre komendy w bascomie są komendami oczekującymi na zdarzenie i jeżeli nic nie będzie to tak jakby procesor się zawieszał i się pętli w danej procedurze. Należy w takich przypadkach stosować jakiś timer aby jeżeli coś nie wystąpiło w żądanym przez ciebie czasie to wyszedł z tej procedury. w przerwaniu jak najkrócej napisz program możesz np. w zależności od wartości jakiejś zmiennej wykonać odpowiedni skok do podprogramu i sprawa załatwiona. tylko pilnuj stosu bo te procedury odkładają na niego tymczasowe dane. Czyli przed ta procedurą odczytaj stos i po skoku przepisz go ponownie ale musisz uważać jeżeli masz jeszcze inne przerwania żeby go nie wywalić.
Back to top
   
Google

Google Adsense


Post# 28 Feb 2003 10:43   





Back to top
   
Yoshi_80
Poziom 18
Poziom 18


Joined: 10 Jan 2003
Posts: 546
Location: Żary

Post#13 02 Mar 2003 02:00   


:arrow: jasiekz jakoś nie moge soebie tego wyobrazić z tym timerem. Jeżeli nawet zostanie wywołane przerwanie timera to wykona sie jakaś tam funkja a potem program powróci do tego miejsca gdzie był przed przerwaniem czyli do pętlenia się. Nie wiem jakim sposobem funkcja wywoływana przerwaniem timera miałaby przenosić działanie programu w inne miejsce ... jeżeli nawet no to jeszcze ten stos ...
Jeżeli możesz to powiedz coś więcej na ten temat bo nie wiem na razie jak to napisać.
Back to top
   
jasiekz
Poziom 13
Poziom 13


Joined: 26 Feb 2003
Posts: 128
Location: Lubliniec

Post#14 02 Mar 2003 12:30   


...
dim funkcja_zegar as byte
On Ovf1 zegar1 ' adres procedury timera
Enable Ovf1
...
...

zegar1:
if funkcja_zegar=1 then ' jeżeli skok zadany1 to wykonaj skok do labela
rjmp skok1 ' skok1
end if '
if funkcja_zegar=2 then
rjmp skok2
end if
return

Tcnt1h = 110 ' ustawienia zegara
Tcnt1l = 0 '
Tccr1a = 0 '
Tccr1b = 3 '
funkcja_zegar=1
'twoja procedura

skok1:
' dalsza część programu

*******************************************
tylko pamiętaj że maksymalny skok rjmp to 4k pamięci jeżeli twoja procedura jest dalej to musisz wykonać dodatkowy podskok

rjmp dalej i możesz umieścić taką wstawkę w dowolnym miejcu programu
i nie zabuży ci go. tylko zamień w timerze rjmp skok1 na rjmp skok1_1
*******************************************
rjmp dalej
skok1_1:
rjmp skok1
dalej:


i jeżeli jesteś pewny że nie uruchamia ci się w tym czasie inna procedura lub nie przechowujesz czegoś na stosie to mozesz wykasować stos
wstawką Sph = 4 Spl = $5f ( dla 16k flash, dla 8k sph=2 .. dla 4k sph=1 ...)

ja stosuję to w swoich programach i wszystko działa dobrze. (piszę programy na procesory zawodowo)
Jak jeszcze jakieś pytania to pisz :idea:
Back to top
   
Yoshi_80
Poziom 18
Poziom 18


Joined: 10 Jan 2003
Posts: 546
Location: Żary

Post#15 02 Mar 2003 13:37   


Dzięki jasiekz :D .Ja jestem jeszcze początkowym userem bascoma i z tego niewiele rozumiem ale na spokojnie to wezme po wypiciu kawy :) . Na pewno dam znać jak mi coś nie wyjdzie.
Back to top
   
jasiekz
Poziom 13
Poziom 13


Joined: 26 Feb 2003
Posts: 128
Location: Lubliniec

Post#16 02 Mar 2003 18:39   


zapomniałem ci napisać że ieżeli używasz procedury sub to lepiej przed uruchomieniem twojej funkcji odczytać stos i po skoku zapisać tę wartość przed dalszą częścią programu abyś mógł wrócić z niej do normalnej pracy programu

...
call procedura 'skok programowy do podprogramu i po wykonaniu powrót
... ' bo jeżeli wykasujesz to nie wróci do tego miejsca
Back to top
   
mario832
Poziom 16
Poziom 16


Joined: 18 Jul 2007
Posts: 329
Location: warszawa

Post#17 08 Jul 2008 14:44   

Re: Analizator RC5 w Bascom


Co by trzeba było zmienić w programie by działał pod wyświetlacz z jedną linijką, a konkretnie pod LCD1601 ???
Back to top
   
don diego
Poziom 22
Poziom 22


Joined: 23 Feb 2006
Posts: 1517
Location: Rumia

Post#18 08 Jul 2008 14:55   

Re: Analizator RC5 w Bascom


Podłączyłeś wyświetlacz i nie działa, tak?
Może zmień tutaj:
Code:
Config Lcd = 16 * 2

na
Code:
Config Lcd = 16 * 1

Back to top
   
mario832
Poziom 16
Poziom 16


Joined: 18 Jul 2007
Posts: 329
Location: warszawa

Post#19 10 Jul 2008 16:53   

Re: Analizator RC5 w Bascom


nie pomogło wyświetla tylko jedną linijkę, a konkretnie non stop 255 ,nie podaje adresu ;( Sprawdzałem podłączenie kilka razy i jest wpożądku. Może cza by jakoś mu kazać żeby najpierw wyświetlił 255, zmazał wartość i potem wyświetlił adres i tak w kółko??? ,nie wiem.
Back to top
   
ZbeeGin
Poziom 23
Poziom 23


Joined: 22 Apr 2002
Posts: 2625
Location: 50°19'N 18°55'E

Post#20 10 Jul 2008 21:24   

Re: Analizator RC5 w Bascom


mario832 wrote:
Co by trzeba było zmienić w programie by działał pod wyświetlacz z jedną linijką, a konkretnie pod LCD1601 ???


Code:
Config LCD = 16 * 1a


A pisze o tym w helpie.
Back to top
   
mario832
Poziom 16
Poziom 16


Joined: 18 Jul 2007
Posts: 329
Location: warszawa

Post#21 11 Jul 2008 14:50   

Re: Analizator RC5 w Bascom


Jeszcze jedno pytanko ,dużo by trzeba zmienić w programie by działał pod ATTINY2313.
Back to top
   
Balu
Poziom 24
Poziom 24


Joined: 02 Mar 2003
Posts: 4373
Location: Będzin / Gliwice

Post#22 11 Jul 2008 18:39   

Re: Analizator RC5 w Bascom


Trochę by trzeba :P
Back to top
   
mario832
Poziom 16
Poziom 16


Joined: 18 Jul 2007
Posts: 329
Location: warszawa

Post#23 15 Jul 2008 17:02   

Re: Analizator RC5 w Bascom


Udało się ,zrobiłem swój pierwszy analizator RC5 ,coprawda na AT89C2051 ,bo było mi łatwiej ,ale zrobiłem ,oto kod:

Code:
$crystal = 11059000
$regfile = "89c2051.dat"

Dim Kod As Bit
Dim Command As Byte , Subaddress As Byte
Config Lcd = 16 * 1a
Reset Tcon.0
On Int0 Receiverc5
Enable Int0
Enable Interrupts
Cls
Lcd "Waiting for RC5"
Cursor Off
Do
 If Kod = 1 Then
   Disable Int0
      Cls
Lcd "Com:" ; Command ; ",Adr:" ; Subaddress
  Kod = 0
  Enable Int0
  End If

Loop

Receiverc5:
 Getrc5(subaddress , Command)
 Kod = 1
Return


Mam tylko pytanko do ekspertów ;) ,czy to normalne jak naciskam na pilocie przykładowo 5 to adress jest 0 ,potem jeszcze raz 5 to adress 32 i tak przy wszystkich guzikach raz adress ma 0 ,raz 32 ,na przemian to czhyba normalne, no chyba że sie walłem w programie.

Może mi ktoś wyjaśnić dlaczego tak jest z tm 0 i 32??? ;)
Back to top
   
ZbeeGin
Poziom 23
Poziom 23


Joined: 22 Apr 2002
Posts: 2625
Location: 50°19'N 18°55'E

Post#24 15 Jul 2008 22:21   

Re: Analizator RC5 w Bascom


Kod RC5 przewiduje tzw. Toggle Bit. Jeśli ponownie naciskasz ten sam klawisz to bit 6 zmienia stan na przeciwny by odróżnić, że kod nie jest wysyłany stale tylko jest to kolejne naciśnięcie klawisza.

Dlatego w helpie w przykładach jest napisana instrukcja maskująca ten bit.
Back to top
   
ciapciok
Poziom 18
Poziom 18


Joined: 05 Apr 2004
Posts: 481
Location: Opole

Post#25 15 Jul 2008 22:23   

Re: Analizator RC5 w Bascom


:arrow: mario832
Jakiego czujnika podczerwieni użyłeś ? Ja próbuję w Bascom AVR z czujnikiem TSOP1730 i nic mi nie wychodzi. W helpie wspominali o TSOP1736(SFH506/7), może to dlatego.

Pozdrawiam
Back to top
   
ZbeeGin
Poziom 23
Poziom 23


Joined: 22 Apr 2002
Posts: 2625
Location: 50°19'N 18°55'E

Post#26 15 Jul 2008 22:39   

Re: Analizator RC5 w Bascom


Nie ta częstotliwość filtra. Ty masz 30kHz a potrzebna jest 36kHz. Tam są dość strome zbocza.

Analizator RC5 w Bascom
Back to top
   
Google

Google Adsense


Post# 15 Jul 2008 22:39   





Back to top
   
mario832
Poziom 16
Poziom 16


Joined: 18 Jul 2007
Posts: 329
Location: warszawa

Post#27 15 Jul 2008 22:42   

Re: Analizator RC5 w Bascom


Mam TSOP1736, ale tu UWAGA:

on ma na 1 nóżce mase , 2 noga +5V ,a 3 to OUTPUT

(w przeciwieństwie do TFMS5360, gdzie wszędzie widziałem że podłączali go na odwrót ,czyli 2 masa ,a 1 +5V )

Też się na tym przejechałem, pozdrawiam. ;)
Back to top
   
ciapciok
Poziom 18
Poziom 18


Joined: 05 Apr 2004
Posts: 481
Location: Opole

Post#28 15 Jul 2008 23:12   

Re: Analizator RC5 w Bascom


W sklepie kupiłem TSOP1736, a teraz, po dwóch dniach odczytałem na obudowie co innego. Szkoda, bo straciłem w takim razie 4zł, a czujnika nie wymienie, bo w tym już powyginałem wyprowadzenia.

Ale w tym temacie wwwmajor użył TSOP1730 i mu działało:
http://www.elektroda.pl/rtvforum/topic255537.html

Pozdrawiam
Back to top
   
Balu
Poziom 24
Poziom 24


Joined: 02 Mar 2003
Posts: 4373
Location: Będzin / Gliwice

Post#29 15 Jul 2008 23:17   

Re: Analizator RC5 w Bascom


Bo to zależy od nośnej w pilocie...To raz, dwa one mają te filtry nie takie znów strome, więc może i coś łapało, ale na pewno nie dzialało to tak jak by można chcieć...
Back to top
   
ciapciok
Poziom 18
Poziom 18


Joined: 05 Apr 2004
Posts: 481
Location: Opole

Post#30 15 Jul 2008 23:25   

Re: Analizator RC5 w Bascom


Podłączyłem diode LED pod wyjście TSOPa i mruga ona po naciśnięciu przycisku ;) Coś tam odbiera. Jutro zacisnę zęby i z bólem kupię poprawną wersję.

Pozdrawiam
Back to top
   
Post new topic  Reply to topic      Main Page -> Forum Index -> Microcontrollers Generally -> Analizator RC5 w Bascom
Page 1 of 2 Go to page 1, 2  Next
Similar topics
BASCOM, atmega8, RC5 (12)
komunikacja Rc5 bascom (4)
rc5 bascom 2051 (9)
rc5 bascom pilot (4)
Bascom i RC5 (2)
Jak odczytać kodu RC5? Dekodowanie RC5 w Bascom (34)
[ATMEGA32] [BASCOM] Analizator Widma Akustycznego 2x24 + RC5 (4)
[bascom] Nadajnik kodu RC5 (8)
rc5, avr, bascom - problem (11)

Page generation time: 0.183 seconds


FAQ || Administrator || Moderators || Widgets and banners || Contact
elektroda.pl topic RSS feed