pilna pomoc wymagany - sprawdź kod '51 potrzebne

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

 
Witaj!

Twoje szanse na uzyskanie odpowiedzi są niskie.Oto niektóre powody:

1.Tytuł nie zawiera żadnej podpowiedzi, co chcesz robić.Na przykład
"Problem z PWM z PIC16xxx" lub cokolwiek innego, coś, co może przyciągnąć
osób korzystających z tego samego procesora.

2."Pilne pomocy wymaga" ... "plz posyłać mi ten kod jak najszybciej.
Jesteś w pośpiechu?Dobrze, ale wszyscy w tym świecie jest w pośpiechu.I nikt
na forum zostanie wypłacona dostarczyć rozwiązanie.Proszę więc uniknąć tego rodzaju
wniosku.

3.Byłoby miło, gdyby nam powiedzieć dokładnie co jest nie tak.Powiedz nam co to
powinien zrobić, nie co robi.Więc mam wrażenie, że nawet nie
staram się zrozumieć, co się dzieje i że chcesz kogoś na forum
zrobić swoją pracę domową.

4.Zdaję sobie sprawę, że język angielski nie jest językiem ojczystym (nie jest to ani moja), ale
byłoby to zbyt wiele pracy, aby napisać "ty" zamiast "u", "proszę" zamiast "plz"
itp ...?Czy myślisz, że możesz się spodziewać innych osób najpierw odcyfrować, co
Ci napisał, a następnie sprawdzenie kodu?
Jeśli można by spróbować napisać w sposób bardziej standardowe (wielka litera na początku
każdego zdania, punktu na koniec, oddzielać poszczególne części "I"
zamiast "ja", czy miałoby to żądanie bardziej czytelne.Rodzaj stosunku
w stosunku do ludzi, do których proszą pomoc.

Teraz, szybki rzut oka na kod (nie wiem co 89c251 jest, więc skupię się
na kod tylko).

1.Masz jedno GREEN_SIG która jest zdefiniowana jako P3 ^ 5.Teraz to, co jest Green_sig
wykorzystywane w main ()?(dlaczego jest napisane małymi literami?)

2.I'll Załóżmy, że Twój kompilator ignoruje sprawy i dlatego Green_sig jest
takie same jak GREEN_SIG.Co się stanie jeśli nie jest to 0?Wyciąć silnikowych i
Program kończy.Więc jeśli zaczyna się zły sygnał, nie ma
sposób na uruchomienie PWM pętli, ponieważ program jest zakończone.

3.Zdefiniowano RED_SIG, ale nigdy z niego korzystać.Nie "myślisz
RED_SIG powinny znajdować się gdzieś w programie i powodować duty_cycle do
być zmniejszona?

Dora.

 
^^^^^^^^^^^^
Dobrze powiedziane.To powinno być lepkie.Dodam 5-ta ...
5.Użyj tagów kodu podczas wklejania kodu.

 

Welcome to EDABoard.com

Sponsor

Back
Top