PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) (http://www.picvietnam.com/forum/forumdisplay.php?f=12)
-   -   Cần hỏi về lập trình trên MPLAB (http://www.picvietnam.com/forum/showthread.php?t=10900)

tnt.fet 23-08-2011 11:55 AM

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.


Múi giờ GMT. Hiện tại là 06:01 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam