![]() |
|
Tài trợ cho PIC Vietnam |
||||||||
| Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
|
Ðiều Chỉnh | Xếp Bài |
|
|
#1 |
|
Đệ tử 7 túi
Tham gia ngày: Aug 2007
Bài gửi: 213
: |
CCS-Chuyển giá trị từ chương trình chính sang chuơng trình ngắt
Mình viết đoạn code như sau để thực hiện ngắt trên port D:
Code:
// INTEXT.C MPB 10-4-07
// Demo external interrupt
// RB0 low interrupts
// foregroundoutput count
#include "16F887.h"
#use delay(clock=2000000)
#int_ext
void isrext()
{ output_D(255);
delay_ms(1000);
}
void main()
{
int x=10;
enable_interrupts(int_ext);
enable_interrupts(global);
ext_int_edge(H_TO_L);
while(1)
{
output_D(x);
x++;
delay_ms(100);
}
}
Bây giờ mình muốn chương trình ngắt thực hiện công việc là khi bắt đầu ngắt thì sẽ lấy giá trị hiện thời của x trong chương trình chính và đưa vào chương trình ngắt,mình sửa code lại như sau nhưng chưa chạy được: Code:
// INTEXT.C MPB 10-4-07
// Demo external interrupt
// RB0 low interrupts
// foregroundoutput count
#include "16F887.h"
#use delay(clock=2000000)
#int_ext
void isrext()
{ output_C(x); //muc dich là xuat ra portC giá trị của x hiện thời trong ct chính
delay_ms(1000);
}
void main()
{
int x=10;
enable_interrupts(int_ext);
enable_interrupts(global);
ext_int_edge(H_TO_L);
while(1)
{
output_D(x);
x++;
delay_ms(100);
}
}
|
|
|
|
|
|