View Single Post
Old 23-08-2011, 11:55 AM   #1
tnt.fet
Nhập môn đệ tử
 
Tham gia ngày: Aug 2011
Bài gửi: 2
:
Cần hỏi về lập trình trên MPLAB

#include <p18f46k20.h>
#pragma config FOSC = HS, WDTEN = OFF, PBADEN = OFF, MCLRE = ON, LVP = OFF
char id = 0;

void main(void);
void init_timer0();
void interrupt_handler(void);


void main(void)
{

TRISD = 0x00;
LATD = 0x00;



INTCON = 0x20; //disable global and enable TMR0 interrupt
INTCON2 = 0x84; //TMR0 high priority
RCONbits.IPEN = 1; //enable priority levels
TMR0H = 0; //clear timer
TMR0L = 0; //clear timer
T0CON = 0x82; //set up timer0 - prescaler 1:8
INTCONbits.GIEH = 1; //enable interrupts

while(1);

}






#pragma code interrupt_vector = 0x08
void interrupt_vector(void)
{
_asm
goto interrupt_handler
_endasm
}


#pragma interrupt interrupt_handler
void interrupt_handler(void)
{
INTCONbits.TMR0IF=0;
id++;
if(id==2)
{
id = 0;
LATD++;
}

}





Ai gải thích dùm em mỗi dòng trong đoạn code trên với ạ. Đoạn này dùng trong nháy 7Led. Em đang học VDK p18f46k20 mà lại vướng mắc ở phần interrgupt và timer.
tnt.fet vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn