210 KIỂM TRA NGẮT PHÁT

Một phần của tài liệu Giáo trình Kỹ thuật vi điều khiển (Nghề Điện tử dân dụng): Phần 2 - CĐ nghề Vĩnh Long (Trang 71 - 73)

- Các vectơ ngắt.

210 KIỂM TRA NGẮT PHÁT

KIỂM TRA NGẮT PHÁT (TI) = 1 Đ S BEGIN SP_ISR: RECEI_DATA:

XĨA CỜ BÁO THU

RI = 0

CẤT DỮ LIỆU NHẬN ĐƯỢC TỪ PORT NỐI TIẾP PORT NỐI TIẾP

(A) = (SBUF)

XUẤT GIÁ TRỊ RA LED

(P1) = (A)EXIT_SP_ISR: EXIT_SP_ISR: END TRANS_DATA: XĨA CỜ BÁO PHÁT TI = 0 ĐỌC TRẠNG THÁI CÁC SW (A) = (P0)

ĐẢO TRẠNG THÁI LOGIC CỦA CÁC SW CÁC SW

TẢI DỮ LIỆU CẦN PHÁT VÀO PORT NỐI TIẾP PORT NỐI TIẾP

(SBUF) = (A)

MASTER & SLAVE

BEGIN

THIẾT LẬP VECTƠ

Vectơ RESET: 0000H

Vectơ ngắt port nối tiếp: 0023H Vectơ chương trình: 0030H SP1

MAIN:

ĐIỀU KHIỂN TẮT LED

(P1) = 00H

CẤU HÌNH PORT NỐI TIẾP

T1 AUTO RELOADBAUD RATE = 9600 BPS BAUD RATE = 9600 BPS DATA = 8 BIT

STOP = 1 BITPARITY = NONE PARITY = NONE

KÍCH HOẠT TIMER 1 TẠO BAUD RATE

(TR1) = 1

CHO PHÉP NGẮT PORT NỐI TIẾP

(IE) = 90H

Hình 0.22: Lưu đồ giải thuật của chương trình.

+ Chương trình điều khiển.

Sử dụng phần mềm Topview Simulation để thực hiện việc viết chương trình và biên dịch, kiểm tra lỗi cú pháp của chương trình.

Bước 2: Khởi động phần mềm Topview Simulation.

Bước 3: Mở chức năng soạn thảo một chương trình mới và đặt tên tập tin

chương trình là: SP_1_M.ASM và SP_1_S.ASM

Bước 4: Viết chương trình điều khiển dưới đây vào máy tính.

Chương trình cho vi điều khiển Master:

;***************************************************

;CHUONG TRINH DIEU KHIEN GIAO TIEP PORT NOI TIEP TRUC TIEP GIUA HAI VI DIEU KHIEN.

;CHUONG TRINH CHO VI DIEU KHIEN MASTER.

;DIEU KHIEN CAC LED SANG/TAT THEO SU DIEU KHIEN CUA CAC SW TUONG UNG.

;MO PHONG PROTUES: SERIALPORT_1.

;*************************************************** ;*************************************************** ;KET NOI: 8 SWITCH -> PORT 0 (ACT = 0)

; 8 LED -> PORT 1 (CO SU DUNG DEM DAO - ACT = 1) ;***************************************************

$MOD51

ORG 00H ;DIEM NHAP RESET.

SJMP MAIN

ORG 23H ;DIEM NHAP NGAT PORT NOI TIEP.

211

ORG 30H ;DIEM NHAP CHUONG TRINH CHINH.

MAIN:

MOV P1,#00H ;LED TAT

;**************************************************** ;KHOI DONG PORT NOI TIEP.

MOV SCON,#52H ;SERIAL: MODE 1, TI = 1, RI = 0, REN = 1.

MOV TMOD,#20H ;TIMER 1: MODE 2 - TAO TOC DO BAUD CHO

SERIAL PORT.

MOV TH1,#(-3) ;BAUD RATE = 9600.

SETB TR1 ;TIMER HOAT DONG - PORT NOI TIEP HOAT DONG. ;****************************************************

;THIET LAP CAC NGAT CHO PORT NOI TIEP.

MOV IE,#90H ;CHO PHEP NGAT PORT NOI TIEP.

;**************************************************** MP1:

;DOAN CHUONG TRINH SE THUC HIEN KHI KHONG CO TIN HIEU NGAT

SJMP MP1 ;QUAY LAI

;**************************************************** SP_ISR: ;CTC PHUC VU NGAT PORT NOI TIEP.

;P0 = DU LIEU PHAT. ;P1 = DU LIEU THU. PUSH ACC

JB TI,TRANS_DATA ;KIEM TRA TIN HIEU NGAT LA NGAT PHAT

HAY NGAT THU.

RECEI_DATA: ;XU LY THU DU LIEU TU PORT NOI TIEP VAO THANH GHI A.

CLR RI ;XOA RI DE CHUAN BI CHO LAN THU KE TIEP. MOV A,SBUF ;THU DU LIEU.

MOV P1,A ;XUAT DU LIEU THU DUOC RA PORT LED.

SJMP EXIT_SP_ISR ;THOAT KHOI ISR.

TRANS_DATA: ;XU LY PHAT DU LIEU TU THANH GHI A RA PORT NOI TIEP.

CLR TI ;XOA TI DE CHUAN BI CHO LAN PHAT KE TIEP. MOV A,P0 ;DOC DU LIEU LAY TU PORT SW.

CPL A ;DAO TRANG THAI (SW ACT = 0, LED ACT = 1).

Một phần của tài liệu Giáo trình Kỹ thuật vi điều khiển (Nghề Điện tử dân dụng): Phần 2 - CĐ nghề Vĩnh Long (Trang 71 - 73)

Tải bản đầy đủ (PDF)

(105 trang)