View Single Post
Old 20-02-2009, 10:27 PM   #7
nguyenquoctoan
Đệ tử 6 túi
 
Tham gia ngày: Nov 2007
Nơi Cư Ngụ: BK TP HCM
Bài gửi: 136
:
trong hàm main bạn khai báo sử dụng loại ngắt (timer, ngắt ngoài,...)(cho phép ngắt), nhưng khi nào thì xảy ra ngắt...mỗi loại ngắt có một tác động riêng khi dấu hiệu này bị tác động sẽ gây ra ngắt (ví dụ timer ngắt khi bị trào, ngắt ngoài khi thay đổi xung,...)
đoạn code đầy đủ sử dụng ngắt timer đây
Code:
//********************************************************************
#include <16F877a.h>
#fuses NOWDT,PUT,HS,NOPROTECT
#use delay(clock=4000000)
////#use fast_io(b)
#byte portc=0x07     ///khai bao dia chi portb
#byte portb=0x06
////#define led pin_B0
int16 count;
int8 a;
//Chuong trinh ngat TMR0
#int_timer0
void interrupt_timer0()
{
set_timer0(0);
++count;
if(count==560)
   {
count=0;
a=a<<1;  // dich trai a 1bit
   }
if(a==256)
   {
a=1;
count=0;
   }
}
//Chuong trinh chinh
main()
{
set_tris_c(0);
set_tris_b(0);
enable_interrupts(global);
enable_interrupts(int_timer0);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_2);
set_timer0(0);
count=0;
a=1;
while(true)
   {
portc=a;
portb=0x01010101;
   }
}

thay đổi nội dung bởi: namqn, 20-02-2009 lúc 10:52 PM.
nguyenquoctoan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn