ses kaynağı seçici

Başlatan एक होना, 17 Mayıs 2014, 20:30:59

OG

#15
http://www.dosya.tc/server30/QCeTg3/ses_switch.rar.html

Bir yarıiletken switch kullandığınızda bütün kaynakların GND lerini birleştirmek zorundasınız. Sıkıntı burada. Röle kullanılmasını özellikle önerdim.
Farklı ortamlardan gelen sesler GND uyumsuzluğu sebebiyle ciddi HUMM'a sebep oluyor. Ve bunu çözemez, ancak Humm filitre trafoları kullanması gerekir. Basit 600:600 trafolarıda kullanabilir ama frekans karakteristiği HF için uygun değil.

Role kullandığınızda kullanılmayan kaynağın GND sini de ayırmış olacaksınız.

İlla yarıiletken kullanacağım diyorsanız piyasada bulunan tipler var TDA1029 gibi
http://pdf1.alldatasheet.com/datasheet-pdf/view/19169/PHILIPS/TDA1029.html

;-------------------------------------------------------------------------------
;**** Added by Fuse Configurator ****
; Use the Fuse Configurator plug-in to change these settings

Device = 16F628A

Config FOSC_INTOSCIO, WDTE_ON, PWRTE_OFF, MCLRE_OFF, BOREN_OFF, LVP_OFF, CPD_OFF, CP_ON

;**** End of Fuse Configurator Settings ****
;-------------------------------------------------------------------------------

Xtal = 4 
All_Digital = true



OPTION_REG=%00001111    ' 
INTCON=0 

PORTB=0
PORTA=0      
TRISA   = %00111100                     ; 
TRISB   = %00001111
PORTB=0
PORTA=0 

CMCON=7


Dim secilen_role As Byte
Dim secilen_role_hafiza As Byte

Dim giris_deger As Byte
Dim x As Byte

Dim ROLE_1 As PORTB.7 
Dim ROLE_2 As PORTB.6 
Dim ROLE_3 As PORTB.5 
Dim ROLE_4 As PORTB.4       


Dim LED_1 As PORTA.6 
Dim LED_2 As PORTA.7 
Dim LED_3 As PORTA.0 
Dim LED_4 As PORTA.1



EData 1     ''' çekilen son role kaydı



DelayMS 500
Clrwdt


GoTo BASLA  

''''''''''''''''''
BASLA: 
    secilen_role = ERead 0
    secilen_role_hafiza = secilen_role
    GoSub role_sur_2
    
buton_takip:
    DelayMS 1
    Clrwdt
    
    giris_deger = PORTB & %00001111
    If giris_deger = 15 Then buton_takip       '' basılmamışsa
    
    If giris_deger.0 = 0 Then                   ''' buton 1 basılı iken
        If giris_deger <> 14 Then buton_takip   ''' birden fazla buton basılı olmamalı
        secilen_role = 1  
    EndIf

    If giris_deger.1 = 0 Then                   ''' buton 2 basılı iken
        If giris_deger <> 13 Then buton_takip   ''' birden fazla buton basılı olmamalı
        secilen_role = 2  
    EndIf
    
    If giris_deger.2 = 0 Then                   ''' buton 3 basılı iken
        If giris_deger <> 11 Then buton_takip   ''' birden fazla buton basılı olmamalı
        secilen_role = 3  
    EndIf
    
    If giris_deger.3 = 0 Then                   ''' buton 4 basılı iken
        If giris_deger <> 7 Then buton_takip    ''' birden fazla buton basılı olmamalı
        secilen_role = 4  
    EndIf
    
    GoSub role_sur
GoTo buton_takip

'''''''''''''''''''''''''''''
role_sur:
    If secilen_role = secilen_role_hafiza Then role_sur_cik
    
    PORTB = 0       ''' roleleri bırak
    PORTA = 0       ''' ledleri sondur
    
    DelayMS 300     ''' boşluk payı bırak
    Clrwdt
    
role_sur_2:

    If secilen_role = 1 Then
        ROLE_1 = 1
        LED_1 = 1
    EndIf
    
    If secilen_role = 2 Then
        ROLE_2 = 1
        LED_2 = 1
    EndIf
    
    If secilen_role = 3 Then
        ROLE_3 = 1
        LED_3 = 1
    EndIf
    
    If secilen_role = 4 Then
        ROLE_4 = 1
        LED_4 = 1
    EndIf
    
    If secilen_role_hafiza <> secilen_role Then
        secilen_role_hafiza = secilen_role
        EWrite 0, [secilen_role]                ''' son secileni eeproma yaz
    EndIf
    
