Merhaba arkadaslar ben asagidaki kodun bir kismini internetten buldum ve kendime gore duzenledim. Ama bir turlu yorumlayamadigim kisim zamanlayicinin ne zaman tasip tasmadigi. 16F877A pic kullaniyorum ve RB0 pinine bagli bir ledim var. Bu ledi istedigim zaman araliginda acilip ayni zaman sonra tekrar kapanmasini istiyorum. Size zahmet koduma bakip nereyi bu zamanlamayi nasil ayarlayabilecegimi soylermisiniz. Kullandigim dil mikroc.
sbit LED at RB0_bit;
void interrupt() {
time++ ;
if (time == 100) { // if time is 76
LED = ~LED; // then toggle led and
time = 0; // reset time
}
PIR1.TMR1IF = 0; // clear TMR1IF
TMR1H = 128;
TMR1L = 0;
}
void main() {
PORTB = 0x00; // Initialize PORTB
TRISB = 0; // PORTB is output
T1CON = 1; // Timer1 settings
PIR1.TMR1IF = 0; // clear TMR1IF
TMR1H = 0x80; // Initialize Timer1 register
TMR1L = 0x00;
PIE1.TMR1IE = 1; // enable Timer1 interrupt
time = 0; // initialize cnt
INTCON = 0xC0; // Set GIE, PEIE
do {
} while (1);
}
Gecikmeli yanma ve sönme mi istediğiniz?