U
Usmani
Guest
Plz check follwing kod i popraw.
Problem jest
w p3.4 i p3.5 z 89c2051 sygnał wysokiej is coming ( 4,08 v) i chcą generować coraz PWM gdy p3.4 idzie niskie i jeśli p3.5 idzie niski spadek PWM powinny być generowane na p1.6.
plz posyłać mi ten kod jak najszybciej.
I byłby wdzięczny, gdyby u rozwiązać ten kod i wysłać do mnie pełne prawidłowy kod jak najszybciej.
Kod jest na podstawie.# include <reg51.h>
# include <intrins.h>
/ / I / O Pins
/ / Szpilki, 89c2051
sbit PWM_OUT = P1 ^ 6;
sbit GREEN_SIG = P3 ^ 4;
sbit RED_SIG = P3 ^ 5;
unsigned char duty_cycle = 1;
/ / Liczba impulsów.
# define PULSES_LIMIT 1000
# define MOTOR_ON 1
# define MOTOR_OFF 0
/ / Delay Pozycja
void Delay5Us (unsigned char delay)
(
while (opóźnienie)
(
opóźnienie -;
_nop_ ();
)
) / / DelayUs
void RunCar ()
(
unsigned int pulse_count = 0;
duty_cycle = 20;
while (GREEN_SIG = 0)
/ / While (0)
(
PWM_OUT = MOTOR_ON;
if (duty_cycle <60)
(
if (pulse_count == PULSES_LIMIT)
(
duty_cycle ;
pulse_count = 0;
)
pulse_count ;
Delay5Us (duty_cycle * 10);
PWM_OUT = MOTOR_OFF;
Delay5Us ((20-duty_cycle) * 10);
)
)
) / / RunCarvoid StopCar ()
(
PWM_OUT = 0;
) / / StopCar
void main ()
(
PWM_OUT = MOTOR_OFF;
if (Green_sig == 0)
(
while (1)
(
RunCar ();
)
w przeciwnym razie
StopCar ();
)
) / / main
Problem jest
w p3.4 i p3.5 z 89c2051 sygnał wysokiej is coming ( 4,08 v) i chcą generować coraz PWM gdy p3.4 idzie niskie i jeśli p3.5 idzie niski spadek PWM powinny być generowane na p1.6.
plz posyłać mi ten kod jak najszybciej.
I byłby wdzięczny, gdyby u rozwiązać ten kod i wysłać do mnie pełne prawidłowy kod jak najszybciej.
Kod jest na podstawie.# include <reg51.h>
# include <intrins.h>
/ / I / O Pins
/ / Szpilki, 89c2051
sbit PWM_OUT = P1 ^ 6;
sbit GREEN_SIG = P3 ^ 4;
sbit RED_SIG = P3 ^ 5;
unsigned char duty_cycle = 1;
/ / Liczba impulsów.
# define PULSES_LIMIT 1000
# define MOTOR_ON 1
# define MOTOR_OFF 0
/ / Delay Pozycja
void Delay5Us (unsigned char delay)
(
while (opóźnienie)
(
opóźnienie -;
_nop_ ();
)
) / / DelayUs
void RunCar ()
(
unsigned int pulse_count = 0;
duty_cycle = 20;
while (GREEN_SIG = 0)
/ / While (0)
(
PWM_OUT = MOTOR_ON;
if (duty_cycle <60)
(
if (pulse_count == PULSES_LIMIT)
(
duty_cycle ;
pulse_count = 0;
)
pulse_count ;
Delay5Us (duty_cycle * 10);
PWM_OUT = MOTOR_OFF;
Delay5Us ((20-duty_cycle) * 10);
)
)
) / / RunCarvoid StopCar ()
(
PWM_OUT = 0;
) / / StopCar
void main ()
(
PWM_OUT = MOTOR_OFF;
if (Green_sig == 0)
(
while (1)
(
RunCar ();
)
w przeciwnym razie
StopCar ();
)
) / / main