buton_birak:
    For x = 1 To 100    ''' buton kontak sıcrama için, 
        DelayMS 1
        Clrwdt
        giris_deger = PORTB & %00001111
        If giris_deger <> 15 Then buton_birak   ''' basılı buton varsa beklemeye devam
    Next

role_sur_cik:
    Clrwdt
Return


:100000003C2883169B0083169C011C141A089B0A2B
:10001000382883169A001C1555309D00AA309D0083
:100020009C149C1811281C119B0A3828A301A200BB
:10003000FF30A207031CA307031C38280330A100CC
:10004000DF3024201828A101E83EA000A109FC30DF
:10005000031C2D28A00703182A28A0070000A10FC1
:100060002A2820183328A01C372800003728080029
:100070008313831203130800830107309F000F309E
:10008000831681008B018312860185013C30831623
:1000900085000F30860083128601850107309F009E
:1000A0000130A300F43017206400562800300120EE
:1000B000A4002408A50093200130162064000F300E
:1000C0000605A6000F30260203195C2826186E28A4
:1000D0000E302602031D5C280130A400A6187628E5
:1000E0000D302602031D5C280230A40026197E284C
:1000F0000B302602031D5C280330A400A6198628B5
:1001000007302602031D5C280430A40088205C28E8
:10011000240825020319CA28860185010130A3009D
:100120002C301720640001302402031D9928861703
:10013000051702302402031D9F2806178517033078
:100140002402031DA5288616051404302402031D6D
:10015000AB2806168514250824020319B62824089E
:10016000A50083169B018312240809200130A700F3
:10017000653027020318CA280130162064000F30AA
:100180000605A6000F302602031DB6280130A7077A
:0A019000031CB82864000800CC2806
:02400E001C1F75
:024200000100BB
:00000001FF



FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

एक होना

hocam teşekkürler. devreyi hazırlayıp test edip bilgilendireceğim.

Saruman

Ring Sayıcı kullanmanız dahilinde 1 buton ve  3 adet entegreyle bu işi halledersiniz, PIC'e gerek kalmaz.

Butona her basışınızda sırayla 4 çıkıştan birisi aktif edilir.

Röle sürmek için de yine ULN2003 ya da BC337 uygundur.




एक होना

@Saruman hocam tek buton lu sistemi bir başka amaç için kullanabilirim. teşekkürler.

OG

Devre tek butonada cevrilebilir ama geciş aşamasında sırayla kaynakları gezmek zorunda olur.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

Ersin

Alıntı YapBir yarıiletken switch kullandığınızda bütün kaynakların GND lerini birleştirmek zorundasınız. Sıkıntı burada. Röle kullanılmasını özellikle önerdim.
Röle kullanınca gnd ler birleştirilmeyecek mi, birde gnd leri ayrı ayrı mı çekecek , parazit girmmesin diye metal kutu kullanması gerekli , rca jackları zaten birleşmesi lazım kutu üzerinde.

एक होना

devreyi çalışır konuma getireyim sonucu bildireceğim. yaptığım hataları yada doğru olanlar ortaya çıkacak.

OG

Alıntı YapRöle kullanınca gnd ler birleştirilmeyecek mi, birde gnd leri ayrı ayrı mı çekecek
GND ler karta kadar uzanacak ama, aynı anda yanlızca 1 tanesi ses sistemi GND si ile temas halinde olacak.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

Ersin

GND nin sadece bir tanesi ile temasta olması için o gnd yi röle kontaklarına vermen lazım buda x2 role demek.
Kutu metal olacak , gnd kutu gövdesine bağlanacak parazit almaması için , rca jack lar da gnd leri gövde üzerinde birleşecek.

@BRL,
Mekanik kontak lı olacaksa , yapımı kolay, devre gerektirmez  böyle bir şey de kullanabilrsin : http://tr.farnell.com/lorlin/ck1061/switch-3pole-4-pos/dp/1123702
Bunun dezavantajı da mesela 4 konumdan 1 geçeceksin , arada 3 ve 2 üzerinden geçmek zorundasın.

