1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài thí nghiệm 1: Hiển thị Leb 7 đoạn

9 93 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 9
Dung lượng 243,81 KB

Nội dung

Bài thí nghiệm 1: Hiển thị Leb 7 đoạn với mục tiêu giúp học viên nắm được cách giao tiếp ngoại vi ở dạng ánh xạ bộ nhớ, giao tiếp Leb 7 đoạn.

BÀI TN HIỂN THỊ LED 7  ĐOẠN MỤC TIÊU:  Nắm được cách giao tiếp ngoại vi ở dạng ánh xạ bộ nhớ, giao tiếp LED 7 đoạn CHUẨN BỊ:  Đọc chương 2 và chương 4 của tài liệu hướng dẫn  Viết chương trình và mơ phỏng các bài thí nghiệm THÍ NGHIỆM 1 Mục tiêu Nắm được cách thức hiển thị LED 7 đoạn u cầu 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 MOV A,R0 ADD A,#0E0H MOV DPTR,#0000H MOVX @DPTR,A RET 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 ORG 2000H MAIN: MOV R0,#09H ACALL DisplayLed0 JMP MAIN DisplayLed0: MOV A, R0 ORL A, #0E0H MOV DPTR, #0000H MOVX @DPTR, A RET END Kiểm tra Biên dịch, thực thi và kiểm tra chương trình THÍ NGHIỆM 2 Mục tiêu Kết hợp được các chương trình con, hiển thị LED 7 đoạn sử dụng các lệnh để tạo delay 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 HD: Viết chương trình Delay1sTimer tạo trễ 1 s dùng các lệnh Trong chương trình chính, đầu tiên cho thanh ghi R0 bằng 0, sau đó vào vịng lặp gọi   chương trình con DisplayLed0 đã viết   phần trước, tạo trễ  1s, tăng R0 lên 1 và lặp lại   quá trình. Nếu R0 lớn hơn 9 thì cho R0 bằng 0 trở lại ORG 2000H                           Lab Manual for “8051 Microcontroller….” BÀI TN HIỂN THỊ LED 7  ĐOẠN MAIN:  MOV R0,#00H LOOP: CALL LED0 CALL DELAY1S INC R0 CJNE R0, #0AH, LOOP LED0: MOV A, R0 ORL A, 0E0H MOV DPTR, #0000H MOVX @DPTR,A RET DELAY1S: MOV R7,#14H DELAY: MOV TMOD,#01H MOV TH0, #HIGH(­50000) MOV TL0, #LOW(­50000) SETB TR0 JNB TF0,$ CLR TF0 CLR TR0 DJNZ R7, DELAY RET END Kiểm tra Biên dịch, thực thi và kiểm tra chương trình THÍ NGHIỆM 3 Mục tiêu Nắm được cách thức dùng chương trình con có truyền tham số để điều khiển ngoại vi 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 ORG 2000H MAIN: MOV R1,#0EH MOV R0,#01H CALL CTCON SJMP MAIN CTCON: MOV A,R1                           Lab Manual for “8051 Microcontroller….” BÀI TN HIỂN THỊ LED 7  ĐOẠN ANL A,#0FH SWAP A MOV B,R0 ANL B,#0FH ADD A,B     MOV DPTR,#0000H MOVX @DPTR,A RET END HD: Để hiển thị lên 1 LED 7 đoạn ta phải ghi ra ngoại vi ở vùng nhớ 0000H­1FFFH một byte,  với 4 bit thấp chứa giá trị  của giá trị  cần hiển thị  và 4 bit cao được dùng để  chọn LED   Trong 4 bit cao, bit nào bằng 0 thì LED 7 đoạn tương ứng sẽ được bật Đoạn chương trình sau tính tốn để xuất ra điều khiển LED dựa vào R0, R1 MOV B,  R1 MOV A, #11110111B ;bit số 3 bằng 0, bốn bit cao bằng 1 SHIFTLOOP: RL A DJNZ B, SHIFTLOOP ANL A,  #0F0H PUSH ACC MOV A, R0 ANL A, #0FH MOV R0, A POP ACC ORL A, R0 Kiểm tra Biên dịch, thực thi và kiểm tra chương trình  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 THÍ NGHIỆM 5 Mục tiêu Nắm được phương pháp qt LED 7 đoạn 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. Q   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 tố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 ORG 2000H MAIN: MOV R0,#00H                           Lab Manual for “8051 Microcontroller….” BÀI TN HIỂN THỊ LED 7  ĐOẠN LOOP: CALL LED0 CALL DELAY1S INC R0 CALL LED1 CALL DELAY1S INC R0 CALL LED2 CALL DELAY1S INC R0 CALL LED3 CALL DELAY1S CJNE R0,#04H,MAIN LED0: MOV A,R0 ORL A,#0E0H MOV DPTR,#0000H MOVX @DPTR,A RET LED1: MOV A,R0 ORL A,#0D0H MOV DPTR,#0000H MOVX @DPTR,A RET LED2: MOV A,R0 ORL A,#0B0H MOV DPTR,#0000H MOVX @DPTR,A RET LED3: MOV A,R0 ORL A,#70H MOV DPTR,#0000H MOVX @DPTR,A RET DELAY1S: MOV R7, #14H DELAY: MOV TMOD, #01H MOV TH0, #HIGH(­50000)                           Lab Manual for “8051 Microcontroller….” BÀI TN HIỂN THỊ LED 7  ĐOẠN MOV TL0, #LOW(­50000) SETB TR0 JNB TF0,$ CLR TF0 CLR TR0 DJNZ R7,DELAY RET END Kiểm tra Biên dịch, thực thi và kiểm tra chương trình 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 Khi giảm rất nhỏ thời gian trễ, hiện tượng xảy ra là gì? Giải thích ... Giải thích ý nghĩa các lệnh của? ?đoạn? ?chương trình trong hướng dẫn THÍ NGHIỆM 5 Mục tiêu Nắm được phương pháp qt LED? ?7? ?đoạn 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? ?... 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. Q   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 ... Biên dịch, thực thi và kiểm tra chương trình THÍ NGHIỆM 2 Mục tiêu Kết hợp được các chương trình con,? ?hiển? ?thị? ?LED? ?7? ?đoạn? ?sử dụng các lệnh để tạo delay 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

Ngày đăng: 02/11/2020, 20:29

TỪ KHÓA LIÊN QUAN

w