1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo thí nghiệm vi xử lý bài 2

10 2 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 71 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

THÍ NGHIỆM 1Viết chương trình con DisplayLed0 hiển thị lên LED 7 đoạn số 0 giá trị chứa trong thanh ghi R0 Viết chương trình chính hiển thị số 9 lên LED 7 đoạn số 0 bằng cách cho R0 bằng

Trang 1

THÍ NGHIỆM 1

Viết chương trình con DisplayLed0 hiển thị lên LED 7 đoạn số 0 giá trị chứa trong thanh ghi R0

Viết chương trình chính hiển thị số 9 lên LED 7 đoạn số 0 bằng cách cho R0 bằng 9 và gọi chương trình con DisplayLed0

Code1:

DisplayLed0:

MOV A,#0E0H

ADD A, R0

MOV DPTR, #0000H

MOVX @DPTR,A

RET

Code2:

ORG 2000H

MAIN:

MOV R0,#9

LCALL DisplayLed0

DisplayLed0:

MOV A,#0E0H

ADD A, R0

MOV DPTR, #0000H

MOVX @DPTR,A

RET

END

Trang 2

Yêu cầu

Viết chương trình hiển thị lên LED 7 đoạn số 0 các con số từ 0 đến 9 sau các khoảng thời gian 1s

Code:

ORG 2000H

MAIN:

MOV R0,#0

LOOP:

LCALL DisplayLed0

LCALL Delay1s

INC R0

CJNE R0,#10,LOOP

SJMP MAIN

DisplayLed0:

MOV A,#0E0H

ADD A, R0

MOV DPTR, #0000H

MOVX @DPTR,A

RET

Delay1s:

MOV R7,#8

LAP2: MOV R6,#240

LAP1: MOV R5,#240

DJNZ R5, $

DJNZ R6, LAP1

DJNZ R7, LAP2

RET

END

Trang 3

THÍ NGHIỆM 3

Yêu cầu

Viết chương trình con DisplayLED xuất giá trị chứa trong thanh ghi R0 lên LED 7 đoạn có

số thứ tự chứa trong thanh ghi R1

R0 nằm trong tầm từ 0-9 và R1 trong tầm từ 0-3

Sau đó dùng chương trình con này viết chương trình chính xuất giá trị 1 lên LED 7 đoạn số 3

Viết chương trình con:

Cách 1:

DisplayLED:

MOV DPTR,#TABLE

MOV A,R1

MOVC A,@A+DPTR

ADD A,R0

MOV DPTR, #0000H

MOVX @DPTR, A

RET

TABLE: DB 0E0H, 0D0H, 0B0H,70H

Cách 2:

DisplayLED:

MOV B, R1; Đưa nội dung trong R1 vào B

INC B; Tăng giá trị B lên 1

MOV A, #11110111B ;bit số 3 bằng 0, bốn bit cao bằng 1

Trang 4

DJNZ B,SHIFTLOOP ; Giảm B đi 1, nếu khác 0 thì quay lại nhãn SHIFTLOOP

ANL A, #0F0H ; Nếu B giảm đến 0 thì giữ lại 4 bit cao của A

PUSH ACC; Cất Acc vào StackPointer

MOV A, R0; Đưa nội dung R0 vào A

ANL A, #0FH; Giữ lại 4 bit thấp của A

MOV R0, A; Đua nội dung của A vào R0

POP ACC ;Lấy lại A từ StackPointer

ORL A, R0; Cộng A với R0, rồi lưu vào A

RET

CHƯƠNG TRÌNH CHÍNH:

ORG 0000H

MOV R1,#3

MOV R0,#1

LCALL DisplayLED

SJMP $

DisplayLED:

MOV DPTR, #0000H

MOVX @DPTR, A

RET

END

Câu hỏi

Giải thích ý nghĩa các lệnh của đoạn chương trình trong hướng dẫn

Trang 5

THÍ NGHIỆM 5

Yêu cầu

