Có anh chị nào bít cách lập trình cho ngắt ngoài nhận xung, nếu đúng xung đó thì trình phục vụ ngắt chạy, phần lập trình phát xung e đã làm được, riêng phần lập trình để nhận xung đó thì e pó tay rồi, chả là e đang làm chống nhiễu cho cảm biến hồng ngoại. Anh chị nào bít giúp 2 với nhá!!! cám ơn các anh nhìu lắm!
Thông báo
Collapse
No announcement yet.
Cho e hỏi về lập trình ngắt ngoài nhận xung
Collapse
X
-
$MOD51
;************************************************* **************
; - Su dung ngat de dieu khien sang tat den p1.0 den p1.3
;************************************************* **************
org 0h;vector reset khi ta bam nut reset
ljmp main
org 03h;vector ngat ngoai 0 khi co ngat xay ra no se nhay den 03h
ljmp ex_int0
org 0bh;vector timer 0
ljmp timer_int0
org 13h;vector ngat ngoai 0
ljmp ex_int1
org 1bh;vector timer 0
ljmp timer_int1
org 23h;vector port noi tiep
ljmp le_int
org 30h
main:
mov p1,#0h
mov p2,0ffh
mov ie,#8Fh;chon cac ngat o thanh ghi IE nay o day tui chon tat ca
back:
jnb p2.1,back1
setb tf0
acall back
back1:
jnb p2.2,back
setb tf1
sjmp back
;******************************
;Su dung ngat ngoai0 (p3.2)
;Su dung ngat ngoai1 (p3.3)
;Su dung ngat timer0 khi co CF0 duoc set=1(khi time bao tran)(o day tui thiet ke bam nut p2.1)
;Su dung ngat timer0 khi co CF1 duoc set=1(khi time bao tran)(o day tui thiet ke bam nut p2.2)
;Su dung ngat ngat port noi tiep khi co RI set=1(thu)
;hay TI set=1(phat)(2 co nay chi duoc set bang phan cung)
;******************************
ex_int0:
cpl p1.0
reti
end1:
timer_int0:
cpl p1.1
reti
ex_int1:
cpl p1.2
reti
timer_int1:
cpl p1.3
reti
le_int:
reti
end
bạn dùng trình mô phỏng để xem
Tóm tắt lại để ngắt xảy ra bao gồm các bước sau:
-Chọn ngắt ở thanh ghi IE
-Chọn ngắt ưu tiên ở thanh ghi IP(nếu không nó theo nguyên hỏi vòng tuần tự)
-Cờ ngắt phải được bật ứng với mỗi ngắt
-Khi có ngắt xảy ra nó sẽ nhảy đến vector ngắt tương ứng
Bạn nên xem thêm tài liệu để hiểu rõ hơn
Bài viết mới nhất
Collapse
-
bởi tungdqEm cần tìm sơ đồ mạch một số Main máy tính đời cao như Asrock B560M-HDV, các cao nhân chỉ giúp với. Thank!
-
Channel: Các mạch điện ứng dụng
hôm nay, 08:27 -
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677nhân tiện cho mình hỏi thêm về cái phần test hipot (cao áp),là để kiểm tra độ bền cách điện giưa các cuộn dây,mà thấy thông số test thường ở mức 4kvac,vậy nếu mấy con fail đó xài bình thường vẫn dduocj phải không ạ,vì điện mình làm gì lên tới mức đó
-
Channel: Điện tử dành cho người mới bắt đầu
10-11-2024, 08:52 -
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677máy đo số vòng thì cty có ,mà nó to quá,tưởng có máy nào gọn gọn bỏ túi được thì tiện hơn,vì đi lại nhiều...
-
Channel: Điện tử dành cho người mới bắt đầu
10-11-2024, 08:47 -
-
bởi tmcodonMình thấy diễn đàn có chuyên mục quảng cáo rồi mà. Bạn đóng góp để mở luồng riêng
-
Channel: Hướng dẫn sử dụng diễn đàn
09-11-2024, 13:36 -
-
bởi Nicole08Xin chào mọi người, tôi đã sử dụng Flashforge Inventor 2 được gần 5 năm và rất hài lòng với nó, nhưng tuần trước đã xảy ra sự cố. Có vẻ như động cơ bước đưa sợi in vào đầu nóng đã bị hỏng. Mọi thứ khác có vẻ ổn trên máy...
-
Channel: Điện tử dành cho người mới bắt đầu
09-11-2024, 12:55 -
Comment