Şimdi Ara

USTALAR Atmel asm 3 faz programı nasıl yazılır

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
3
Cevap
0
Favori
945
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Böyle bir program bilen varmı elimde çok orjinal 48 v 3 faz motor var bu motoru çalıştırabilmem için
    bana yardım edin lütfen bu motor ileri geri yavaş hızlı çalışabilmeli c dilinide hiç bilmem asm yi iyi bi-
    lirim fakat beceremedim gitti şu işi ve bir çok mosfet yaktım. pic te şöyle bir program yazdım
    fakat yavaş veya yavaştan hızlıya rampa posisyonu yazılım yapamadım


    yardımlarınız için şimdiden teşekkürler



    LIST P=16F84a, R=DEC

    INCLUDE "p16F84a.inc"

    __FUSES _PWRTE_ON & _CP_ON & _WDT_OFF & _XT_OSC


    ındf equ 00H
    tmr0 equ 01H
    pcl equ 02H
    status equ 03H
    fsr equ 04H
    porta equ 05H
    portb equ 06H
    eedata equ 08H
    eeadr equ 09H
    pclath equ 0AH
    intcon equ 0BH
    delay1 equ 0CH
    delay2 equ 0DH
    delay3 equ 0EH
    delay4 equ 0FH
    data1 equ 10H
    data2 equ 11H
    data3 equ 12H
    data4 equ 13H
    count1 equ 14H
    count2 equ 15H
    optreg equ 81H
    trisa equ 85H
    trisb equ 86H

    org 0x000
    goto init

    init bsf status,RP0
    movlw b'00010011'
    movwf trisa
    movlw b'00000000'
    movwf trisb
    movlw b'00000000'
    movwf optreg
    bcf status,RP0
    bcf portb,7 ;mosfetlerin + sını kapat
    bsf portb,6 ;mosfetlere - ver
    bcf porta,3 ;led kapat
    bcf porta,2
    clrf data4
    goto instal

    instal clrf data3
    bcf portb,7 ;mosfetlerin + sını kapat
    bcf porta,3
    bsf portb,0
    bsf portb,1
    bsf portb,2
    bsf portb,3
    bsf portb,4
    bsf portb,5
    bsf portb,6 ;mosfetlere - ver
    call bekle
    bcf porta,2
    movf data4,w
    sublw .255
    btfsc status,2
    goto din

    start bcf porta,3
    btfsc porta,4
    goto start
    btfsc porta,1
    goto start
    call bekle
    btfsc porta,4
    goto start
    btfsc porta,1
    goto start
    bcf portb,6
    bsf porta,2
    bcf porta,3 ;led i kapat
    movlw .20
    movwf count1
    movlw .30
    movwf count2
    bsf portb,7 ;mosfetlere + ver

    dev1 bcf portb,5 ;1 inci devre çalıştır
    bcf portb,3
    bcf portb,0
    call del1
    bsf portb,3
    nop
    nop
    bcf portb,2
    call del1
    bsf portb,0
    nop
    nop
    bcf portb,1
    call del1
    bsf portb,5
    nop
    nop
    bcf portb,4
    call del1
    bsf portb,2
    nop
    nop
    bcf portb,3
    call del1
    bsf portb,1
    nop
    nop
    bcf portb,0
    call del1
    bsf portb,4
    decfsz count1
    goto dev1

    dev2 bcf portb,5 ;2 inci devre çalıştır
    bcf portb,3
    bcf portb,0
    call del2
    bsf portb,3
    nop
    nop
    bcf portb,2
    call del2
    bsf portb,0
    nop
    nop
    bcf portb,1
    call del2
    bsf portb,5
    nop
    nop
    bcf portb,4
    call del2
    bsf portb,2
    nop
    nop
    bcf portb,3
    call del2
    bsf portb,1
    nop
    nop
    bcf portb,0
    call del2
    bsf portb,4
    decfsz count2
    goto dev2

    dev3 bcf portb,5 ;3 inci devre çalıştır
    bcf portb,3
    bcf portb,0
    call del3
    bsf portb,3
    nop
    nop
    bcf portb,2
    call del3
    bsf portb,0
    nop
    nop
    bcf portb,1
    call del3
    bsf portb,5
    nop
    nop
    bcf portb,4
    call del3
    bsf portb,2
    nop
    nop
    bcf portb,3
    call del3
    bsf portb,1
    nop
    nop
    bcf portb,0
    call del3
    bsf portb,4
    goto dev3

    del1 movlw .20 ;1 inci devre zamanı
    movwf delay1
    movlw .110
    movwf delay2
    decfsz delay2
    goto $-1
    decfsz delay1
    goto $-5
    return

    del2 movlw .18 ;2 inci devre zamanı
    movwf delay1
    movlw .110
    movwf delay2
    decfsz delay2
    goto $-1
    decfsz delay1
    goto $-5
    return

    del3 movlw .15 ;17 orjın 3 inci devre zamanı
    movwf delay1
    movlw .100
    movwf delay2
    decfsz delay2
    goto $-1
    decfsz delay1
    goto $-5

    btfss portb,7 ;mosfetlerde + varmı
    goto atl
    btfsc porta,4 ;porta,4 - mi
    bcf portb,7 ;mosfetmerin + sını kapat
    btfsc porta,1 ;porta,1 - mi
    call eror

    btfss portb,7 ;mosfetlerde + varmı
    atl incf data3
    movf data3,w
    sublw .255
    btfsc status,2
    goto instal
    return

    eror bcf portb,7 ;mosfetmerin + sını kapat
    decf data4
    return

    din clrf data4
    btfss porta,0
    goto led
    goto start

    led bsf porta,3
    call sel
    bcf porta,3
    call sel
    goto led

    sel movlw .250
    movwf delay1
    movlw .250
    movwf delay2
    decfsz delay2
    goto $-1
    decfsz delay1
    goto $-5

    btfsc porta,0
    goto start
    return



    bekle movlw .100
    movwf delay1
    de1 movlw .220
    movwf delay2
    de2 movlw .220
    movwf delay3
    de3 decfsz delay3
    goto de3
    decfsz delay2
    goto de2
    decfsz delay1
    goto de1
    return

    end







  • Atmelin uygulama notlarına baktınmı ?
    http://www.atmel.com/dyn/products/app_notes.asp?family_id=607
    Faydalı bilgiler bulursun.
  • atmel dıyorsun pic programı verıyorsun ?
    ne iş anlamadım neyse sorun yok .
    bu işi 16F84 ile yapamazsın bunu programlı degılde bu iş için entegreler var onlarla yapman daha ıyı olur anahtar kelıme mc3phac atmel e yenı yenı gırş yaptıgımdan fazla bılgım yok pic ile microchıp in sıtesınde 5 6 tane app not var bukonuda 16F777 18F452 vb entegrelerle yapılmış uygulamalar var.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.