SERİ HABERLERSME

Başlatan kontiki, 05 Aralık 2017, 00:42:00

kontiki

                    Kolay gelsin oncelikle ETE  hocanın derslerindeki seri haberleşme kısmında kumanda devresini yaptım ,devreyi kurdum çalısıyo fakat ısıs de  ve kurdugum devrede ses arttırma ve program eksiltme butonlarına basınca teker teker iniyo basılı tutunca bir işlemi uygulayıp duruyo ses eksiltme ve prog. arttırma düzgün çalışıyo bunun nedenini bulamadım
  Birde ETE hocanın 7. dersindeki
                    "Uyandırma sinyali nedir diyeceksiniz buna genellikle preambl sinyali denilmektedir. Uyandırma sinyali bir sinyal kombinasyonudur. Muhtelif sekillerde olabilir. Benim kullandıgım ve olumlu netice aldıgım kombine sinyal asagıdaki sekildedir.

– İlk sinyal %10101 seklinde bir sinyal arkasından %00000 ve onun arkasından ise %11111 seklinde bir sinyal dir. Bunun komut karşılıgı; SEROUT2 CIKIS,396,[REP$AA\5,REP$00\5,REP$FF\5]"


diye bir sey soylemis burdaki  binary sayıların nasıl bu karsılıga donustugunu algılayamdım yardımcı 
olursanız sevınırım şimdiden teşşekkürler dosyaları ekledim
       

---------------- VERİCİ--------------

@ DEVICE PIC16F887
@ DEVICE PIC16F887, WDT_OFF
@ DEVICE PIC16F887, PWRT_OFF
@ DEVICE PIC16F887, PROTECT_OFF
@ DEVICE PIC16F887, BOD_OFF
@ DEVICE PIC16F887, INTRC_OSC_NOCLKOUT
@ DEVICE PIC16F887, MCLR_OFF
@ DEVICE PIC16F887, LVP_OFF
OSCCON=%01100101
ANSEL=0
ANSELH=0
CM1CON0=0
CM2CON0=0
INTCON=0
OPTION_REG=128
TRISA=0
TRISB=0
PORTA=0
PORTB=0
TRISC=0
TRISD=1
TRISE=0
PORTD=0
PORTC=0
PORTE=0

INCLUDE "MODEDEFS.BAS"
POS VAR BIT
VER VAR BYTE
TUS VAR PORTD
CLEAR

BASLA:
      VER=0
   TUS=PORTB
        IF TUS =1 Then BIR     
        IF TUS =2 Then IKI     
        IF TUS =4 Then UC
        IF TUS =8 Then DORT
        IF TUS =16 Then BES
        IF TUS =32 Then ALTI
        IF TUS =64 Then YEDI
        IF TUS =128 Then SEKIZ
POS=0:GOTO BASLA 

BIR: 
      IF POS=1 THEN BASLA
POS=1:VER=11:GOTO CIKIS

IKI: 
POS=1:VER=22:GOTO CIKIS

UC: 
           POS=1:VER=33: GOTO CIKIS

DORT:
           POS=1:VER=44:GOTO CIKIS

BES: 
      POS=1:VER=55:GOTO CIKIS
      
ALTI:
      IF POS=1 THEN GOTO BASLA
     POS=1:VER=66:GOTO CIKIS

YEDI: IF POS=1 THEN BASLA
      POS=1:VER=77:GOTO CIKIS

SEKIZ:
       IF POS=1 THEN BASLA
       POS=1:VER=88

CIKIS:
       SEROUT PORTA.1,N2400,[("A"),VER,5,8]
       SEROUT PORTA.1,N2400,[("A"),VER,5,8]
       SEROUT PORTA.1,N2400,[("A"),VER,5,8]
       SEROUT PORTA.1,N2400,[("A"),VER,5,8]
       SEROUT PORTA.1,N2400,[("A"),VER,5,8]
       
 GOTO BASLA
 END

----------------------ALICI-----------------------
@ DEVICE PIC16F887
@ DEVICE PIC16F887, WDT_OFF
@ DEVICE PIC16F887, PWRT_OFF
@ DEVICE PIC16F887, PROTECT_OFF
@ DEVICE PIC16F887, BOD_OFF
@ DEVICE PIC16F887, INTRC_OSC_NOCLKOUT
@ DEVICE PIC16F887, MCLR_OFF
@ DEVICE PIC16F887, LVP_OFF
OSCCON=%01100101
ANSEL=0
ANSELH=0
CM1CON0=0
CM2CON0=0
INTCON=0
OPTION_REG=128

TRISE=0
TRISA=0
TRISB=0
TRISC=0
TRISD=32
PORTA=0
PORTB=0
PORTC=0
PORTD=0
PORTE=0

AL VAR BYTE
VOLUM VAR BYTE
KON VAR BYTE
SES VAR BYTE
PROG VAR BYTE
ARA VAR BYTE
GIRIS VAR PORTE.0
ERO VAR BYTE
INCLUDE "MODEDEFS.BAS"
PORTB=0
PORTA=0
READ 0,VOLUM
IF VOLUM=255 THEN
VOLUM=4
ENDIF
READ 1,PROG
IF PROG=255 THEN
PROG=0
ENDIF
KON=VOLUM >>3
SES=VOLUM-(KON*8)
ARA=(SES+PROG*8)+128-(KON*64)
PORTB=ARA
  

BASLA: AL=0
      SERIN PORTD.4,N2400,["A"],AL
      IF AL=11 THEN BIR
      IF AL=22 THEN IKI
      IF AL=33 THEN UC
      IF AL=44 THEN DORT
      IF AL=55 THEN BES
      IF AL=66 THEN ALTI
      IF AL=77 THEN YEDI
      IF AL=88 THEN SEKIZ
      GOTO BASLA
      
      
BIR:
      TOGGLE PORTD.0
        GOTO BASLA     

        
SESH:
      KON=VOLUM>>3
      SES=VOLUM-(KON*8)
      ARA=PORTB & 56
      ARA=ARA+SES+128-(KON*64)
      PORTB=ARA
      WRITE 0,VOLUM
      PAUSE 120
      GOTO BASLA
      
      IKI:   
        VOLUM=VOLUM+1
        IF VOLUM>15 THEN
        VOLUM=15
        ENDIF
        GOTO SESH

UC: 
     VOLUM=VOLUM-1
     IF VOLUM=255 THEN
     VOLUM=0
     ENDIF
     GOTO  SESH
     

DORT 
      PROG=PROG+1
      IF PROG>7 THEN
      PROG=0
      ENDIF
      
PROH:
      ARA=PORTB & 199
      ERO=PROG<<3
      ARA=ARA+ERO
      PORTB=ARA
      WRITE 1,PROG
      PAUSE 120
      GOTO BASLA
      
      
BES: PROG=PROG-1
      IF PROG=255 THEN 
      PROG=7
      ENDIF
      GOTO PROH
ALTI:
    TOGGLE PORTD.1
     GOTO BASLA
     
YEDI: TOGGLE PORTD.2
      GOTO BASLA
SEKIZ: TOGGLE PORTD.3

GOTO BASLA
END
    






Powered by EzPortal