Báo cáo Thí nghiệm môn Vi xử lý - Nguyễn Trọng Tuấn

THÍ NGHIỆM 2:

ORG 2000H

MOV DPTR,#0000H; khởi tạo giá trị DPTR (vị trí của mạch giải mã)

MOV TMOD,#01H; cài đặt chế độ Timer mode 1 (16 bit)

LOOP:

MOV A,#11100001 ; thanh ghi A chứa giá trị để xuất số ‘1’ ra LED thứ nhất

MOV @DPTR,A

CALL DELAY;tạo trễ một khoảng thời gian để ta có thể nhận biết được LED sáng

MOV A,#11010010; thanh ghi A chứa giá trị để xuất số ‘2’ ra LED thứ hai

MOV @DPTR,A

CALL DELAY

MOV A,#10110011; thanh ghi A chứa giá trị để xuất số ‘3’ ra LED thứ ba

MOV @DPTR,A

CALL DELAY

MOV A,#01110100; thanh ghi A chứa giá trị để xuất số ‘4’ ra LED thứ tư

MOV @DPTR,A

CALL DELAY

SJMP LOOP

DELAY: ; đoạn chương trình tạo trễ 3ms, một khoảng thời gian phù hợp để hiện

tượng lưu ảnh trên mắt ta xảy ra, qua đó giúp ta thấy 4 LED

sáng cùng lúc

MOV TH0,#HIGH(-3000)MOV TL0,#LOW(-3000)

SETB TR0

JNB TF0,$

CLR TF0

CLR TR0

RET

pdf5 trang | Chuyên mục: Vi Xử Lý – Vi Điều Khiển | Chia sẻ: yen2110 | Lượt xem: 468 | Lượt tải: 0download
Tóm tắt nội dung Báo cáo Thí nghiệm môn Vi xử lý - Nguyễn Trọng Tuấn, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
BÁO CÁO 
THÍ NGHIỆM VI XỬ LÝ 
Nhóm: TND1 
Tổ 9: 1. Nguyễn Trọng Tuấn 41204295 
 2. Nguyễn Văn Tuấn 41204296 
 3. Nguyễn Tấn Tùng 41204398 
