Cần giúp đỡ về ngắt
Hiện tại em đang viết 1 chương trình sử dụng ngắt ngoài #INT_EXT và lệnh while(1), Switch(bien), case .Mỗi khi có ngắt bien sẽ tăng dần (bien++). Giả sử chương trình đang thực hiện lặp ở case 1, khi có ngắt xảy ra. Em muốn hỏi làm sao khi chương trình thoát ngắt, chương trình không quay lại vị trí cũ (trong case 1) để thực hiện tiếp mà sẽ chạy 1 case khác trong chương trình chính.
|
1 Attachment(s)
khi đang ở case 1, có ngắt thì bien++, tức là sẽ chuyển sang case 2 chứ ko quay lại case1.
còn nếu muốn chuyển sang case 3 chẳng hạn thì mình dùng lệnh goto. bạn xem chương trình mình viết nha :) |
Trích:
Code:
#include <16f877a.h> Trích:
|
Trích:
|
Vậy không có cách nào sao ? Hhuhuhu!!!!!!
|
1 Attachment(s)
Trích:
Code:
#include <16F877A.h> |
Anh cho e hỏi trong chương trình trên khai báo timer 1 dùng để làm gì vậy? Có phải là dùng trong phần hàm delay ở cuối k? e k hiểu lắm ở chỗ này, khi cờ tràn TMRIF1==0 tức là cờ chưa tràn thì xét giá trị x, nếu x==0xaa thì lại thoát khỏi vòng lặp và cho TMRIF1=0, mục đích của việc này dùng để làm gì? và khi nó tràn(TMRIF1=1) thì sẽ ra sao?
while(TMR1IF==0) { if(x==0xaa) break; } TMR1IF=0; } |
Múi giờ GMT. Hiện tại là 08:20 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