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 Nexus 6Pe dùng KiCad 9.0 và đã xuất được file PDF mạch in gòi bác...
-
Channel: Điện tử công suất
hôm nay, 16:25 -
-
bởi bqvietBấm chuột vào các tệp sẽ bật ra chương trình tương ứng. Nên dùng bản KiCAD sau
https://kicad-downloads.s3.cern.ch/a...ll_version.exe-
Channel: Điện tử công suất
hôm nay, 14:57 -
-
bởi Nexus 6Pe cài KiCAD 2012 khi mở ra nó chỉ hiện ntn...
-
Channel: Điện tử công suất
hôm nay, 11:20 -
-
bởi bqvietThực tế bạn nào không tải được tệp nén thiết kế thì căn cứ theo ảnh sơ đồ mạch có thể vẽ lại sơ đồ bằng chương trình EDA nào đó rồi làm mạch được mà. Càng thêm quen thuộc với sơ đồ. Sau đó tùy ý chuyển sang TinySwitch-III hoặc TinySwitch-4.
-
Channel: Điện tử công suất
Hôm qua, 21:13 -
-
bởi Nexus 6PCó ai có bản in của mạch in không, cho em xin file để đi in với ạ
-
Channel: Điện tử công suất
Hôm qua, 14:37 -
-
bởi Nexus 6PLink hư rồi ạ, xin lại link của bản thiết kế cũ ạ...
-
Channel: Điện tử công suất
Hôm qua, 10:48 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Dạ, cảm ơn bác đã nghe qua và có lời khích lệ cháu ạ.
Thật lòng cháu không dám nhận hai danh hiệu Kỹ sư và Nhạc sĩ đâu ạ, vì phải thật hiểu sâu nắm vững cơ, chứ thực lực cháu đây chỉ là biết chút ít thôi à. Về phần...-
Channel: Tâm tình dân kỹ thuật
29-01-2026, 11:58 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi bqvietĐơn giản thì có trải nghiệm này
http://www.dientuvietnam.net/forums/...ch%C3%AA%CC%81
Chỉ phần cứng,...-
Channel: Điện tử công suất
27-01-2026, 21:32 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi Nexus 6Pphức tạp quá, nếu mà có mạch làm sẵn thì ngon, e dùng 2 tấm pv loại 18v 55w thôi bác
-
Channel: Điện tử công suất
26-01-2026, 08:52 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi Nexus 6Pcảm ơn bác nhiều nha, để e nghiên cứu
-
Channel: Điện tử công suất
26-01-2026, 07:38 -

Comment