Viết chương trình hiển thị số 1 lên LED7 đoạn 0, sau đó 1s hiển thị số 2 lên LED 7 đoạn 1, sau đó 1s hiển thị số 3 lên LED 7 đoạn 2, sau đó 1s hiển thị số 4 lên LED 7 đoạn 3 Quá trình này lặp đi lặp lại Việc hiển thị này sử dụng chương trình con DisplayLED đã viết ở trên

Giảm thời gian trễ xuống còn 100 ms Quan sát hiện tượng

Tính toán thời gian trễ sao cho không còn thấy LED nhấp nháy và áp dụng vào chương trình Giảm thời gian trễ xuống bằng 0 (không sử dụng hàm delay) Quan sát hiện tượng

Kiểm tra

CODE:

ORG 0000H

MAIN:

MOV R1,#0

MOV R0,#1

LOOP:

LCALL DisplayLED

LCALL Delay1s

INC R1

INC R0

CJNE R1,#4,LOOP

SJMP MAIN

DisplayLED:

Trang 6

MOVC A,@A+DPTR

ADD A,R0

MOVX @DPTR, A

RET

Delay1s:

MOV R7,#8

LAP2: MOV R6,#240

LAP1: MOV R5,#240

DJNZ R5, $

DJNZ R6, LAP1

DJNZ R7, LAP2

RET

TABLE: DB 0E0H, 0D0H, 0B0H,70H

END

Câu hỏi

Thời gian trễ để không còn thấy LED nhấp nháy là bao nhiêu theo lý thuyết? Giải thích cách tính

- Cách tính: Với tần số thạch anh sử dụng là 11.0592 MHz , ta có:

1 MC= 12/ 11.0592 MHz= 1.085 µs

Trang 7

Xét sơ đồ sau:

Ta thấy, khoảng cách giữa 2 lần LED X sáng/tắt là 4T Mà theo lý thuyết, nếu số lần LED sáng tắt lớn hơn 24 lần trong 1 giây thì mắt người coi như LED sáng liên tục Suy ra, thời gian trễ lớn nhất cần tìm là: 1s=24*4T  T= 10 416 µs= 9600 MCs

Khi giảm rất nhỏ thời gian trễ, hiện tượng xảy ra là gì? Giải thích

- Hiện tượng: Không thấy LED 7 đoạn sáng

- Giải thích: Tần số chớp tắt quá nhanh, mắt người không nhìn được

T

Trang 8

ORG 0000H

MAIN:

MOV 00H,#0 ;GTLED0

MOV 01H,#0 ;GTLED1

MOV 02H,#0 ;GTLED2

MOV 03H,#0 ;GTLED3

BACK: MOV R4,#0 ; CHON LED

;CHON R5 LAM BIEN TRUNG GIAN

MOV R5, 00H

LCALL DisplayLED

LCALL Delay

INC R4

MOV R5, 01H

LCALL DisplayLED

LCALL Delay

INC R4

MOV R5, 02H

LCALL DisplayLED

LCALL Delay

INC R4

Trang 9

MOV R5, 03H

LCALL DisplayLED

LCALL Delay

LCALL GIATRI

SJMP BACK

GIATRI:

INC 00H

CJNE R0,#10, NEXT0

INC 01H

MOV 00H,#0

CJNE R1,#10, NEXT0

INC 02H

MOV 00H,#0

MOV 01H,#0

CJNE R2, #10, NEXT0

INC 03H

MOV 00H,#0

MOV 01H,#0

MOV 02H,#0

CJNE R3, #10, NEXT0

SJMP MAIN

NEXT0: RET

Trang 10

MOV DPTR,#TABLE

MOV A,R4

MOVC A,@A+DPTR

ADD A,R5

MOVX @DPTR, A

RET

Delay:

MOV R7,#20

LAP: MOV R6,#240

DJNZ R6, $

DJNZ R7, LAP

RET

TABLE: DB 0E0H, 0D0H, 0B0H,70H

END

Ngày đăng: 18/08/2022, 16:13

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w