pic_low_frequency

T

Tom2

Guest
Jeg ønsker at sætte en switch på min kreds, som når jeg tænder den frekvens, som producerer i pic blive lower.Is nogen, der ved, hvordan man gør det????

 
Hej!
Udarbejde ur spørgsmål?
hvad jeg har forstået er, at ur-controller er at skabe en form for udgangssignal, og du ønsker at variere sin frekvens ved tryk på en knap.
Er det, hvad u wanna controlleren til at gøre?

Hilsen.

 
Ligesom Waseem sagde, ikke nok information.Hvad jeg ville gøre (meget rå)

Setup-kode til at udføre, når en knap er skubbet via meningsmålinger eller afbryde
I denne kode skifte til fast tilstand, hvis i slowmotion eller langsom, hvis i hurtige (skift hastighed)

Du kan langsom uret ved at ændre den præ-skalaen, da det har en ..

3v0

 
Udarbejde ur spørgsmål?
hvad jeg har forstået er, at ur-controller er at skabe en form for udgangssignal, og du ønsker at variere sin frekvens ved tryk på en knap.
Er det, hvad u wanna controlleren til at gøre?
Exacly dette jeg want.When skubbe kontakten Jeg vil variere den hyppighed, som det arbejde (med ud ændre krystal eller omprogrammering pic)

 
Hej!
Dette kan gøres meget nemt.

Hvis du bruger en timer afbryde at generere den frekvens, så kan du variere frekvensen ved at ændre Prescaler indstillinger.
En anden metode er at indlæse timer med en forudindstillet værdi.Ved at variere den forudindstillede værdi forskellige frekvenser kan genereres.

Hvis du fortæller om processoren, og det sprog, du bruger til ur-projekt så jeg kan hjælpe dig med at skrive koden.

Hilsen.

 
Jeg forsøger koden Bellow, men jeg ved ikke om er correct.Please hjælp# include <18F4550.h>
# enhed ADC = 16
# USE forsinkelse (CLOCK = 4000000)
# sikringer XT, NOWDT, NOPROTECT, NOLVP
int swich_function (b) (
int a;
if (input (PIN_A3))
a = b;
else if (input (PIN_A4))
a = b <<2;
else if (input (PIN_A5))
a = b <<4;
else if (input (PIN_E0))
a = b <<6;

return a;
)void main ()
(
int a;
lang adc_result;
read_adc () <<2;

while (1) (
setup_adc_ports (ALL_ANALOG);
setup_adc (ADC_CLOCK_DIV_4);
setup_ccp1 (CCP_PWM);
setup_timer_2 (T2_DIV_BY_1, 255, 1);

set_adc_channel (0);

a = read_adc ();
adc_result = swich_function (a);set_pwm1_duty (adc_result);)
)

 
Jeg prøver denne (enkle) kode også, men jeg har ikke ret reult
# include <18F4550.h>
# enhed ADC = 16
# USE forsinkelse (CLOCK = 4000000)
# sikringer XT, NOWDT, NOPROTECT, NOLVPvoid main () (
/ / int a;
lang adc_result;
read_adc () <<2;

setup_adc_ports (ALL_ANALOG);
setup_adc_ports (ADC_CLOCK_DIV_4);
setup_ccp1 (ccp_pwm);
while (1) (
if (! input (PIN_A4))
read_adc () <<6;
else if (! input (PIN_B0))
read_adc () <<8;

adc_result = read_adc ();
set_pwm1_duty (adc_result);
)
setup_timer_2 (T2_DIV_BY_1, 255,1);
set_adc_channel (0);

)

 

Welcome to EDABoard.com

Sponsor

Back
Top