Bài giảng lý thuyết vi xử lý-Chương 6: Hoạt động ngắt doc - Pdf 15

ÐẠI HỌC CÔNG NGHIỆP TP. HỒ CHÍ MINHÐẠI HỌC CÔNG NGHIỆP TP. HỒ CHÍ MINH
KHOA CÔNG NGHỆ ðIỆN TỬKHOA CÔNG NGHỆ ðIỆN TỬ
BỘ MÔN ðIỆN TỬ CÔNG NGHIỆPBỘ MÔN ðIỆN TỬ CÔNG NGHIỆP
BÀI GIẢNG LÝ THUYẾTBÀI GIẢNG LÝ THUYẾT
VI XỬ LÝVI XỬ LÝ
TP. HỒ CHÍ MINHTP. HỒ CHÍ MINH
THÁNG 09THÁNG 09 20092009
VI XỬ LÝVI XỬ LÝ
GiáoGiáo viên: PHẠM QUANG TRÍviên: PHẠM QUANG TRÍ
ÐẠI HỌC CÔNG NGHIỆP TP. HỒ CHÍ MINHÐẠI HỌC CÔNG NGHIỆP TP. HỒ CHÍ MINH
KHOA CÔNG NGHỆ ðIỆN TỬKHOA CÔNG NGHỆ ðIỆN TỬ
BỘ MÔN ðIỆN TỬ CÔNG NGHIỆPBỘ MÔN ðIỆN TỬ CÔNG NGHIỆP
CHƯƠNG 6CHƯƠNG 6
CHƯƠNG 6CHƯƠNG 6
HOẠT ðỘNG NGẮTHOẠT ðỘNG NGẮT
 NgắtNgắt ((InterruptInterrupt)) làlà việcviệc xảyxảy rara mộtmột ñiềuñiều kiệnkiện làmlàm chocho
chươngchương trìnhtrình ñangñang thựcthực thithi bịbị tạmtạm dừngdừng ñểñể quayquay sangsang thựcthực
thithi mộtmột chươngchương trìnhtrình kháckhác SauSau khikhi thựcthực thithi xongxong ñoạnñoạn
chươngchương trìnhtrình nàynày sẽsẽ quayquay trởtrở vềvề ñểñể thựcthực thithi tiếptiếp chươngchương
trìnhtrình ñangñang bịbị tạmtạm dừngdừng
 CPUCPU khôngkhông thểthể thựcthực thithi nhiềunhiều hơnhơn mộtmột lệnhlệnh ởở mộtmột thờithời
ñiểmñiểm
nhưngnhưng
CPUCPU
cócó
thểthể
tạmtạm
ngưngngưng
việcviệc
thựcthực
thithi


KhácKhác
nhaunhau
::
 BiểuBiểu diễndiễn việcviệc thựcthực thithi chươngchương trìnhtrình cócó ngắtngắt vàvà khôngkhông cócó
ngắtngắt::
HOẠT ðỘNG NGẮTHOẠT ðỘNG NGẮT
GIỚI THIỆU CHUNGGIỚI THIỆU CHUNG
 CácCác nguồnnguồn ngắtngắt củacủa 80518051::
1.1. NgắtNgắt dodo tíntín hiệuhiệu bênbên ngoàingoài 00
2.2. NgắtNgắt dodo tíntín hiệuhiệu bênbên ngoàingoài 11
3.3. NgắtNgắt dodo TimerTimer 00
4.4. NgắtNgắt dodo TimerTimer 11
5.5. NgắtNgắt dodo portport nốinối tiếptiếp
HOẠT ðỘNG NGẮTHOẠT ðỘNG NGẮT
TỔ CHỨC NGẮT CỦA 8051TỔ CHỨC NGẮT CỦA 8051
 LưuLưu ýý::
 KhiKhi tata resetreset hệhệ thốngthống thìthì tấttất cảcả cáccác ngắtngắt ñềuñều bịbị cấmcấm hoạthoạt
ñộngñộng
 CácCác nguồnnguồn ngắtngắt nàynày ñượcñược chocho phépphép hoặchoặc cấmcấm hoạthoạt ñộngñộng
bằngbằng lệnhlệnh dodo ngườingười lậplập trìnhtrình thiếtthiết lậplập
 ðểðể giảigiải quyếtquyết trườngtrường hợphợp haihai hayhay nhiềunhiều ngắtngắt xảyxảy rara ñồngñồng thờithời
hoặchoặc mộtmột ngắtngắt xảyxảy rara trongtrong khikhi mộtmột ngắtngắt kháckhác ñangñang ñượcñược
thựcthực thithi thìthì CPUCPU dựadựa vàovào haihai yếuyếu tốtố:: ưuưu tiêntiên ngắtngắt vàvà chuỗichuỗi
vòngvòng
 CácCác cờcờ báobáo tíntín hiệuhiệu ngắtngắt ((cc ngtngt))::
 IEIE00 –– CờCờ ngắtngắt ngoàingoài 00
 IEIE11 –– CờCờ ngắtngắt ngoàingoài 11
 TFTF00 –– CờCờ ngắtngắt TimerTimer 00
 TFTF11 –– CờCờ ngắtngắt TimerTimer 11

 ThanhThanh ghighi chocho phépphép ngắtngắt ((IEIE:: InterruptInterrupt EnableEnable))::
HOẠT ðỘNG NGẮTHOẠT ðỘNG NGẮT
CÁC CÁC THANH GHI SỬ DỤNG TRONG NGẮTTHANH GHI SỬ DỤNG TRONG NGẮT
 ThanhThanh ghighi ưuưu tiêntiên ngắtngắt ((IPIP:: InterruptInterrupt PriorityPriority))::
