Добро пожаловать на EDABoard.com! Международный электронный дискуссионный форум: программное обеспечение EDA, схемы, схемы, книги, теория, документы, asic, pld, 8051, DSP, сеть, RF, аналоговый дизайн, печатная плата, сервисные руководства

Register Log in

PWM с помощью кнопок

A

ashwal31

Guest
Я новичок в микроконтроллер.Я собираюсь построить свой первый проект "Кнопка контролируется PWM", используя для PIC12F675 слабее светодиодных.

Я хочу управлять долгом цикла 100Гц пульс от 0-100%.
Две кнопки, одна для инкремента и декремента для другой службы цикла.
Резолюция, необходимых шагов в размере 2%.

Пожалуйста, помогите мне с кодом.Thx.

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Улыбка" border="0" />ashwal.patel (AT) gmail.com

 
A

arunmozhi

Guest
фактически этот эту кодировку для двигателя с помощью PWM с инкремента и декремента ключа просто попробовать с этим у можете получить некоторое представление

# включить <pic.h>
# включить "delay.c"

__CONFIG (0x1932);

недействительным PWM_INIT ();
недействительным PWM_ON (неподписанные INT);
недействительным PWM_OFF ();
недействительным PWM_INC ();

статические неподписанными INT Inc;
Неподписанный INT PWM;

недействительным Main ()
(
TRISB = 0x0F;
RB4 = 0;
RB7 = 0;
RBPU = 0;

PWM_INIT ();
Inc = 1;
DelayMs (10);
в то время как (1)
(
если (RB0 == 0)
(
DelayMs (3);
если (RB0 == 0)
(
RB7 = 1;
если (МКП <23)
вкл ;
)
)
если (RB1 == 0)
(
DelayMs (3);
если (RB1 == 0)
(
RB7 = 1;
если (вкл> 1)
вкл -;
)
)

если (RB2 == 0)
(
DelayMs (5);
если (RB2 == 0) (
PWM = (вкл * 6) 60;
PWM_ON (PWM);
)
)
если (RB3 == 0)
(
DelayMs (5);
если (RB3 == 0)
(
PWM_OFF ();
RB7 = 0;
DelayMs (5);
PWM_INIT ();
)
)
)
)PWM_INIT недействительными ()
(
TRISC1 = TRISC2 = 0;
RC1 = RC2 = 0;
PR2 = 199;
CCPR2L = 0;
CCP2CON = 0x0c;
T2CON = 0x06;
)

недействительным PWM_ON (неподписанные INT вал)
(
CCPR2L = Val;
)
недействительным PWM_OFF () (
CCP2CON = 0x00;
если (PR2) PR2 = 0;
если (CCPR2L) CCPR2L = 0;
TMR2ON = 0;
RC1 = 0;
)

 
Toggle Sidebar

Welcome to EDABoard.com

Sponsor

Top