W
Waran
Guest
Dette er koding jeg skrevet og kompilert og ingen feil blir oppdaget.Men etter at jeg har brent de koding i chip og prøve ut i krets Det fungerte ikke.Er det på grunn av krets feil eller koding?Er det mulig at kodingen er feil etter sammensatt og ingen feil er oppdaget?void main (void)
(
TRISA = 0x00; / / Initialiser disse portene som Utganger
TRISC = 0x00; / / Dette er for
TRISD = 0x00; / / Dette tooooPorta = 0x00; / / Initialiser Porta ... så lyset er slått av
PORTC.F0 = 0; / / Brake Off
PORTD.F1 = 1; / / Direction Videresend
PORTD.F1 = 0; / / Direction reverse
mens (1)
(
if (PORTD.F1 == 1)
(
Delay_ms (500);
Delay_ms (500);
Delay_ms (500);
Delay_ms (500); / / 4 * 0,5 sekunder = 2 sekunders pause
PORTC = 0b00001111; / / 0x0F full fart
Delay_ms (500);
Delay_ms (500);
Delay_ms (500);
Delay_ms (500); / / 4 * 0,5 sekunder = 2 sekunders pause
PORTC = 0b00001011; / / 0X0B (3 / 4 full hastighet)
Delay_ms (500);
Delay_ms (500);
Delay_ms (500);
Delay_ms (500); / / 4 * 0,5 sekunder = 2 sekunders pause
PORTC = 0b00000101; / / 0x07 (1 / 2 Full Speed)
Delay_ms (500);
Delay_ms (500);
Delay_ms (500);
Delay_ms (500); / / 4 * 0,5 sekunder = 2 sekunders pause
PORTC = 0b00000011; / / 0x03 (1 / 4 full hastighet)
PORTD.F0 = 1; / / Turn Brake På
Delay_ms (500); / / Pause 0,5 sekunder
PORTD.F0 = 0; / / Turn Brake Off
)
else if (PORTD.F1 = 0)
(
Delay_ms (500);
Delay_ms (500);
Delay_ms (500);
Delay_ms (500); / / 4 * 0,5 sekunder = 2 sekunders pause
PORTC = 0b00001111; / / 0x0F (Full Speed)
Delay_ms (500);
Delay_ms (500);
Delay_ms (500);
Delay_ms (500); / / 4 * 0,5 sekunder = 2 sekunders pause
PORTC = 0b00001011; / / 0X0B (3 / 4 full hastighet)
Delay_ms (500);
Delay_ms (500);
Delay_ms (500);
Delay_ms (500); / / 4 * 0,5 sekunder = 2 sekunders pause
PORTC = 0b00000101; / / 0x07 (1 / 2 Full Speed)
Delay_ms (500);
Delay_ms (500);
Delay_ms (500);
Delay_ms (500); / / 4 * 0,5 sekunder = 2 sekunders pause
PORTC = 0b00000011; / / 0x03 (1 / 4 full hastighet)
PORTD.F0 = 1; / / Turn Brake På
Delay_ms (500); / / Pause 0,5 sekunder
PORTD.F0 = 0; / / Turn Brake Off
)
)
)Funksjonen til denne kodingen er å kjøre en DC motor.If (PORTD.F1 == 1) blir brukt, DC motor vil kjøre i klokken retning, pause i 2 sekunder, og kjøre i full fart.Og det pause på 2 sekunder, kjører til 3 / 4 hastighet og deretter pause på 2 sekunder kjøre til 1 / 2 hastighet og til slutt pause på 2 sekunder og kjøre til 1 / 4 speed.And deretter brems på, pause på 0,5 sekunder og brems av.
Samme prosedyre går, men i mot klokken retning if (PORTD.F1 == 0) blir brukt.Nedenfor er de kretsene jeg brukte for microcontroller tilkoblinger.<img src="http://images.elektroda.net/92_1250234728_thumb.png" border="0" alt=""/>
(
TRISA = 0x00; / / Initialiser disse portene som Utganger
TRISC = 0x00; / / Dette er for
TRISD = 0x00; / / Dette tooooPorta = 0x00; / / Initialiser Porta ... så lyset er slått av
PORTC.F0 = 0; / / Brake Off
PORTD.F1 = 1; / / Direction Videresend
PORTD.F1 = 0; / / Direction reverse
mens (1)
(
if (PORTD.F1 == 1)
(
Delay_ms (500);
Delay_ms (500);
Delay_ms (500);
Delay_ms (500); / / 4 * 0,5 sekunder = 2 sekunders pause
PORTC = 0b00001111; / / 0x0F full fart
Delay_ms (500);
Delay_ms (500);
Delay_ms (500);
Delay_ms (500); / / 4 * 0,5 sekunder = 2 sekunders pause
PORTC = 0b00001011; / / 0X0B (3 / 4 full hastighet)
Delay_ms (500);
Delay_ms (500);
Delay_ms (500);
Delay_ms (500); / / 4 * 0,5 sekunder = 2 sekunders pause
PORTC = 0b00000101; / / 0x07 (1 / 2 Full Speed)
Delay_ms (500);
Delay_ms (500);
Delay_ms (500);
Delay_ms (500); / / 4 * 0,5 sekunder = 2 sekunders pause
PORTC = 0b00000011; / / 0x03 (1 / 4 full hastighet)
PORTD.F0 = 1; / / Turn Brake På
Delay_ms (500); / / Pause 0,5 sekunder
PORTD.F0 = 0; / / Turn Brake Off
)
else if (PORTD.F1 = 0)
(
Delay_ms (500);
Delay_ms (500);
Delay_ms (500);
Delay_ms (500); / / 4 * 0,5 sekunder = 2 sekunders pause
PORTC = 0b00001111; / / 0x0F (Full Speed)
Delay_ms (500);
Delay_ms (500);
Delay_ms (500);
Delay_ms (500); / / 4 * 0,5 sekunder = 2 sekunders pause
PORTC = 0b00001011; / / 0X0B (3 / 4 full hastighet)
Delay_ms (500);
Delay_ms (500);
Delay_ms (500);
Delay_ms (500); / / 4 * 0,5 sekunder = 2 sekunders pause
PORTC = 0b00000101; / / 0x07 (1 / 2 Full Speed)
Delay_ms (500);
Delay_ms (500);
Delay_ms (500);
Delay_ms (500); / / 4 * 0,5 sekunder = 2 sekunders pause
PORTC = 0b00000011; / / 0x03 (1 / 4 full hastighet)
PORTD.F0 = 1; / / Turn Brake På
Delay_ms (500); / / Pause 0,5 sekunder
PORTD.F0 = 0; / / Turn Brake Off
)
)
)Funksjonen til denne kodingen er å kjøre en DC motor.If (PORTD.F1 == 1) blir brukt, DC motor vil kjøre i klokken retning, pause i 2 sekunder, og kjøre i full fart.Og det pause på 2 sekunder, kjører til 3 / 4 hastighet og deretter pause på 2 sekunder kjøre til 1 / 2 hastighet og til slutt pause på 2 sekunder og kjøre til 1 / 4 speed.And deretter brems på, pause på 0,5 sekunder og brems av.
Samme prosedyre går, men i mot klokken retning if (PORTD.F1 == 0) blir brukt.Nedenfor er de kretsene jeg brukte for microcontroller tilkoblinger.<img src="http://images.elektroda.net/92_1250234728_thumb.png" border="0" alt=""/>