HOẠT ðỘNG NGẮTHOẠT ðỘNG NGẮT
CÁC CÁC THANH GHI SỬ DỤNG TRONG NGẮTTHANH GHI SỬ DỤNG TRONG NGẮT
 ChuỗiChuỗi vòngvòng ngắtngắt ((InterruptInterrupt PollingPolling SequenceSequence))::
•• ðểðể giảigiải quyếtquyết vấnvấn ñềñề haihai hayhay nhiềunhiều tíntín hiệuhiệu ngắtngắt cócó mứcmức ưuưu
tiêntiên giốnggiống nhaunhau xuấtxuất hiệnhiện ñồngñồng thờithời
•• ThứThứ tựtự chuỗichuỗi vòngvòng (từ(từ thấpthấp ñếnñến cao)cao):: NgắtNgắt ngoàingoài 00 →
→→
→→
→→
→ NgắtNgắt
TimerTimer
00

→→
→→
→→

NgắtNgắt
ngoàingoài
11

→→
→→
→→

NgắtNgắt

TimerTimer
11

→→
→→
→→

NgắtNgắt
portport
nốinối
tiếptiếp

 CácCác vectơvectơ ngắtngắt củacủa 80518051::
•• VectơVectơ ngắtngắt làlà ñịañịa chỉchỉ bắtbắt ñầuñầu chươngchương trìnhtrình phụcphục vụvụ ngắtngắt ((ISRISR))
củacủa ngắtngắt tươngtương ứngứng
•• BảngBảng quiqui ñịnhñịnh ñịañịa chỉchỉ bắtbắt ñầuñầu củacủa cáccác ISRISR::
HOẠT ðỘNG NGẮTHOẠT ðỘNG NGẮT
VECTƠ NGẮT CỦA 8051VECTƠ NGẮT CỦA 8051
 KhuôngKhuông mẫumẫu chươngchương trìnhtrình KHÔNGKHÔNG sửsử dụngdụng ngắtngắt::
ORGORG 0000H0000H ;ðiểm nhập của reset hệ thống.;ðiểm nhập của reset hệ thống.
MAIN:MAIN:
……………………………… ;Các lệnh của chương trình chính.;Các lệnh của chương trình chính.
……………………………… ;;
……………………………… ;;
ENDEND
;Chỉ dẫn kết thúc chương trình.;Chỉ dẫn kết thúc chương trình.
HOẠT ðỘNG NGẮTHOẠT ðỘNG NGẮT
THIẾT KẾ CHƯƠNG TRÌNH CÓ SỬ DỤNG NGẮTTHIẾT KẾ CHƯƠNG TRÌNH CÓ SỬ DỤNG NGẮT
ENDEND
;Chỉ dẫn kết thúc chương trình.;Chỉ dẫn kết thúc chương trình.

ORGORG
0013H0013H
;ðiểm nhập cho ISR của ngắt ngoài 1.;ðiểm nhập cho ISR của ngắt ngoài 1.
HOẠT ðỘNG NGẮTHOẠT ðỘNG NGẮT
THIẾT KẾ CHƯƠNG TRÌNH CÓ SỬ DỤNG NGẮTTHIẾT KẾ CHƯƠNG TRÌNH CÓ SỬ DỤNG NGẮT
ORGORG
0013H0013H
;ðiểm nhập cho ISR của ngắt ngoài 1.;ðiểm nhập cho ISR của ngắt ngoài 1.
……………………………… ;ISR của ngắt ngoài 1 (;ISR của ngắt ngoài 1 (dung lượng dung lượng ≤
≤≤
≤≤
≤≤
≤ 8 byte8 byte).).
………………………………
RETIRETI ;Kết thúc ISR của ngắt ngoài 1.;Kết thúc ISR của ngắt ngoài 1.
ORGORG 0030H0030H ;ðiểm nhập của chương trình chính.;ðiểm nhập của chương trình chính.
MAIN:MAIN:
……………………………… ;Các lệnh của chương trình chính.;Các lệnh của chương trình chính.
……………………………… ;;
……………………………… ;;
ENDEND ;Chỉ dẫn kết thúc chương trình.;Chỉ dẫn kết thúc chương trình.
 VíVí dd 22:: DùngDùng ngắtngắt TimerTimer 00 vàvà ngắtngắt ngoàingoài 11
ORGORG 0000H0000H ;ðiểm nhập của reset hệ thống.;ðiểm nhập của reset hệ thống.
SJMPSJMP MAINMAIN ;Lệnh nhảy ñể vượt qua các ISR.;Lệnh nhảy ñể vượt qua các ISR.
ORGORG 000BH000BH ;ðiểm nhập cho ISR của Timer 0.;ðiểm nhập cho ISR của Timer 0.
JMPJMP T0_ISRT0_ISR ;Lệnh nhảy ñến ISR của Timer 0.;Lệnh nhảy ñến ISR của Timer 0.
ORGORG 0013H0013H ;ðiểm nhập cho ISR của ngắt ngoài 1.;ðiểm nhập cho ISR của ngắt ngoài 1.
JMPJMP EX1_ISREX1_ISR ;Lệnh nhảy ñến ISR của ngắt ngoài 1.;Lệnh nhảy ñến ISR của ngắt ngoài 1.
ORGORG 0030H0030H ;ðiểm nhập của chương trình chính.;ðiểm nhập của chương trình chính.
MAIN:MAIN:


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status