Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

PWM s PIC 12F675

 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
DMF
Neregistrovaný





PříspěvekZaslal: st březen 21 2007, 17:19    Předmět: PWM s PIC 12F675 Citovat

Ahoj,dá se udělat s tímto picem PWM třaba na 400 Hz ? Poradil by mi někdo jak napsat program (nemyslím konkrétně spíš schématicky)?
Díky
Návrat nahoru
anonym






PříspěvekZaslal: st březen 21 2007, 23:21    Předmět: Citovat

Důležité je rozlišení - krok, který potřebuješ. Ale 400Hz není problém, dělal jsem něco takového pro 4kHz pomocí přerušení. Ono spíš záleží, jestli procesor dělá hlavně PWM, nebo především něco jiného a kolik kanálů potřebuješ. Jednoduchým řešením je ovšem dostupná 12F683, která má PWM.
Jednoduchý příklad:

kód:
;**********************************************************************
;    Files required: <P12F675.INC>                                                 
;
;**********************************************************************
    list      p=12F675          ; list directive to define processor
    #include <P12F675.INC>      ; processor specific variable definitions
    errorlevel -302
    __CONFIG   _CP_OFF &_CPD_OFF & _WDT_OFF & _MCLRE_OFF &_BODEN_OFF &_PWRTE_ON &_INTRC_OSC_NOCLKOUT
;--------- VARIABLE DEFINITIONS ---------------------------------------
#define RAM_Start 0x20
    CBLOCK RAM_Start
ucrHI                           ; universalni registr HI
    ENDC
;--------- CONSTANTS DEFINITIONS---------------------------------------
vykon           EQU     0x80    ; pozadovany vykon 50%
led_OUT         EQU     GPIO2   ; LED proti zemi
;----------------------------------------------------------------------
        ORG     0x000           ; Processor reset vector
reset
 
        goto LED_UP             ; Go to beginning of program

        ORG     0x004           ; interrupt vector location
;----------------------------------------------------------------------
;   Podprogram pro PWM LED
;----------------------------------------------------------------------
LED_UP
           movlw vykon
loop_PWM   movwf ucrHI           ; Ton
           bsf GPIO,led_OUT      ; LED ON
lole0      decfsz ucrHI,F
           goto lole0
           movwf ucrHI   
           comf ucrHI,F          ; Toff = T - Ton
           bcf GPIO,led_OUT      ; LED OFF
lole1      decfsz ucrHI,F
           goto lole1
           goto loop_PWM
       
        END                     ; directive 'end of program'
Návrat nahoru
DMF
Neregistrovaný





PříspěvekZaslal: čt březen 22 2007, 12:23    Předmět: Citovat

Díky.
Jednodušší skutečně bude použít ten 12F683
Návrat nahoru
WhiTe
Neregistrovaný





PříspěvekZaslal: pá březen 30 2007, 10:04    Předmět: Citovat

jak by se to resilo kdybych potreboval vic kanalu?
diky
Návrat nahoru
ViPali



Založen: Nov 21, 2005
Příspěvky: 524
Bydliště: Bratislava

PříspěvekZaslal: pá březen 30 2007, 12:29    Předmět: Citovat

Spravíš dva (štyri) sa samostatné cykly pre zapnutie, vypnutie dvoch kanálov.
_________________
Ako elektrikár sa cítim slobodne.
Môžem hovoriť do vedenia!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.17 sekund