forum.mcontrollers.com - hlavní stránka forum.mcontrollers.com - fórum

 

.: fórum - hlavní stránka :.
Technology Stronghold by Rudolf Vesely
How to build Microsoft System Center hosted cloud series
FAQFAQ HledatHledat Seznam uživatelůSeznam uživatelů Uživatelské skupinyUživatelské skupiny RegistraceRegistrace
ProfilProfil StatistikaStatistika Soukromé zprávySoukromé zprávy PřihlášeníPřihlášení

 
AT89S52 PWM řízení pomocí tlačítka pro zm. / zvětšení střídy

 
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> 8051 / 8052
 
1petr2
Anonymní





PříspěvekZaslal: 05 srpen 2014, 18:27    Předmět: AT89S52 PWM řízení pomocí tlačítka pro zm. / zvětšení střídy Citovat

Zdravím,

programuji přes asembler S52. Potřebuji udělat Pwm řízení pomocí tlačítka (tlačítko up a down =>zmenšení zvětšení střídy)

tenhle kod jsem našel pro řízení přes pwm ale není zde možnost nastavení střídy pomocí tlačítek.



PWMPIN EQU P1.0 ; PWM output pin
PWM_SETUP:
MOV TMOD,#00H ; Timer0 in Mode 0
MOV R7, #160 ; R7=0 0V R7=255 5V
SETB EA ; Enable Interrupts
SETB ET0 ; Enable Timer 0 Interrupt
SETB TR0 ; Start Timer
RET





TIMER_0_INTERRUPT:
JB F0, HIGH_DONE ; If F0 flag is set then we just finished
; the high section of the
LOW_DONE: ; cycle so Jump to HIGH_DONE
SETB F0 ; Make F0=1 to indicate start of high section
SETB PWMPIN ; Make PWM output pin High
MOV TH0, R7 ; Load high byte of timer with R7
; (pulse width control value)
CLR TF0 ; Clear the Timer 0 interrupt flag
RETI ; Return from Interrupt to where
; the program came from
HIGH_DONE:
CLR F0 ; Make F0=0 to indicate start of low section
CLR PWMPIN ; Make PWM output pin low
MOV A, #0FFH ; Move FFH (255) to A
CLR C ; Clear C (the carry bit) so it does
; not affect the subtraction
SUBB A, R7 ; Subtract R7 from A. A = 255 - R7.
MOV TH0, A ; so the value loaded into TH0 + R7 = 255
CLR TF0 ; Clear the Timer 0 interrupt flag
RETI ; Return from Interrupt to where
; the program came from



Dělal už někdy podobnou věc pro S52? Zmíněný program je pro řadu 8051 . Jestli někdo zná nějakou stránku či sám dělal byl bych rád za každou radu.

Děkuji za odpoveďi.

Arrow administrator: přejmenováno z "AT89S52 PWM - help"
Návrat nahoru
 

 
1petr2
Anonymní





PříspěvekZaslal: 05 srpen 2014, 18:31    Předmět: Citovat

http://www.expertcore.org/viewtopic.php?t=302

(viz prog)
Návrat nahoru
 

Zobrazit příspěvky z předchozích:   
Zobrazit předchozí téma :: Zobrazit následující téma  
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> 8051 / 8052 Časy uváděny v GMT + 2 hodiny
 
Strana 1 z 1
Přejdi na:  
Můžete přidat nové téma do tohoto fóra.
Můž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.
Můžete k příspěvkům připojovat soubory
Můžete stahovat a prohlížet přiložené soubory
 



Num Lock Holder - app to hold Numlock
Copyright © 2017 Rudolf Veselý, mcontrollers.com.
Je zakázáno používat části tohoto webu bez souhlasu autora. || Powered by phpBB © 2001, 2002 phpBB Group - with RedSquare DoubleJ(Jan Jaap)