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
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:
- bao_cao_thi_nghiem_mon_vi_xu_ly_nguyen_trong_tuan.pdf