Asm Kod Hatası

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ByLord
    ByLord's avatar
    Kayıt Tarihi: 07/Mart/2007
    Erkek
    Merhaba arkadaşlar pic16f877 b portundan pcye 8 bitlik data göndercem ama asm kodumda hata var 7 bit gönderiyo yani 127,toplam 255 göndermiyo bu sorunu bi türlü çözemedim devrede hata yok ama kodda hata var bi yerde bulamadım yardımcı olursanız çok sevinirim bnm için çok önmli.Şimdiden Teşekkürler...

    LIST                       P=16F877

                                INCLUDE                "P16F877.INC"

    SAY                       EQU                       H'10'

    SAY1                      EQU                       H'11'

    SERI_BILGI             EQU                       H'12'

    SERI_SAY                EQU                       H'13'

    BT                          EQU                       H'14'

    ; Kurulum: Pic icin uclarin giris ve cikis ayarlari yapilir.

                                   BSF                        STATUS,RP0       ;Bank1'e gec

                                   BCF                        STATUS,RP1      

                                   MOVLW               B'111110'             ;PORTA 0.'bit cikis, digerleri giris

                                   MOVWF              TRISA                   

                                   MOVLW               H'FF'                      ;PORTB >> tamami giris

                                   MOVWF              TRISB                   

                                   MOVWF              H'FF'                      ;PORTC >> tamami giris

                                   MOVLW               TRISC

                                   MOVWF              H'FF'                      ;PORTD >> tamami giris

                                   MOVLW               TRISD

                                   MOVWF              H'FF'                      ;PORTE >> tamami giris

                                   MOVLW               TRISE                   

                                   BCF                        STATUS,RP0       ;Bank0'a gec

                                   BCF                        STATUS,RP1

                                   BSF                        PORTA,0              ;RS232C port << yuksek

                                  ;gonder butonu kontrol edilir

                                   MOVF                   PORTB,W            ;PORTB'deki 8 bitlik bilgiyi W kaydedicisina atar.

                                   MOVWF              SERI_BILGI          ;yani verdigimiz datayi kendi icine kaydeder(!)

                                   CALL                      MAIN                    ;Ana programi cagirir

    STOP                       GOTO                   STOP                    

    ;ana program seri bilgiler gonderilir.

    MAIN

    SND           BCF                                       PORTA,0              ;Baslam biti >> dusuk >> Seri iletisimi baslatir

                    CALL                                     TIMER                   ;3.3ms timer >> 300bps

                    MOVLW                              8                             ;bilgi >> 8bit

                    MOVWF                              SERI_SAY             ;

    SND1         RRF                                       SERI_BILGI,F      ;1 bit saga kaydirir.

                    BTFSC                                   STATUS,C            ;carry bitini kontrol et (check data bit)

                    GOTO                                   BITON                  ;carry bit = 1 >> goto BITON

                    BCF                                       PORTA,0              ;carry bit = 0 >> RA0 bit dusuk

                    GOTO                                   SND2                    ;BITON'u atla

    BITON        BSF                                        PORTA,0              ;Eğer bilgi (data) =1

    SND2         CALL                                     TIMER                   ;3.3ms timer >> 300bps

                    DECFSZ                                SERI_SAY,1         ;Bilgi sonu?

                    GOTO                                   SND1                   ;bilgi sonu degilse SND1 e git

                    BSF                                       PORTA,0              ;bitis biti  >> yuksek >> seri iletisi sona erdirir.

                    CALL                                     TIMER  

                    CALL                                     TIMER                                                                 

    RETURN

    ; Baud Rate = 2400

    TIMER

                    MOVLW                              H'86'

                    MOVWF                              BT

    NEXT         DECFSZ                               BT,F

                    GOTO                                 NEXT

                    RETURN

                    END

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ravage
    Ravage's avatar
    Kayıt Tarihi: 02/Ocak/2006
    Erkek

    fireexxx biri seni çağırıo galiba...

    şaka bi yana arkadaşım anlamadıım az sayıdaki dillerden biride Asambly -->Kolay gelsin[gelmez ya]


    Buralar bizden sorulur... Ravage@tahribat.com
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ByLord
    ByLord's avatar
    Kayıt Tarihi: 07/Mart/2007
    Erkek
    Hoca bi yerde bişe var ama onu bi bulsam diyordum...bulamadım :D
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Tabela Fatihi
    kaygusuz
    kaygusuz's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Erkek

    ByLord bunu yazdı:
    -----------------------------
    Hoca bi yerde bişe var ama onu bi bulsam diyordum...bulamadım :D
    -----------------------------

     

    DECFSZ REGİSTERİN YANINDAKİ BTF yanlış yazmış olabilirsin


    Türkiye’deki emekli yaşlı insanları sevmiyorum. Ailemde emekli olanlarda dahil. Geleceğimizin çalınmasına izin verdiler. Umarım ızdırap dolu bir çileli hayat çekip elveda deyip bu dünyadan gidersiniz. Siz gençleri zırnık düşünmediniz hayallerini mahvettiniz.14.500TL ile hiçbirşey almadan karnınızı doyurun gelecek nesili düşünmeden yaşadığınızı sanıp gidin bu dünyadan.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ByLord
    ByLord's avatar
    Kayıt Tarihi: 07/Mart/2007
    Erkek

    ;    timer = 1+1+10*(1+1+110*(1+2)+1+2)+2 =3354us=3.4ms

    TIMER
        MOVLW    D'10'        ;1CLOCK
        MOVWF    CNT        ;1CLOCK
    DLY1    MOVLW    D'110'        ;1CLOCK
        MOVWF    CNT1        ;1CLOCK
    DLY11    DECFSZ    CNT1,1        ;1CLOCK
        GOTO    DLY11        ;2CLOCK
        DECFSZ    CNT,1        ;1CLOCK
        GOTO    DLY1        ;2CLOCK
        RETURN            ;2CLOCK

        END

     

    bi önceki kodlamada bu vardı ama yok aynı hata :D
    1111111=7 bit bu şekilde yazıyo 01111111 bu şekilde yazmıyo sondaki 8 biti hiç yazmıyo...

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DataDiver
    DataDiver's avatar
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek

    :100000009128A501A400B3172730A30010301420B5
    :100010000330A300E8301420A30164301420A301AE
    :100020000A30142024081F28A2002508A100240853
    :10003000A00070202008031DB313B31B0800303E3E
    :10004000A600360884000930A70003102C20A60C57
    :10005000A70B262803142C288413B31D3B28000863
    :100060003404331D34068000841700083404031C54
    :1000700034068000462800083404031C3406331973
    :10008000340680008417340980054628330D06396C
    :10009000A0004F20A100A00A4F2000005C280030E3
    :1000A0008A00200882070134753403341534003483
    :1000B0003C340C34D934A101E83EA000A109FC3045
    :1000C000031C6528A00703186228A0076400A10F7D
    :1000D000622820186B28A01C6F2800006F280800D9
    :1000E000A501A4011030A600210DA40DA50D220824
    :1000F000A4022308031C230FA50203188628220844
    :10010000A40723080318230FA5070310A00DA10DB2
    :10011000A60B742820088C28831303138312640011
    :10012000080083161E308500FF308600FF308700F0
    :10013000FF308800FF308900831264008A110A12A0
    :100140008518A5288A110A12A7288A019D28060861
    :10015000B8000530B6000130B4008C30B300380868
    :080160008A0101208A019D289B
    :02400E00753FFC
    :00000001FF

    kardeş sen şu yukardaki ni notpade yapıştır uzantısnı .hex olrak deişitirp bi denesene

     porta nın 1 nolu pininde buton var yazdıım programa göre noramlde 1 butona basınca sıfır olcak şekilde
    butona basınca portbdeki bilgiyi seri olrak yolluor 2400 baud rate ile dene bir oluyomu

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    inside
    anonim6918524
    anonim6918524's avatar
    Banlanmış Üye
    Bilgi/Destek Madalyası Üstün Hizmet Madalyası
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek
    Ravage bunu yazdı:
    -----------------------------

    fireexxx biri seni çağırıo galiba...

    şaka bi yana arkadaşım anlamadıım az sayıdaki dillerden biride Asambly -->Kolay gelsin[gelmez ya]

    -----------------------------

    Hoca elektronik devreler,pic hakkında bilgim yok. x86 işlemcilerde win32,dos uygulamaları için yardımcı olabilirim.

    λ
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    amele_2
    amele_2's avatar
    Kayıt Tarihi: 01/Eylül/2005
    Erkek

    8051 serii mikro denetleyicilerde seriport için mod seçim olayı vardı.

    pic te de olmasın öyle bişi? 


    Ardından yüz köpek havlamayan kurt, kurt sayılmaz..
Toplam Hit: 3124 Toplam Mesaj: 8