View Single Post
Old 29-12-2011, 01:54 AM   #3
ElecTel
Đệ tử 2 túi
 
Tham gia ngày: Jan 2011
Bài gửi: 36
:
Trích:
Nguyên văn bởi daokhanhvimaru View Post
ở Pic 16F877a chỉ có 1 chân ngắt ngoài theo cạnh nhưng cả cổng B có chế độ ngắt khi có sự thay đổi trên chân . Như vậy vậy có thể sử dụng ngắt cổng B khi có sự thay đổi nhưng chú ý 1 sự thay đổi chỉ ứng với T/2 không phải T như như ngắt ngoài .
chúc bạn thành công !
Cảm ơn anh ! Đây là ý tưởng cho chương trình của em ...... rất mong ý kiến đánh giá của anh !

Code:
#byte portb=0x06 
#byte intcon=0x000B 
#bit RB4=portb.4 
#bit RB5=portb.5 
#bit RBIF=intcon.0 //dinh nghia co ngat RB 
#bit RBIE=intcon.3 //dinh nghia bit cho phep ngat RB 
int ec1=0; int ec2=0;// Chuong trinh ngat 
#int_RB void ngat_RB()
    {      if((RBIF)&&(RBIE))
         {
           {
             if(RB4==1)
       // // doc ec1
             {   
                 if(ec1==255)
                 ec1=0;

                 ec1 ++;
              }
             }
         { 
            if(RB5==1)
      ///// doc ec2
             { 
                 if(ec2==255)
                 ec2=0;

                 ec2 ++;
              }
             RBIF=0; //Xoa co ngat RB
            }
     } 
Trong đoạn code trên dùng ngắt ngoài trên portB vậy lỡ khi 2 xung đồng thời tới trên 2 chân thì có ảnh hưởng gì tới việc đọc được xung ???
Em vẫn chưa hiểu về T với T/2 ..... em nghĩ ngắt ngoài thì khi nào có tác động ngoài thì ngắt mới hoặt động chứ nhỉ ???

thay đổi nội dung bởi: ElecTel, 29-12-2011 lúc 03:57 AM.
ElecTel vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn