Code điều khiển

Một phần của tài liệu 255052 (Trang 72 - 75)

Viết bằng trình hợp ngữ, ta dƣợc code điều khiển nhƣ sau: org 00h

mov SCON, #50h //truyền dữ liệu 8 bit, 1 bit stop cho phép thu mov TMOD, #20h //chọn Timer 1, chế độ 2 (tự động nạp lại) mov TH1, #0FDh //chọn tốc độ Baud 9600

setb TR1 //khởi động Timer 1 jmp main

org 0FFh main:

jnb RI, $ //chờ đến khi nhận dữ liệu cuối cùng clr RI //chờ sẵn cho 1 byte kế tiếp

mov A, SBUF //gán dữ liệu cho thanh ghi A mo_den1:

cjne A, #'a', tat_den1 //so sánh, nếu A= „a‟ thì mở đèn 1 clr P1.0 nếu sai thì nhảy xuống lệnh tiếp theo jmp main

tat_den1:

setb P1.0 jmp main mo_den2:

cjne A, #'c', tat_den2 //so sánh, nếu A= „c‟ thì mở đèn 2 clr P1.1

jmp main tat_den2:

cjne A, #'d', mo_den3 //so sánh, nếu A= „d‟ thì tắt đèn 2 setb P1.1

jmp main mo_den3:

cjne A, #'e', tat_den3 //so sánh, nếu A= „e‟ thì mở đèn 3 clr P1.2

jmp main tat_den3:

cjne A, #'f', mo_den4 //so sánh, nếu A= „f‟ thì tắt đèn 3 setb P1.2

jmp main mo_den4:

cjne A, #'g', tat_den4 //so sánh, nếu A= „g‟ thì mở đèn 4 clr P1.3

jmp main tat_den4:

cjne A, #'h', mo_den5 //so sánh, nếu A= „h‟ thì tắt đèn 4 setb P1.3

jmp main mo_den5:

cjne A, #'i', tat_den5 //so sánh, nếu A= „i‟ thì mở đèn 5 clr P1.4

jmp main tat_den5:

cjne A, #'j', mo_den6 //so sánh, nếu A= „j‟ thì tắt đèn 5 setb P1.4

jmp main mo_den6:

cjne A, #'k', tat_den6 //so sánh, nếu A= „k‟ thì mở đèn 6 clr P1.5

jmp main tat_den6:

cjne A, #'l', mo_den7 //so sánh, nếu A= „l‟ thì tắt đèn 6 setb P1.5

jmp main mo_den7:

cjne A, #'m', tat_den7 //so sánh, nếu A= „m‟ thì mở đèn 7 clr P1.6

jmp main tat_den7: (adsbygoogle = window.adsbygoogle || []).push({});

cjne A, #'n', mo_den8 //so sánh, nếu A= „n‟ thì tắt đèn 7 setb P1.6

jmp main mo_den8:

cjne A, #'o', tat_den8 //so sánh, nếu A= „o‟ thì mở đèn 8 clr P1.7

jmp main tat_den8:

cjne A, #'p', reset_mach //so sánh, nếu A= „p‟ thì tắt đèn 8 setb P1.7

jmp main reset_mach:

cjne A, #'q', main //so sánh, nếu A= „q‟ thì tắt hết đèn. setb P1.0 setb P1.1 setb P1.2 setb P1.3 setb P1.4 setb P1.5 setb P1.6 setb P1.7 jmp main end

Một phần của tài liệu 255052 (Trang 72 - 75)