OG

Alıntı YapGND nin sadece bir tanesi ile temasta olması için o gnd yi röle kontaklarına vermen lazım
Öyle zaten.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

एक होना

#25
@Ersin hocam teşekkürler. komutatör aklıma geldi de kullanmak istemedim. kanal geçişlerinde çazur çuzur ses çıkardığında pek hoş bir durum olmuyor ve biraz kılımdır ses konusunda.

mesaj birleştirme:: 18 Mayıs 2014, 00:56:41

şu an kontaklı röle yerine reed röle tarzında bir şeyler bakınıyorum.
@OG hocam sağ olsun üşenmeden devreyide çiziverdi kodları da yazıverdi

malzemeleri de toparladığım da devre tamam olacak. transistör yerine ULN2003 kullanmayı düşünüyorum. zati OG hocam şemada belirtmiş.

ipek

OG hocam selam.
Benimde ilgimi çekti bu devre bende'de bir sürü hoperlor var oraya uygulayabilirim,diye pek sevindim,
bir isis simule yaptım fakat eprom'un 0 adresine kayıtlı datayı görmeme rağmen ,tekrar başlattığımda
maalesef  birinci posizyondan başladı.yazılımı inceleyince
EData 1     ''' çekilen son role kaydı satırını gördüm ,bunu disable edince çalıştı pek sevindim.birde LCD si olursa tadından yenmez Klavyenize sağlık.

OG

#27
Isıs power on/off algılayamadığı için her start da 1 nolu roleyi okuyor eepromdan. Yeni kayıt değerini hex üzerinde değiştirmiyor. Gerçekte öyle olmaz, normal çalışır.

mesaj birleştirme:: 18 Mayıs 2014, 02:29:02

LCD ile

http://s3.dosya.tc/server23/sjOaca/ses_switch.rar.html

;-------------------------------------------------------------------------------
;**** Added by Fuse Configurator ****
; Use the Fuse Configurator plug-in to change these settings

Device = 16F628A

Config FOSC_INTOSCIO, WDTE_ON, PWRTE_OFF, MCLRE_OFF, BOREN_OFF, LVP_OFF, CPD_OFF, CP_ON

;**** End of Fuse Configurator Settings ****
;-------------------------------------------------------------------------------

Xtal = 4 
All_Digital = true

Declare LCD_DTPin PORTA.0
Declare LCD_ENPin PORTA.7
Declare LCD_RSPin PORTA.6
Declare LCD_Interface 4
Declare LCD_Lines 2



OPTION_REG=%00001111    ' 
INTCON=0 

PORTB=0
'PORTA=0      
TRISA   = %11111111                     ; 
TRISB   = %00001111
PORTB=0
'PORTA=0 

CMCON=7


Dim secilen_role As Byte
Dim secilen_role_hafiza As Byte

Dim giris_deger As Byte
Dim x As Byte

Dim ROLE_1 As PORTB.7 
Dim ROLE_2 As PORTB.6 
Dim ROLE_3 As PORTB.5 
Dim ROLE_4 As PORTB.4       


'Dim LED_1 As PORTA.6 
'Dim LED_2 As PORTA.7 
'Dim LED_3 As PORTA.0 
'Dim LED_4 As PORTA.1



EData 1     ''' çekilen son role kaydı



DelayMS 500
Clrwdt

Cls             ''' ekran sil

GoTo BASLA 

''' 
ekranla:
    Print At 1, 1," AUDIO SWITCHER "
    
ekranla_2:
    Print At 2, 1," KANAL = ", @secilen_role, "      "
Clrwdt
Return


''''''''''''''''''
BASLA: 
    secilen_role = ERead 0
    secilen_role_hafiza = secilen_role
    GoSub ekranla
    GoSub role_sur_2
    
