VI ĐIỀU KHIỂN ỨNG DỤNG NGẮT doc

21 237 0
VI ĐIỀU KHIỂN ỨNG DỤNG NGẮT doc

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú Bộ môn điện tử công nghiệp bài giảng vi điều khiển: ngắt – interrupt 1 VI ĐIỀU KHIỂN ỨNG DỤNG NGẮT VĐK LUÔN THỰC HIỆN MỘT CHƯƠNG TRÌNH THƯỜNG GỌI LÀ CHƯƠNG TRÌNH CHÍNH KHI CÓ MỘT SỰ TÁC ĐỘNG TỪ BÊN NGOÀI BẰNG PHẦN CỨNG HAY TÁC ĐỘNG BÊN TRONG LÀM CHO VĐK NGỪNG THỰC HIỆN CHƯƠNG TRÌNH CHÍNH ĐỂ THỰC HIỆN MỘT CHƯƠNG TRÌNH KHÁC (CÒN GỌI LÀ CHƯƠNG TRÌNH PHỤC VỤ NGẮT ISR) VÀ SAU KHI THỰC HIỆN XONG VĐK TRỞ LẠI THỰC HIỆN TIẾP CHƯƠNG TRÌNH CHÍNH. QUÁ TRÌNH LÀM GIÁN ĐOẠN VI XỬ LÝ THỰC HIỆN CHƯƠNG TRÌNH CHÍNH XEM NHƯ LÀ NGẮT. CÓ NHIỀU SỰ TÁC ĐỘNG LÀM NGỪNG CHƯƠNG TRÌNH CHÍNH GỌI LÀ CÁC NGUỒN NGẮT, VÍ DỤ TIMER/COUNTER ĐẾM TRÀN SẼ TẠO RA NGẮT. NGẮT ĐÓNG MỘT VAI TRÒ QUAN TRỌNG TRONG LẬP TRÌNH ĐIỀU KHIỂN. TA CÓ THỂ MINH HỌA. Hình 4-27. Vi điều khiển thực hiện chương trình chính trong 2 trường hợp không và có ngắt. CÁC NGUỒN BÁO NGẮT GỒM 6 TÍN HIỆU Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú Bộ môn điện tử công nghiệp bài giảng vi điều khiển: ngắt – interrupt 2 TG CHO PHÉP NGẮT/CẤM NGẮT IE (INTERRUPT ENABLE): EA ET2 ES ET1 EX1 ET0 EX0 CHỨC NĂNG CỦA TỪNG BIT: BIT KÍ HIỆU ĐỊA CHỈ BIT CHỨC NĂNG (ENABLE = 1; DISABLE = 0) IE.7 EA AFH CHO PHÉP/CẤM TOÀN BỘ CÁC NGUỒN NGẮT. IE.6 - AEH CHƯA DÙNG ĐẾN IE.5 ET2 ADH CHO PHÉP/CẤM NGẮT TIMER 2 (8052). IE.4 ES ACH CHO PHÉP/CẤM NGẮT PORT NỐI TIẾP. IE.3 ET1 ABH CHO PHÉP/CẤM NGẮT TIMER 1. IE.2 EX1 AAH CHO PHÉP/CẤM NGẮT NGOÀI EXTERNAL1 (INT1). IE.1 ET0 A9H CHO PHÉP/CẤM NGẮT TIMER 0. IE.0 EX0 A8H CHO PHÉP/CẤM NGẮT NGOÀI EXTERNAL0 (INT0). Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú Bộ môn điện tử công nghiệp bài giảng vi điều khiển: ngắt – interrupt 3 CÁC VECTOR NGẮT (INTERRUPT VECTORS): Thanh ghi có chức năng thiết lập chế độ ưu tiên trong vi điều khiển là thanh ghi IP (Interrupt Priority) tại đòa chỉ 0B8H. Tổ chức của thanh ghi như sau: PT2 PS PT1 PX1 PT0 PX0 Hoạt động của từng bit trong thanh ghi IP được tóm tắt trong bảng 4-15. Bit Kí hiệu Đòa chỉ bit Chức năng IP.7 - - Chưa sử dụng IP.6 - - Chưa sử dụng IP.5 PT2 BDH Ưu tiên cho ngắt Timer 2 (8052). IP.4 PS BCH Ưu tiên cho ngắt Port nối tiếp. IP.3 PT1 BBH Ưu tiên cho ngắt Timer 1. IP.2 PX1 BAH Ưu tiên cho ngắt ngoài External 1. IP.1 PT0 B9H Ưu tiên cho ngắt Timer 0. IP.0 PX0 B8H Ưu tiên cho ngắt ngoài External 0. Bảng 4-15. Tóm tắt chức năng các bit của thanh ghi IP. Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú Bộ môn điện tử công nghiệp bài giảng vi điều khiển: ngắt – interrupt 4 CÁC VECTOR ĐỊA CHỈ NGẮT DO NHÀ THIẾT KẾ CUNG CẤP INTERRUPT FLAG VECTORS ADDRESS SYSTEM RESET RST 0000H EXTERNAL0 IE0 0003H TIMER0 TF0 000BH EXTERNAL1 IE1 0013H TIMER1 TF1 001BH SERIAL PORT RI OR TI 0023H TIMER2 TF2 OR EXF2 002BH Bảng 4-17. Tóm tắt vector đòa chỉ ngắt. VECTOR RESET HỆ THỐNG BẮT ĐẦU TẠI ĐỊA CHỈ 0000H: KHI RESET VI ĐIỀU KHIỂN THÌ THANH GHI PC = 0000H VÀ CHƯƠNG TRÌNH CHÍNH LUÔN BẮT ĐẦU TẠI ĐỊA CHỈ NÀY. KHI BẠN SỬ DỤNG YÊU CẦU NGẮT NÀO THÌ CHƯƠNG TRÌNH CON PHỤC VỤ NGẮT PHẢI VIẾT ĐÚNG TẠI ĐỊA CHỈ TƯƠNG ỨNG. VÍ DỤ BẠN SỬ DỤNG NGẮT TIMER T0 THÌ CHƯƠNG TRÌNH NGẮT BẠN PHẢI VIẾT TẠI ĐỊA CHỈ 000BH. BÀI SỐ 1: YÊU CẦU: MỘT HỆ THỐNG DÙNG VĐK CÓ 2 PORT ĐIỀU KHIỂN 16 LED ĐƠN 1. P0 ĐIỀU KHIỂN 8 LED SÁNG TẮT DẦN VỚI TGIAN TRỂ LÀ 50MS (TIMER0) 2. P1 CÓ 1 ĐIỂM SÁNG DI CHUYỂN VỚI TGIAN TRỂ LÀ 1S (TIMER1)  LƯU ĐỒ ĐIỀU KHIỂN PHÂN TÍCH YÊU CẦU: Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú Bộ môn điện tử công nghiệp bài giảng vi điều khiển: ngắt – interrupt 5 P0 ĐIỀU KHIỂN 8 LED SÁNG TẮT DẦN VỚI TGIAN TRỂ LÀ 50MS THỰC HIỆN LIÊN TỤC – GIAO CHO CHƯƠNG TRÌNH CHÍNH THỰC HIỆN P1 CÓ 1 ĐIỂM SÁNG DI CHUYỂN VỚI TGIAN TRỂ LÀ 1S (TIMER1) – GIAO CHO CHƯƠNG TRÌNH PHỤC VỤ NGẮT TIMER1 1 LED SÁNG (P1) SÁNG TẮT DẦN (P0) BEGIN END TẮT 8 LED (P0) CHO TIMER1 NGẮT (50MS) KT T0, T1: ĐẾM 50MS BDN:=0 DỊCH ĐIỂM SÁNG (P1) INT_T1 RET_I KHỞI TẠO LẠI 50MS BDN:= BDN+1 BDN=20 Đ S  VIẾT CHƯƠNG TRÌNH ;CHUONG TRINH DIEU KHIEN BDN EQU R2 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ORG 0000H ;DC CUA CHƯƠNG TRÌNH CHÍNH JMP MAIN ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ORG 001BH ;DC CUA CT NGAT TIMER1 MOV TH1,#HIGH(-50000) MOV TL1,#LOW(-50000) INC BDN CJNE BDN,#20,INT0EXIT MOV BDN,#0 MOV A,P1 RL A Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú Bộ môn điện tử công nghiệp bài giảng vi điều khiển: ngắt – interrupt 6 MOV P1,A INT0EXIT: RETI ;RETURN FROM INTERRUPT ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx MAIN: MOV IE,#10001000B ;CHO PHEP NGAT EA=1, ET1=1 MOV TMOD,#00010001B ; SETB TR1 ;CHO TIMER1 DEM MOV P1,#00000001B MOV P3,#00H MOV BDN,#0 MAIN1: CALL DELAY50MS SETB C MOV A,P3 RLC A MOV P3,A JNC MAIN1 MAIN2: CALL DELAY50MS CLR C MOV A,P3 RLC A MOV P3,A JC MAIN2 JMP MAIN1 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx DELAY50MS: MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) SETB TR0 Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú Bộ môn điện tử công nghiệp bài giảng vi điều khiển: ngắt – interrupt 7 JNB TF0,$ CLR TF0 CLR TR0 RET END BÀI SỐ 2: YÊU CẦU: MỘT HỆ THỐNG DÙNG VĐK CÓ 2 PORT ĐIỀU KHIỂN 16 LED ĐƠN P0 ĐIỀU KHIỂN 8 LED SÁNG TẮT DẦN VỚI TGIAN TRỂ LÀ 50MS (TIMER0) P1 HIỂN THỊ DỮ LIỆU TỪ MÁY TÍNH GỞI XUỐNG  LƯU ĐỒ ĐIỀU KHIỂN PHÂN TÍCH YÊU CẦU: P0 ĐIỀU KHIỂN 8 LED SÁNG TẮT DẦN VỚI TGIAN TRỂ LÀ 50MS THỰC HIỆN LIÊN TỤC – GIAO CHO CHƯƠNG TRÌNH CHÍNH THỰC HIỆN P1 CÓ 1 ĐIỂM SÁNG DI CHUYỂN VỚI TGIAN TRỂ LÀ 1S (TIMER1) – GIAO CHO CHƯƠNG TRÌNH PHỤC VỤ NGẮT TIMER1 1 LED SÁNG (P1) SÁNG TẮT DẦN (P0) BEGIN END TẮT 8 LED (P0) CHO TIMER1 NGẮT (50MS) KT T0, T1: ĐẾM 50MS BDN:=0 DỊCH ĐIỂM SÁNG (P1) INT_T1 RET_I KHỞI TẠO LẠI 50MS BDN:= BDN+1 BDN=20 Đ S  VIẾT CHƯƠNG TRÌNH ;CHUONG TRINH DIEU KHIEN BDN EQU R2 DEM EQU R3 Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú Bộ môn điện tử công nghiệp bài giảng vi điều khiển: ngắt – interrupt 8 ORG 0000H JMP MAIN ORG 001BH ;BẮT ĐẦU CT NGẮT CỦA MOV TH1,#3CH MOV TL1,#0B0H INC BDN CJNE BDN,#20,INT_T1 MOV BDN,#0 PUSH ACC ;CẤT NỘI DUNG TGA VÀO BNNX MOV A,P1 RL A MOV P1,A POP ACC ;LẤY LẠI INT_T1: RETI ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx MAIN: MOV IE,#10001000B MOV TMOD,#00010001B ;T0,T1: MOD1 SETB TR1 MOV P1,#11111110B ;1 LED SANG MOV BDN,#0 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx MAIN3: MOV DEM,#8 ;8 LAN XOAY MOV P0,#11111111B ;8 LED TAT MAIN1: CALL DELAY50MS_T0 CLR C MOV A,P0 RLC A MOV P0,A DJNZ DEM,MAIN1 Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú Bộ môn điện tử công nghiệp bài giảng vi điều khiển: ngắt – interrupt 9 MOV DEM,#8 MAIN2: SETB C MOV A,P0 RLC A MOV P0,A CALL DELAY50MS_T0 DJNZ DEM,MAIN2 JMP MAIN3 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx DELAY50MS_T0: MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET END ;CHUONG TRINH BDN EQU R2 ORG 0000H JMP MAIN ORG 001BH MOV TH1,#HIGH(-50000) MOV TL1,#LOW(-50000) INC BDN CJNE BDN,#20,INT_T0A MOV BDN,#0 PUSH ACC MOV A,P1 Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú Bộ môn điện tử công nghiệp bài giảng vi điều khiển: ngắt – interrupt 10 RL A MOV P1,A POP ACC INT_T0A: RETI MAIN: MOV IE,#10001000B ;TIMER1 NGAT MOV TMOD,#00010001B SETB TR1 MOV P1,#01H MOV P0,#00H MAIN1: CALL DELAY50MS SETB C MOV A,P0 RLC A MOV P0,A JNC MAIN1 MAIN2: CLR C MOV A,P0 RLC A MOV P0,A CALL DELAY50MS JNC MAIN2 JMP MAIN1 DELAY50MS: MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET END CHƯƠNG TRÌNH ĐỒNG HỒ SỐ GIỜ PHÚT GIÂY – HIỂN THỊ TRÊN LED 7 ĐOẠN SỬ DỤNG TIMER0 BÁO NGẮT ĐỂ TĂNG THỜI GIAN GIÂY [...]... (B)=DONVI GIAY ;(A)=CHUC PHUT, (B)=DONVI PHUT bài giảng vi điều khiển: ngắt – interrupt 12 Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú MOV MOV MOV DIV MOV MOV RET MOV MOVC MOV A,27H A,@A+DPTR 37H,A ;GIAI MA HANG DON VI GIAY ;(37H) LUU MA7DOAN DVI GIAY A,26H A,@A+DPTR 36H,A ;CHUC GIAY ;(36H) LUU MA7DOAN CHUC GIAY MOV MOVC MOV A,25H A,@A+DPTR 35H,A ;DON VI PHUT ;(35H) LUU MA7DOAN DVI... DVI GIAY MOV GIAIMA: MOV MOV A,26H Bộ môn điện tử công nghiệp ;(A)=CHUC GIAY, (B)=DONVI GIAY ;(A)=CHUC PHUT, (B)=DONVI PHUT ;(A)=CHUC GIO, (B)=DONVI GIO bài giảng vi điều khiển: ngắt – interrupt 19 Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú MOVC A,@A+DPTR ;CHUC GIAY MOV 36H,A ;(36H) LUU MA7DOAN CHUC GIAY MOV MOVC MOV A,25H A,@A+DPTR 35H,A ;DON VI PHUT ;(35H) LUU MA7DOAN DVI... 50MS THÌ BÁO NGẮT ĐỂ TĂNG BIẾN CÓ TÊN BDN (GỌI LÀ BIẾN ĐẾM NGẮT) KHI BIẾN ĐẾM NGẮT BẰNG 20 THÌ ĐƯC 1 GIÂY  LƯU ĐỒ ĐIỀU KHIỂN Begin Khởi tạo timer0 đếm thời gian 50ms Cho phép timer0 ngắt để tăng BDN Ngắt TIMER0 Giây = 00 Tăng BĐN BDN = 00 Giải mã giây từ số BCD sang mã 7 đoạn Khởi tạo lại timer0 – đếm 50ms tiếp theo Hiển thị trên led 7 đoạn RETI S BDN=20 Đ Giây : = Giây +1 S Giây =60 Đ End  VI T CHƯƠNG... PHUT MOV MOVC MOV A,23H A,@A+DPTR 33H,A ;DON VI PHUT ;(35H) LUU MA7DOAN DVI PHUT MOV MOVC MOV RET HIENTHI: A,GIO B,#10 AB 23H,B 22H,A MOV MOVC MOV GIAIMA: 24H,A A,22H A,@A+DPTR 32H,A ;CHUC PHUT ;(34H) LUU MA7DOAN CHUC PHUT MOV MOV CALL P0,37H P2,#11111110B DELAY1MS Bộ môn điện tử công nghiệp ;(A)=CHUC GIO, (B)=DONVI GIO ;HTHI DV GIAY bài giảng vi điều khiển: ngắt – interrupt 13 Đại học sư phạm kỹ thuật... ;DON VI PHUT ;(35H) LUU MA7DOAN DVI PHUT MOV MOVC MOV A,22H A,@A+DPTR 32H,A ;CHUC PHUT ;(34H) LUU MA7DOAN CHUC PHUT RET HIENTHI: MOV MOV P0,37H P2,#11111110B CALL DELAY1MS MOV P0,36H MOV CALL P2,#11111101B DELAY1MS MOV MOV CALL P0,35H P2,#11110111B DELAY1MS ;HTHI DV PHUT MOV P0,34H ;HTHI CHUC PHUT MOV P2,#11101111B Bộ môn điện tử công nghiệp ;HTHI DV GIAY ;HTHI CHUC GIAY bài giảng vi điều khiển: ngắt. .. giảng vi điều khiển: ngắt – interrupt 18 Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử CJNE GIAY,#60,LB1 INC PHUT CJNE MOV INC PHUT,#60,LB2 PHUT,#0 GIO CJNE MOV JMP Nguyễn Đình Phú GIO,#24,LB2 GIO,#0 LB2 HEXTOBCD: A,GIAY B,#10 DIV MOV MOV AB 27H,B 26H,A MOV MOV A,PHUT B,#10 DIV MOV AB 25H,B MOV 24H,A MOV A,GIO MOV DIV MOV B,#10 AB 23H,B MOV RET 22H,A MOV MOVC A,27H A,@A+DPTR ;GIAI MA HANG DON VI. .. RETI LB2: 0000H MAIN ORG INC MAIN: EQU EQU EQU PHUT Bộ môn điện tử công nghiệp R2 R1 R4 ;SYSTEM RESET ;T0 ADDRESS ;82H ;TIME0: MOD1, DEM XUNG NOI ;CHO TIMER0 DEM ;BDN=20 => TG=50MS×20=1S bài giảng vi điều khiển: ngắt – interrupt 16 Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử CJNE PHUT,#60,LB2 MOV INC PHUT,#00 GIO CJNE MOV JMP Nguyễn Đình Phú GIO,#24,LB2 GIO,#00 LB2 ;XXXXXXXXXXXXXX LBB: JC LBA MOV... ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ;CHUONG TRINH CON NGAT TIMER0 ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ORG 000BH ;T0 ADDRESS INC MOV BDN TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) Bộ môn điện tử công nghiệp bài giảng vi điều khiển: ngắt – interrupt 17 Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử Nguyễn Đình Phú RETI ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ;CHUONG TRINH CON NGAT INT0 DUNG DE CHINH GIO ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX... End  VI T CHƯƠNG TRÌNH ;CHTR DK DEM PHUT GIAY GIO EQU PHUT EQU GIAY EQU BDN EQU R3 R2 R1 R4 ORG JMP 0000H MAIN ;SYSTEM RESET ORG INC 000BH BDN ;T0 ADDRESS Bộ môn điện tử công nghiệp bài giảng vi điều khiển: ngắt – interrupt 11 Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử MOV MOV RETI TH0,#HIGH(-50000) TL0,#LOW(-50000) MOV MOV MOV SETB DPTR,#MA7DOAN IE,#10000010B TMOD,#00000001B TR0 LB: LB3:... TRÌNH CHÍNH – CHƯƠNG TRÌNH HIỂN THỊ MẤT NHIỀU THỜI GIAN HƠN 10MS CHTR DK DEM PHUT GIAY GIO EQU R3 PHUT GIAY BDN EQU EQU EQU ORG 0000H Bộ môn điện tử công nghiệp R2 R1 R4 ;SYSTEM RESET bài giảng vi điều khiển: ngắt – interrupt 14 Đại học sư phạm kỹ thuật tp HCM khoa điện – điện tử JMP MAIN ORG 000BH INC MOV MOV Nguyễn Đình Phú BDN TH0,#HIGH(-5000) TL0,#LOW(-5000) ;T0 ADDRESS RETI MAIN: BDN,#00 GIO,#08 . giảng vi điều khiển: ngắt – interrupt 1 VI ĐIỀU KHIỂN ỨNG DỤNG NGẮT VĐK LUÔN THỰC HIỆN MỘT CHƯƠNG TRÌNH THƯỜNG GỌI LÀ CHƯƠNG TRÌNH CHÍNH KHI CÓ MỘT SỰ TÁC ĐỘNG TỪ BÊN NGOÀI BẰNG PHẦN CỨNG. GỌI LÀ CÁC NGUỒN NGẮT, VÍ DỤ TIMER/COUNTER ĐẾM TRÀN SẼ TẠO RA NGẮT. NGẮT ĐÓNG MỘT VAI TRÒ QUAN TRỌNG TRONG LẬP TRÌNH ĐIỀU KHIỂN. TA CÓ THỂ MINH HỌA. Hình 4-27. Vi điều khiển thực hiện chương. tử công nghiệp bài giảng vi điều khiển: ngắt – interrupt 3 CÁC VECTOR NGẮT (INTERRUPT VECTORS): Thanh ghi có chức năng thiết lập chế độ ưu tiên trong vi điều khiển là thanh ghi IP (Interrupt

Ngày đăng: 07/08/2014, 22:20

Tài liệu cùng người dùng

Tài liệu liên quan