Xin mọi người giúp đỡ về ngắt ht pic

halinh12sinh

Trứng gà
hix,chào cả nhà.số là em chuyển từ CCS sang HT PIC.Em đang viết các chương trình về ngắt.hum trước em cài HTpic bình thường,có viết thành công code về tắt,bật led tại chân RB1 bằng timer 0 như trong tutrial của 4rum mình.hum qua,em gỡ cái HT pic để cà lại.không biết có chuyện gì không mà hum nay em không làm cách nào thực hiện được bài tập:nháy led ở PORTC bằng timer 0.HTP báo dịch thành công.nhưng khi nạp vào chip mô phỏng trong protus nó chỉ sáng duy nhất 1 led,vào hiện lên cả loạt cảnh báo.
em đã chụp hình lại,up luôn file mô phỏng và file.c để mọi người xem dùm em với.
Ps:em cũng nạp vào mạch thật lun rồi,nó không chạy.bị đơ y như mông phỏng vậy.
cái chương trình hum bữa viết thành công.giờ dịch lại cũng bị lỗi.không chạy đươc.lẽ nào HTp bị lỗi rồi
 

Attachments

hix,chào cả nhà.số là em chuyển từ CCS sang HT PIC.Em đang viết các chương trình về ngắt.hum trước em cài HTpic bình thường,có viết thành công code về tắt,bật led tại chân RB1 bằng timer 0 như trong tutrial của 4rum mình.hum qua,em gỡ cái HT pic để cà lại.không biết có chuyện gì không mà hum nay em không làm cách nào thực hiện được bài tập:nháy led ở PORTC bằng timer 0.HTP báo dịch thành công.nhưng khi nạp vào chip mô phỏng trong protus nó chỉ sáng duy nhất 1 led,vào hiện lên cả loạt cảnh báo.
em đã chụp hình lại,up luôn file mô phỏng và file.c để mọi người xem dùm em với.
Ps:em cũng nạp vào mạch thật lun rồi,nó không chạy.bị đơ y như mông phỏng vậy.
cái chương trình hum bữa viết thành công.giờ dịch lại cũng bị lỗi.không chạy đươc.lẽ nào HTp bị lỗi rồi.View attachment 78View attachment 79View attachment 78View attachment 79
có tag đánh code trong forum em dùng nhe đừng up file lên , mắc công người coi down về nặng máy :D, còn 2 cái hình em để sao nhỏ xíu thế ko thấy được gì hết:D
 

halinh12sinh

Trứng gà
hj,mong mọi người thông cảm cho em.em chưa biết dùng tag đánh code.em up lại code như sau:

PHP:
#include <htc.h>
__CONFIG(FOSC_HS & WDTE_OFF & PWRTE_ON & MCLRE_ON & CP_OFF & BOREN_OFF & IESO_OFF & FCMEN_OFF & LVP_OFF & DEBUG_OFF); //1st config. Word

__CONFIG(BOR4V_BOR21V); //2st config. Word

#define _XTAL_FREQ 4000000 // su dung thach anh gan ngoai 4MHz

// chuong trinh con phuc vu ngat
void interrupts_isr()
{ static unsigned char i;
  static unsigned int counter; 
if(T0IE&&T0IF)
{
   ++	counter;
		if(counter == 500){
			PORTD = (1<<i) + (1<<(7-i));
			++i;
			if(i==8) i=0;
			counter = 0;
		};
        TMR0 = 0x06;
		T0IF = 0 ;
};
}
/************************************************************************/
// chuong trinh chinh
void main(void)
{ 
    ANSEL=0;
	ANSELH=0;		
	TRISC=0x00;
    T0CS=0;
    PSA=0;
    PS2=0;
    PS1=0;
    PS0=1;
    TMR0=0x06;
    GIE=1;
    T0IE=1;
    T0IF=0;	
  while(1);
}
 

halinh12sinh

Trứng gà
à.mà mọi người cho em hỏi tí; mọi người đang dùng MPLAB và HTPic phiên bản nào vậy?co anh bênh PicVN có cho em code như sau,nhưng em không biên dịch được.
#include <htc.h>
__CONFIG(HS & WDTDIS & PWRTDIS & PROTECT & BORDIS);

#define _XTAL_FREQ 4000000 // su dung thach anh gan ngoai 4MHz

// chuong trinh chinh
void main(void)
{

PORTC=0;
TRISC=0;
OPTION_REG =0b110;
INTCON=0xA0;
T0IE=1;
while(1){};
}


/**********************************************************************/
// chuong trinh con phuc vu ngat
void interrupt time0()
{ static unsigned char i;
static unsigned int counter;
if(T0IE&&T0IF)
{
++ counter;
if(counter >= 10){
PORTC = (1<<i) + (1<<(7-i));
++i;
if(i==8) i=0;
counter = 0;
};
TMR0 = 0x06;
T0IF = 0 ;
};
}
 
à.mà mọi người cho em hỏi tí; mọi người đang dùng MPLAB và HTPic phiên bản nào vậy?co anh bênh PicVN có cho em code như sau,nhưng em không biên dịch được.
#include <htc.h>
__CONFIG(HS & WDTDIS & PWRTDIS & PROTECT & BORDIS);


#define _XTAL_FREQ 4000000 // su dung thach anh gan ngoai 4MHz

// chuong trinh chinh
void main(void)
{

PORTC=0;
TRISC=0;
OPTION_REG =0b110;
INTCON=0xA0;
T0IE=1;
while(1){};
}


/**********************************************************************/
// chuong trinh con phuc vu ngat
void interrupt time0()
{ static unsigned char i;
static unsigned int counter;
if(T0IE&&T0IF)
{
++ counter;
if(counter >= 10){
PORTC = (1<<i) + (1<<(7-i));
++i;
if(i==8) i=0;
counter = 0;
};
TMR0 = 0x06;
T0IF = 0 ;
};
}
bản này hình như bản 9.6
 
Top