buton_takip:
    DelayMS 1
    Clrwdt
    
    giris_deger = PORTB & %00001111
    If giris_deger = 15 Then buton_takip       '' basılmamışsa
    
    If giris_deger.0 = 0 Then                   ''' buton 1 basılı iken
        If giris_deger <> 14 Then buton_takip   ''' birden fazla buton basılı olmamalı
        secilen_role = 1  
    EndIf

    If giris_deger.1 = 0 Then                   ''' buton 2 basılı iken
        If giris_deger <> 13 Then buton_takip   ''' birden fazla buton basılı olmamalı
        secilen_role = 2  
    EndIf
    
    If giris_deger.2 = 0 Then                   ''' buton 3 basılı iken
        If giris_deger <> 11 Then buton_takip   ''' birden fazla buton basılı olmamalı
        secilen_role = 3  
    EndIf
    
    If giris_deger.3 = 0 Then                   ''' buton 4 basılı iken
        If giris_deger <> 7 Then buton_takip    ''' birden fazla buton basılı olmamalı
        secilen_role = 4  
    EndIf
    
    GoSub role_sur
GoTo buton_takip

'''''''''''''''''''''''''''''
role_sur:
    If secilen_role = secilen_role_hafiza Then role_sur_cik
    
    GoSub ekranla_2
    PORTB = 0       ''' roleleri bırak
   
    DelayMS 300     ''' boşluk payı bırak
    Clrwdt
    
role_sur_2:
    If secilen_role = 1 Then
        ROLE_1 = 1
'        LED_1 = 1
    EndIf
    
    If secilen_role = 2 Then
        ROLE_2 = 1
'        LED_2 = 1
    EndIf
    
    If secilen_role = 3 Then
        ROLE_3 = 1
'        LED_3 = 1
    EndIf
    
    If secilen_role = 4 Then
        ROLE_4 = 1
'        LED_4 = 1
    EndIf
    
    If secilen_role_hafiza <> secilen_role Then
        secilen_role_hafiza = secilen_role
        EWrite 0, [secilen_role]                ''' son secileni eeproma yaz
    EndIf
    
    Clrwdt

buton_birak:
    For x = 1 To 100    ''' buton kontak sıcrama için, 
        DelayMS 1
        Clrwdt
        giris_deger = PORTB & %00001111
        If giris_deger <> 15 Then buton_birak   ''' basılı buton varsa beklemeye devam
    Next

role_sur_cik:
    Clrwdt
Return


:10000000EC288030A100FE30922001309220753023
:10001000A6003030B828A101A117AE00FE30922012
:100020002E089228A401A900AA01A01124080319EE
:10003000A0150530A3002730A80010302B20033076
:10004000A800E8302B20A80164302B20A8010A303A
:100050002B2029083228A7002A08A6002908A50075
:10006000CC202508A500A3030319A0112408031917
:100070003C282302031843282508031DA011A019BA
:100080004328303E92280800AC00851305138316E0
:1000900085130513F030850583122C08A0186E28EF
:1000A0003E30A6008030B8203330AB0083201330C0
:1000B000A6008830B82083206430B72083206430C5
:1000C000B7202230AB00832028306D200C306D200B
:1000D00006306D20A0142C086E282014AB00201CC4
:1000E0007C280513033C031C812881200730A600CF
:1000F000D030B820031408002014FE3C03199028C7
:100100000517AB0E201C20108517F03085052B0835
:100110000F3985048513AB0E201883283230B720A1
:100120002C08E828A11B4428080083169B0083168E
:100130009C011C141A089B0AE82883169A001C15B7
:1001400055309D00AA309D009C149C18A5281C11B8
:100150009B0AE828A801A700FF30A707031CA807EF
:10016000031CE8280330A600DF30B820AC28A60125
:10017000E83EA500A609FC30031CC128A50703180A
:10018000BE28A5070000A60FBE282518C728A51C55
:10019000CB280000CB280800AA01A9011030AB0031
:1001A000260DA90DAA0D2708A9022808031C280F4F
:1001B000AA020318E2282708A90728080318280F0D
:1001C000AA070310A50DA60DAB0BD0282508080023
:1001D00083138312031308008301A00107309F00DB
:1001E0000F30831681008B0183128601FF30831646
:1001F00085000F3086008312860107309F00013092
:10020000A800F430AB20640001204A298030A1000E
:100210000B202030442041304420553044204430CD
:100220004420493044204F30442020304420533073
:100230004420573044204930442054304420433037
:10024000442048304420453044205230442020305F
:1002500044208030A100C0300B20203044204B309F
:100260004420413044204E304420413044204C3022
:100270004420203044203D304420203044202F08AA
:100280001220203044204420442044204420442094
:100290006400080000309520AF002F08B000062150
:1002A00088210130AA2064000F300605B1000F300C
:1002B000310203195129311863290E303102031D0F
:1002C00051290130AF00B1186B290D303102031DE7
:1002D00051290230AF00311973290B303102031D4F
:1002E00051290330AF00B1197B2907303102031DBA
:1002F00051290430AF007D2151292F083002031904
:10030000BC29292186010130A8002C30AB206400D3
:1003100001302F02031D8D29861702302F02031D85
:100320009229061703302F02031D972986160430E1
:100330002F02031D9C29061630082F020319A72936
:100340002F08B00083169B0183122F089D206400A4
:100350000130B200653032020318BC290130AA20F6
:1003600064000F300605B1000F303102031DA829CB
:0E0370000130B207031CAA2964000800BE2950
:02400E001C1F75
:024200000100BB
:00000001FF
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

