PWM valdymas naudojant mygtukus

A

ashwal31

Guest
Esu naujas mikrokontrolerów.Aš ketinu sukurti savo pirmąjį projektą "Push Button kontroliuojamas PWM" naudojant PIC12F675 už blausumas LED.

Noriu kontrolės ciklas nuo 100 Hz impulsų 0-100%.
Du mygtukai, vienas žingsnis, o kitą Mažėja muito ciklas.
Rezoliucijoje reikalaujama, yra po 2%.

Prašau padėti man su kodu.Thx.

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Šypsotis" border="0" />ashwal.patel (at) gmail.com

 
infact tai šis DC Motor Control naudojant PWM su prieaugio ir Mažėja raktas tiesiog išbandyti šį ir kodavimas gali gauti tam tikrą idėją

#
include <pic.h>
# include "delay.c"

__CONFIG (0x1932);

tuščia PWM_INIT ();
tuščia PWM_ON (unsigned int);
tuščia PWM_OFF ();
tuščia PWM_INC ();

statinis unsigned int inc;
unsigned int PWM;

void main ()
(
TRISB = 0x0F;
RB4 = 0;
RB7 = 0;
RBPU = 0;

PWM_INIT ();
inc = 1;
DelayMs (10);
o (1)
(
if (RB0 == 0)
(
DelayMs (3);
if (RB0 == 0)
(
RB7 = 1;
if (inc <23)
inc ;
)
)
if (RB1 == 0)
(
DelayMs (3);
if (RB1 == 0)
(
RB7 = 1;
if (inc> 1)
Inc -;
)
)

if (RB2 == 0)
(
DelayMs (5);
if (RB2 == 0) (
PWM = (inc * 6) 60;
PWM_ON (PWM);
)
)
if (RB3 == 0)
(
DelayMs (5);
if (RB3 == 0)
(
PWM_OFF ();
RB7 = 0;
DelayMs (5);
PWM_INIT ();
)
)
)
)tuščia PWM_INIT ()
(
TRISC1 = TRISC2 = 0;
RC1 = RC2 = 0;
Pr2 = 199;
CCPR2L = 0;
CCP2CON = 0x0C;
T2CON = 0x06;
)

tuščia PWM_ON (unsigned int val)
(
CCPR2L = val;
)
tuščia PWM_OFF () (
CCP2CON = 0x00;
if (pr2) pr2 = 0;
if (CCPR2L) CCPR2L = 0;
TMR2ON = 0;
RC1 = 0;
)

 

Welcome to EDABoard.com

Sponsor

Back
Top