PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   bác nào làm về ngắt trong pic18f4550 giúp m với (http://www.picvietnam.com/forum/showthread.php?t=14016)

manhdt 07-04-2012 12:04 PM

bác nào làm về ngắt trong pic18f4550 giúp m với
 
1 Attachment(s)
mih viết 1 đoạn code sử dụng ngắt ngoài cho pic 18f4550. vấn đề gặp phải ở đây là cái ngắt EXT1 ko hoạt động trong khi EXT0 & EXT2 hoạt động bt.mn xem giúp mjh với
/************************************************/
#include "C:\Users\manh\Documents\PIC-C\18f4550\interrupt\ngat nhieu timer\main.h"
#include <C:\Users\manh\Documents\PIC-C\18f4550\interrupt\my_LCD_4bit.c>
#use delay(20000000)
int8 count,count1,count2;
#int_EXT
void EXT_isr(void)
{
count++;
}

#int_EXT1
void EXT1_isr(void)
{
count1++;
}

#int_EXT2
void EXT2_isr(void)
{
count2++;
}

void main()
{

setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_wdt(WDT_OFF);
setup_timer_0(RTCC_INTERNAL);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);

enable_interrupts(INT_EXT);
enable_interrupts(INT_EXT1);
enable_interrupts(INT_EXT2);
enable_interrupts(GLOBAL);

LCD_Init();

while(true)
{
LCD_clear(); // con trỏ ở vị trí cột 0 hàng 0
LCD_ghi_giatri(count);
set_cursor(8,0); // đưa con trỏ tới cột 8 hàng 0
LCD_ghi_giatri(count1);
set_cursor(0,1); // đưa con trỏ tới cột 0 hàng 1
LCD_ghi_giatri(count2);
delay_ms(200);
}
}

mih mới chuyển qua cày pic nên còn nhiều điều chưa biết,mong mn giúp đỡ.thank :)

imlanglavang102 06-12-2012 11:10 AM

bạn không gửi phần LCD à
bạn gửi lại đi xem nào


Múi giờ GMT. Hiện tại là 08:33 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