एक होना

#28
@OG hocam süpersin. hazırladığım devre şemasını sil baştan yapacağım anlaşılan :)

mesaj birleştirme:: 18 Mayıs 2014, 03:10:32

@OG hocam konuyu ilk açtığımda belirtmiştim yazılım konusunda sıkıntılıyım diye. bu konu benim için iyi oldu uygulamalı ders gibi. kullanılan ekipmanları tanıma fırsatım oluyor ve yazılımın nasıl koştuğunu az çok çözmeye çalışıyorum. abuk ve garip sorularımı mazur görürseniz sevinirim :)

anladığım kadarı ile  yazılımda kanal bilgisini basılan buton üzerinden alıyor. buton1 in sadece 1 ni alıp önceden yazılmış kanal yazısının sonuna ekliyor.

kanal 1 yada kanal 2 yerine buton 1 e basıldığında DVD buton 2 ye basıldığında MEDYA yazan bir örnek verebilirmisiniz. sadece buton 1 ve 2 için. hiç olmazsa öğrenmek için fırsatım olur.

bir de hazırladığınız derleyici yi nereden indirebilirim en sağlıklı site hangisidir?
teşekkürler sabrınız için.

OG

Zaten işinizin görülmesi bir yana, öğrenmek isteyipte zor zannerek işe yanaşmayanlara teşvik olsun diye uğraşıyorum.

''' Bold olanların açıklaması
Print At 1, 1," AUDIO SWITCHER "   '' LCD ye yazdırmak için komut. Print farklı işler içinde kullanılır
Print At 1, 1," AUDIO SWITCHER "   '' LCD 1. satıra yazılacak
Print At 1, 1," AUDIO SWITCHER "   '' Satırın 1. hanesinden başlayacak
Print At 1, 1," AUDIO SWITCHER "   '' yazılacak string, string tırnak içinde olur.

2. satıra gecersek,
Print At 2, 1," KANAL = ", @secilen_role, "      "

" KANAL = "   '' burası yazılacak string boşlukları (space) da var dikkat edin.  Sonra sayısal değer yazacağız, tırnağı kapatıyoruz ve bir virgül ile sonraki yazıma gonderileni ayırıyoruz.

secilen_role  byte boyutunda bir değişken. Bunu LCD ye direk gonderirseniz LCD Romundaki ASCII karşılığı basılır.
Örneğin değer secilen_role = 65 ise LCD ye ASCII karşılığı olan A yazar.
Oysa biz değeri direk karakter olarak basmak istiyoruz. Başına ilave edilen @ nın yaptığı iş bu. Sonra satırda geri kalan haneleri boşluk ile dolduracağız, bunu yine "  " şeklinde string olarak gonderiyoruz. Öncesinde ayırma virgülünü unutmamalı.

buton 1 e basıldığında DVD
buton 2 ye basıldığında MEDYA yazan

Buton 1 e basınca secilen_role değeri 1 olarak gelir. 2 ye basınca da 2.

Print At 2, 1," KANAL = ", @secilen_role, "      "     satırına şart eklerseniz kolaylıkla yaparsınız

if secilen_role = 1 then
Print At 2, 1," DVD            "
endif

if secilen_role = 2 then
Print At 2, 1," MEDYA          "
endif

if secilen_role > 2 then
Print At 2, 1," KANAL = ", @secilen_role, "      "
endif

şeklini alır.


;-------------------------------------------------------------------------------
;**** Added by Fuse Configurator ****
; Use the Fuse Configurator plug-in to change these settings

Device = 16F628A

Config FOSC_INTOSCIO, WDTE_ON, PWRTE_OFF, MCLRE_OFF, BOREN_OFF, LVP_OFF, CPD_OFF, CP_ON

;**** End of Fuse Configurator Settings ****
;-------------------------------------------------------------------------------

Xtal = 4 
All_Digital = true

Declare LCD_DTPin PORTA.0
Declare LCD_ENPin PORTA.7
Declare LCD_RSPin PORTA.6
Declare LCD_Interface 4
Declare LCD_Lines 2



OPTION_REG=%00001111    ' 
INTCON=0 

PORTB=0
'PORTA=0      
TRISA   = %11111111                     ; 
TRISB   = %00001111
PORTB=0
'PORTA=0 

CMCON=7


Dim secilen_role As Byte
Dim secilen_role_hafiza As Byte

Dim giris_deger As Byte
Dim x As Byte

Dim ROLE_1 As PORTB.7 
Dim ROLE_2 As PORTB.6 
Dim ROLE_3 As PORTB.5 
Dim ROLE_4 As PORTB.4       


'Dim LED_1 As PORTA.6 
'Dim LED_2 As PORTA.7 
'Dim LED_3 As PORTA.0 
'Dim LED_4 As PORTA.1



EData 1     ''' çekilen son role kaydı



