T
tyassin
Guest
Hai
Saya melakukan beberapa latihan sederhana dan sangat baru untuk MCU.Namun saya ada masalah dengan sangat sederhana C kode (lihat di bawah).
Kode ini supossed ke empat LEDs cahaya pada PICkit untuk menghitung 1,2,4,8.Hal ini seharusnya cahaya yang LEDs berurutan, satu per satu.
Namun ini hanya bekerja bila ada "menunda" sama dengan 5 atau kurang.Jika saya memiliki "menunda" yang mengatakan maka hanya 500 pertama LED (RC0) adalah lit.Keluaran yang lain adalah nol.The "msecbase" fungsi yang harus membuat 1ms penundaan.PIC 16F690 yang adalah.
Kode:# include <pic.h>
__config (INTIO & WDTDIS & MCLRDIS & Unprotect);unsigned penundaan = 7;
void tunda (unsigned msvalue pendek);
void msecbase (void);main ()
(
ANSEL = 0;
CM1CON0 = 0;
CM2CON0 = 0;
PORTC = 0x00;
TRISC = 0x00;
sementara (1 == 1)
(
int x;
for (x = 1; x <9, x = x * 2)
(
PORTC = x;
jeda (delay);
)
)
)void tunda (unsigned msvalue singkat)
(
unsigned singkat y;
for (y = 0; y <= msvalue; y )
(
msecbase ();
)
)void msecbase (void)
(
OPTION = 0b00000001;
TMR0 = 0xD;
while (! T0IF);
T0IF = 0;
)
Saya melakukan beberapa latihan sederhana dan sangat baru untuk MCU.Namun saya ada masalah dengan sangat sederhana C kode (lihat di bawah).
Kode ini supossed ke empat LEDs cahaya pada PICkit untuk menghitung 1,2,4,8.Hal ini seharusnya cahaya yang LEDs berurutan, satu per satu.
Namun ini hanya bekerja bila ada "menunda" sama dengan 5 atau kurang.Jika saya memiliki "menunda" yang mengatakan maka hanya 500 pertama LED (RC0) adalah lit.Keluaran yang lain adalah nol.The "msecbase" fungsi yang harus membuat 1ms penundaan.PIC 16F690 yang adalah.
Kode:# include <pic.h>
__config (INTIO & WDTDIS & MCLRDIS & Unprotect);unsigned penundaan = 7;
void tunda (unsigned msvalue pendek);
void msecbase (void);main ()
(
ANSEL = 0;
CM1CON0 = 0;
CM2CON0 = 0;
PORTC = 0x00;
TRISC = 0x00;
sementara (1 == 1)
(
int x;
for (x = 1; x <9, x = x * 2)
(
PORTC = x;
jeda (delay);
)
)
)void tunda (unsigned msvalue singkat)
(
unsigned singkat y;
for (y = 0; y <= msvalue; y )
(
msecbase ();
)
)void msecbase (void)
(
OPTION = 0b00000001;
TMR0 = 0xD;
while (! T0IF);
T0IF = 0;
)