THÍ NGHIỆM 1 : 
Hiển thị bộ đếm từ 0 đến 9 lên LED 7 đoạn có dùng vi mạch chuyển mã: 
ORG 2000H 
MOV DPTR,#0000H ; khởi tạo giá trị DPTR (vị trí của mạch giải mã) 
MOV TMOD,#01H ; cài đặt chế độ Timer mode 1 (16 bit) 
LOOP: 
MOV R0,#10 
MOV A,#11100000B ; bắt đầu quá trình hiện thị ra LED 7 đoạn, bắt đầu từ số 0, 
chọn LED 7 đoạn thứ nhất để hiển thị (1110) 
LAP : 
MOVX @DPTR, A ; đưa giá trị ra vị trí mạch giải mã để hiển thị ra LED 7 đoạn 
CALL DELAY ; tạo trễ một khoảng thời gian để LED sáng trong vòng 2s 
INC A ; tăng biến A lên 1 đồng nghĩa việc hiển thị số tiếp theo trong chuỗi số cần 
hiển thị 
DJNZ R0,LAP ; xuất những số tiếp theo nếu R0<10, tức là chuỗi số cần hiển thị 
chưa đạt tới 9 
SJMP LOOP ; khi R0=10, tức quá trình hiển thị đã hiển thị tới số 9, chương trình 
cần quay lại hiển thị giá trị ban đầu là 0 
DELAY: ; đoạn chương trình tạo trễ để cho ta có thể nhận biết sự thay đổi giữa 
các số trong quá trình xuất LED, khoảng thời gian tạo trễ 
là 2s 
MOV R1,#40 
NHAY: 
MOV TH0,#HIGH(-50000) 
MOV TL0,#LOW(-50000) 
SETB TR0 
JNB TF0,$ 
CLR TF0 
CLR TR0 
DJNZ R1,NHAY 
RET 
END 
THÍ NGHIỆM 2: 
ORG 2000H 
MOV DPTR,#0000H; khởi tạo giá trị DPTR (vị trí của mạch giải mã) 
MOV TMOD,#01H; cài đặt chế độ Timer mode 1 (16 bit) 
LOOP: 
MOV A,#11100001 ; thanh ghi A chứa giá trị để xuất số ‘1’ ra LED thứ nhất 
MOV @DPTR,A 
CALL DELAY;tạo trễ một khoảng thời gian để ta có thể nhận biết được LED sáng 
MOV A,#11010010; thanh ghi A chứa giá trị để xuất số ‘2’ ra LED thứ hai 
MOV @DPTR,A 
CALL DELAY 
MOV A,#10110011; thanh ghi A chứa giá trị để xuất số ‘3’ ra LED thứ ba 
MOV @DPTR,A 
CALL DELAY 
MOV A,#01110100; thanh ghi A chứa giá trị để xuất số ‘4’ ra LED thứ tư 
MOV @DPTR,A 
CALL DELAY 
SJMP LOOP 
DELAY: ; đoạn chương trình tạo trễ 3ms, một khoảng thời gian phù hợp để hiện 
tượng lưu ảnh trên mắt ta xảy ra, qua đó giúp ta thấy 4 LED 
sáng cùng lúc 
MOV TH0,#HIGH(-3000) 
MOV TL0,#LOW(-3000) 
SETB TR0 
JNB TF0,$ 
CLR TF0 
CLR TR0 
RET 
THÍ NGHIỆM 3: 
Hiển thị giá trị trong thanh ghi R7 lên LED 7 đoạn: 
ORG 2000H 
MOV DPTR,#0000H ; nạp giá trị cho DPTR (vị trí của mạch giải mã ) 
LAP: 
MOV R7,#123 ; khởi tạo một giá trị cho R7 
MOV A,R7 ; gán giá trị trong R7 cho thanh ghi A 
MOV B, #10 ; khởi tạo giá trị cho thanh ghi B để lấy từng số hàng trăm, hàng 
chục , hàng đơn vị 
DIV AB ; chia A cho B, giá trị hàng đơn vị gán cho B (phần dư phép chia), phần 
nguyên gán cho A 
MOV R5,A ; lưu giá trị thanh ghi A cho R5 
MOV A,#11100000B 
ADD A,B ; xuất giấ trị hàng đơn vị ra mạch giải mã thông qua thanh ghi A 
MOVX @DPTR,A ; gửi giá trị hàng đơn vị cho thanh ghi A 
CALL DELAYS ; tạo trễ một khoảng thời gian để cho ta nhận biết được tín hiệu 
xuất ra trên LED 7 đoạn 
MOV A,R5 ; lấy giá trị A của phép chia trước đó trong thanh ghi R5 
MOV B,#10 ; khởi tạo B để lấy giá trị hàng chục và hàng trăm 
DIV AB 
MOV R6,A 
MOV A ,#11010000B 
ADD A,B ; xuất hàng chục ra mạch giải mã để hiển thị lên LED 7 đoạn thông qua 
thanh ghi A 
MOVX @DPTR,A 
CALL DELAYS 
MOV A,#10110000B 
ADD A,R6; tương tự cho hàng trăm 
MOVX @DPTR,A 
CALL DELAYS 
SJMP LAP ; giữ cho giá trị hiển thị trên LED không tắt đi 
DELAYS: ;đoạn chương trình tạo trễ 3ms, một khoảng thời gian phù hợp để hiện 
tượng lưu ảnh trên mắt ta xảy ra, qua đó giúp ta thấy 3 LED 
sáng cùng lúc, tức giá trị trên thanh ghi R7 được hiện ra 
MOV TMOD, #01H 
MOV TH0,#HIGH(-3000) 
MOV TL0, #LOW(-3000) 
SETB TR0 
JNB TF0,$ 
CLR TF0 
CLR TR0 
RET 
END 

File đính kèm:

  • pdfbao_cao_thi_nghiem_mon_vi_xu_ly_nguyen_trong_tuan.pdf