DelayMS 500
Clrwdt

Cls             ''' ekran sil

GoTo BASLA 

''' 
ekranla:
    Print At 1, 1," AUDIO SWITCHER "
    
ekranla_2:
    If secilen_role = 1 Then
        Print At 2, 1,"      DVD       "
    EndIf
    
    If secilen_role = 2 Then
        Print At 2, 1,"     MEDYA      "
    EndIf
    
    If secilen_role > 2 Then
        Print At 2, 1,"     KANAL = ", @secilen_role, "  "
    EndIf
Clrwdt
Return


''''''''''''''''''
BASLA: 
    secilen_role = ERead 0
    secilen_role_hafiza = secilen_role
    GoSub ekranla
    GoSub role_sur_2
    
buton_takip:
    DelayMS 1
    Clrwdt
    
    giris_deger = PORTB & %00001111
    If giris_deger = 15 Then buton_takip       '' basılmamışsa
    
    If giris_deger.0 = 0 Then                   ''' buton 1 basılı iken
        If giris_deger <> 14 Then buton_takip   ''' birden fazla buton basılı olmamalı
        secilen_role = 1  
    EndIf

    If giris_deger.1 = 0 Then                   ''' buton 2 basılı iken
        If giris_deger <> 13 Then buton_takip   ''' birden fazla buton basılı olmamalı
        secilen_role = 2  
    EndIf
    
    If giris_deger.2 = 0 Then                   ''' buton 3 basılı iken
        If giris_deger <> 11 Then buton_takip   ''' birden fazla buton basılı olmamalı
        secilen_role = 3  
    EndIf
    
    If giris_deger.3 = 0 Then                   ''' buton 4 basılı iken
        If giris_deger <> 7 Then buton_takip    ''' birden fazla buton basılı olmamalı
        secilen_role = 4  
    EndIf
    
    GoSub role_sur
GoTo buton_takip

'''''''''''''''''''''''''''''
role_sur:
    If secilen_role = secilen_role_hafiza Then role_sur_cik
    
    GoSub ekranla_2
    PORTB = 0       ''' roleleri bırak
   
    DelayMS 300     ''' boşluk payı bırak
    Clrwdt
    
role_sur_2:
    If secilen_role = 1 Then
        ROLE_1 = 1
'        LED_1 = 1
    EndIf
    
    If secilen_role = 2 Then
        ROLE_2 = 1
'        LED_2 = 1
    EndIf
    
    If secilen_role = 3 Then
        ROLE_3 = 1
'        LED_3 = 1
    EndIf
    
    If secilen_role = 4 Then
        ROLE_4 = 1
'        LED_4 = 1
    EndIf
    
    If secilen_role_hafiza <> secilen_role Then
        secilen_role_hafiza = secilen_role
        EWrite 0, [secilen_role]                ''' son secileni eeproma yaz
    EndIf
    
    Clrwdt

