Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

16f777 pwm problemi

Başlatan ylmz, 21 Mayıs 2014, 12:03:04

ylmz

Arkadaşlar merhaba bilindiği üzere 16f777 de üç adet pwm çıkışı bulunmaktadır
Fakat 3 cu pwm çıkışını aktif hale getiremıyorum
RB5/AN13/CCP3
Adcon lardan ayar yapmama rağmen olmuyor önerisi olan varmı acaba ?
Regülatör Dns Trafo | Regülatör | Redresör | Ups

OG

CCP1CON = %00001100  'Mode select = PWM
CCP2CON = %00001100  'Mode select = PWM
CCP3CON = %00001100  'Mode select = PWM
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

ylmz

Müdür onu denedım 1 ve 2 yı açıyor 3 u açmıyor aktif 5 volt a getiriyor ama pwm çıkışı yok çıkışları şu sekılde alıyorum
HPWM 1,sinyal,frek  ; PWM GÖNDERIYORUZ
HPWM 2,sinyal,frek  ; PWM GÖNDERIYORUZ
HPWM 3,sinyal,frek  ; PWM GÖNDERIYORUZ
Regülatör Dns Trafo | Regülatör | Redresör | Ups

OG

Alıntı yapılan: ylmz - 21 Mayıs 2014, 12:09:50
Müdür onu denedım
Böyle bir hitap yok........

HPWM 3 diye de bir komut yok. HPWM komutu 1 ve 2 için kullanılabilir. Değerleri direk registere vereceksin.

        CCPR1L = x
        CCPR2L = y
        CCPR3L = z

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

ylmz

#4
hemen denıyorum :)

mesaj birleştirme:: 21 Mayıs 2014, 12:19:52

hocam böyle olduguna emınmıyız cunkı derleme hatası verıyor
CCPR1L = x
        CCPR2L = y
        CCPR3L = z
Regülatör Dns Trafo | Regülatör | Redresör | Ups

OG

#5
Önce PWM ayarlarının ataması yapmalısın en üstte.

''''' 1221 Hz ''''''
    PR2 = 254
    T2CON = %00000110  '

'Set CCP modules to PWM mode 
CCP1CON = %00001100  'Mode select = PWM
CCP2CON = %00001100  'Mode select = PWM
CCP3CON = %00001100  'Mode select = PWM

CCP1CON.4 = 0   ''' PWM 8 bit kullanım için son 2 bit ler 0
CCP1CON.5 = 0

CCP2CON.4 = 0
CCP2CON.5 = 0

CCP3CON.4 = 0
CCP3CON.5 = 0




'''''''
        CCPR1L = x
        CCPR2L = y
        CCPR3L = z

mesaj birleştirme:: 21 Mayıs 2014, 12:25:02

Proton örnek kod

Device 16F777
    @config_req
    @__config _config1, cp_all & ccp2_rc1 & debug_off & vbor_4_2 & boren_0 & mclr_off & pwrte_on & wdt_off & extclk
    @__config _config2, borsen_0 & ieso_off & fcmen_off


Xtal = 20 
All_Digital = true


Declare CCP1_Pin PORTC.2 
Declare CCP2_Pin PORTC.1
Declare CCP3_Pin PORTB.5    


OPTION_REG=%00001111    '  
INTCON = 0        ' kesmesiz çalış


TRISA = %11111111                      ; 
TRISB = %01011111
TRISC = %11111001
TRISD = %01111111

TRISE.0 = 1
TRISE.1 = 1
TRISE.2 = 1
TRISE.3 = 1

CMCON=7

ADCON1.0 = 1            '' Hepsi digital
ADCON1.1 = 1
ADCON1.2 = 1
ADCON1.3 = 1


''''' 1221 Hz  
    PR2 = 254
    T2CON = %00000110   

CCP1CON = %00001100  'Mode select = PWM
CCP2CON = %00001100  'Mode select = PWM
CCP3CON = %00001100  'Mode select = PWM


.
.
.

    CCPR1L = x 
    CCPR2L = y 
    CCPR3L = z


mesaj birleştirme:: 21 Mayıs 2014, 12:33:28

Alıntı Yaphocam böyle olduguna emınmıyız cunkı derleme hatası verıyor
CCPR1L = x
        CCPR2L = y
        CCPR3L = z

x y z birer değişken, tanımlamamış olabilirmisin

x var byte

y var byte

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

ylmz

#6
sagol alalh razı olsun senden ısımı gördun çok teşekkür ederim evet hepsine ayrı ayrı değişken tanımladım
Regülatör Dns Trafo | Regülatör | Redresör | Ups