X
xundeadx
Guest
hi i am pomocí p18f4520 mikročipovými pic s picdem 2 plus demo deska
v současné době mého programu jsem si je nastavit potenciometrem @ RA0 zkontrolovat moje napětí.při více než 4,5 volt 4 LED blikat, mezi 4,5-4 4 vedly světla nahoru, 4-3v 3 vedl světle až 3-2V 2 vedla rozsvítit, 2-1V 1 vedl rozsvítit, méně pak 1V 1 vedl blikající
Teď chci integrovat program s PWM umožňující ovládání jasu na LED.
Níže je můj kód
ps: Jsem nováček @ pic a c programování ...plz použití více laikovi pojem o explainning thx!
Kód:# include <p18f4520.h>
# include <delays.h>
# include <stdio.h>
# include <xlcd.h># pragma config WDT = OFFvoid main (void)
(
unsigned char výsledek;
ADCON0 = ADCON0 ^ 0x01;
TRISB = 0;
PORTB = 0;
while (1)
(
ADCON0 = ADCON0 ^ 0x02;
while (ADCON0 & 0x02) ()
result = ADRESH;if (výsledek> 0xE5)
(
PORTB = 0x0F;
Delay1KTCYx (100);
PORTB = 0x00;
Delay1KTCYx (100);
)
else if (result <= 0xE5 & & výsledku> = 0x99)
(
PORTB = 0x0F;
Delay1KTCYx (100);
)
else if (result <0x99 & & výsledku> = 0x66)
(
PORTB = 0x07;
Delay1KTCYx (100);
)
else if (result <0x66 & & výsledku> = 0x33)
(
PORTB = 0x03;
Delay1KTCYx (100);
)
else if (result <0x33 & & výsledku> = 0x19)
(
PORTB = 0x01;
Delay1KTCYx (100);
)
else if (result <0x19)
(
PORTB = 0x01;
Delay1KTCYx (100);
PORTB = 0x00;
Delay1KTCYx (100);
)
jiné
(
PORTB = 0x00;
)
)
)
v současné době mého programu jsem si je nastavit potenciometrem @ RA0 zkontrolovat moje napětí.při více než 4,5 volt 4 LED blikat, mezi 4,5-4 4 vedly světla nahoru, 4-3v 3 vedl světle až 3-2V 2 vedla rozsvítit, 2-1V 1 vedl rozsvítit, méně pak 1V 1 vedl blikající
Teď chci integrovat program s PWM umožňující ovládání jasu na LED.
Níže je můj kód
ps: Jsem nováček @ pic a c programování ...plz použití více laikovi pojem o explainning thx!
Kód:# include <p18f4520.h>
# include <delays.h>
# include <stdio.h>
# include <xlcd.h># pragma config WDT = OFFvoid main (void)
(
unsigned char výsledek;
ADCON0 = ADCON0 ^ 0x01;
TRISB = 0;
PORTB = 0;
while (1)
(
ADCON0 = ADCON0 ^ 0x02;
while (ADCON0 & 0x02) ()
result = ADRESH;if (výsledek> 0xE5)
(
PORTB = 0x0F;
Delay1KTCYx (100);
PORTB = 0x00;
Delay1KTCYx (100);
)
else if (result <= 0xE5 & & výsledku> = 0x99)
(
PORTB = 0x0F;
Delay1KTCYx (100);
)
else if (result <0x99 & & výsledku> = 0x66)
(
PORTB = 0x07;
Delay1KTCYx (100);
)
else if (result <0x66 & & výsledku> = 0x33)
(
PORTB = 0x03;
Delay1KTCYx (100);
)
else if (result <0x33 & & výsledku> = 0x19)
(
PORTB = 0x01;
Delay1KTCYx (100);
)
else if (result <0x19)
(
PORTB = 0x01;
Delay1KTCYx (100);
PORTB = 0x00;
Delay1KTCYx (100);
)
jiné
(
PORTB = 0x00;
)
)
)