buton_birak:
    For x = 1 To 100    ''' buton kontak sıcrama için, 
        DelayMS 1
        Clrwdt
        giris_deger = PORTB & %00001111
        If giris_deger <> 15 Then buton_birak   ''' basılı buton varsa beklemeye devam
    Next

role_sur_cik:
    Clrwdt
Return



:10000000EC288030A100FE30922001309220753023
:10001000A6003030B828A101A117AE00FE30922012
:100020002E089228A401A900AA01A01124080319EE
:10003000A0150530A3002730A80010302B20033076
:10004000A800E8302B20A80164302B20A8010A303A
:100050002B2029083228A7002A08A6002908A50075
:10006000CC202508A500A3030319A0112408031917
:100070003C282302031843282508031DA011A019BA
:100080004328303E92280800AC00851305138316E0
:1000900085130513F030850583122C08A0186E28EF
:1000A0003E30A6008030B8203330AB0083201330C0
:1000B000A6008830B82083206430B72083206430C5
:1000C000B7202230AB00832028306D200C306D200B
:1000D00006306D20A0142C086E282014AB00201CC4
:1000E0007C280513033C031C812881200730A600CF
:1000F000D030B820031408002014FE3C03199028C7
:100100000517AB0E201C20108517F03085052B0835
:100110000F3985048513AB0E201883283230B720A1
:100120002C08E828A11B4428080083169B0083168E
:100130009C011C141A089B0AE82883169A001C15B7
:1001400055309D00AA309D009C149C18A5281C11B8
:100150009B0AE828A801A700FF30A707031CA807EF
:10016000031CE8280330A600DF30B820AC28A60125
:10017000E83EA500A609FC30031CC128A50703180A
:10018000BE28A5070000A60FBE282518C728A51C55
:10019000CB280000CB280800AA01A9011030AB0031
:1001A000260DA90DAA0D2708A9022808031C280F4F
:1001B000AA020318E2282708A90728080318280F0D
:1001C000AA070310A50DA60DAB0BD0282508080023
:1001D00083138312031308008301A00107309F00DB
:1001E0000F30831681008B0183128601FF30831646
:1001F00085000F3086008312860107309F00013092
:10020000A800F430AB20640001208A298030A100CE
:100210000B202030442041304420553044204430CD
:100220004420493044204F30442020304420533073
:100230004420573044204930442054304420433037
:10024000442048304420453044205230442020305F
:10025000442001302F02031D46298030A100C03008
:100260000B202030442044204420442044204420BB
:100270004430442056304420443044202030442030
:1002800044204420442044204420442002302F02B3
:10029000031D65298030A100C0300B202030442090
:1002A00044204420442044204D3044204530442004
:1002B00044304420593044204130442020304420F0
:1002C0004420442044204420442003302F02031CB7
:1002D00088298030A100C0300B20203044204420E9
:1002E0004420442044204B304420413044204E30B0
:1002F0004420413044204C304420203044203D30C4
:100300004420203044202F08122020304420442054
:100310006400080000309520AF002F08B0000621CF
:10032000C8210130AA2064000F300605B1000F304B
:100330003102031991293118A3290E303102031D0E
:1003400091290130AF00B118AB290D303102031DE6
:1003500091290230AF003119B3290B303102031D4E
:1003600091290330AF00B119BB2907303102031DB9
:1003700091290430AF00BD2191292F0830020319C3
:10038000FC29292186010130A8002C30AB20640013
:1003900001302F02031DCD29861702302F02031DC5
:1003A000D229061703302F02031DD72986160430E1
:1003B0002F02031DDC29061630082F020319E72936
:1003C0002F08B00083169B0183122F089D20640024
:1003D0000130B200653032020318FC290130AA2036
:1003E00064000F300605B1000F303102031DE8290B
:0E03F0000130B207031CEA2964000800FE2950
:02400E001C1F75
:024200000100BB
:00000001FF

FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.