cả ROM trong lần ROM ngoăi hoặc hoăn toăn đùng ROM ngoăi lăm bộ nhớ chương trình.
V.Lập trình cho ngắt
- Muốn lập trình cho ngắt thì trước tiín phải tâc động thanh ghi IE (Interub
Enable) thanh ghi điều khiển mọi hoạt động về ngắt của 89C51. Thanh
ghi năy có thể truy nhập tới từng bít riíng rẽ.
E |_ |BT |ES|ET |EX |EX |ET
A 2 1 1 0 0
Trong đó : EA Cho phĩp ngắt ET; Ngắt cho Timer 2
ES Ngắtnối tiếp
ETi Ngắtcho Timer l ETo Ngắt cho Timer 0
EXi vă EXạ Ngắt ngoăi 1 vă 0
- Hai bít EXo vă EX¡ nhận giâ trị từ hai chđn /INT0 vă /INTI.
- Muốn thực hiện lập trình điều khiển ngắt ngoăi, giả sử muốn ngoăi o, phải
cho EA=l vă EXạ=1. Nếu dùng cả hai ngắt thì phải cho cả EX¡=1. Tuy
nhiín, trong một số trường hợp điều khiển quan trọng, khi dùng hai ngắt thì phải xâc định mức độ ưu tiín cho hai ngắt đó. Muốn vậy, phải tâc động văo thanh ghi IP(Interub Priority). Thanh ghi năy cũng có thể truy cập theo bít. PT |PS|IPT |PX |PT |PX 2 1 1 0 0
- Ý nghĩa câc bít tuơng tự như ở thanh ghi IE. Tuy nhiín , quyền ưu tiín được phđn ra hai mức “1” lă mức ưu tiín cao, “0” lă mức ưu tiín thấp. N
Giả sử, cho ngắt ngoăi 0 có mức ưu tiín cao hơn ngắt ngoăi I, phải cho PX0=I, PXI=0. Sau khi đê thiết lập quyền ưu tiín của hai ngắt, nếu vi điều khiển đang hoạt động theo chương trình bình thường , khi có INTI
tâc động, vi điều khiển sẽ đừng chương trình đang thực hiện mă sẽ nhảy văo thực hiện chương trình tương ứng với ngắt ngoăi 1 đê được lập trình.