1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Báo cáo thí nghiệm vi xử lí lab 1 và 3

17 602 6

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 135,68 KB

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

Nội dung

: LẬP TRÌNH GIAO TIẾP PHÍM ĐƠN VÀ QUÉT LED, Viết chương trình thực hiện việc đọc liên tục trạng thái của nút nhấn được nối đến P1.0 và hiển thị ra led được nối tại chân P3.0 (bit thứ 0 của led thanh BL202).

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN – ĐIỆN TỬ

BỘ MÔN ĐIỆN TỬ

-o0o -BÁO CÁO THÍ NGHIỆM

VI XỬ LÍ

LẬP TRÌNH GIAO TIẾP PHÍM

ĐƠN VÀ LED ĐƠN Giảng viên hướng dẫn: Võ Thị Thu Hồng

Sinh viên thực hiện:

Trang 2

TP HỒ CHÍ MINH, THÁNG 2 NĂM 2019

Trang 3

BÀI 1: LẬP TRÌNH GIAO TIẾP PHÍM ĐƠN VÀ QUÉT LED

MỤC TIÊU:

 Nắm được cách sử dụng kit thí nghiệm, phần mềm lập trình

 Nắm được cách lập trình giao tiếp IO port

 Nắm được cách lập trình tạo thời gian trễ dùng các lệnh

CHUẨN BỊ:

 Đọc chương 1, chương 2 và chương 6 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 điều khiển trực tiếp ngoại vi thông qua các port I/O của 8051.

Yêu cầu

Viết chương trình thực hiện việc đọc liên tục trạng thái của nút nhấn được nối đến

P1.0 và hiển thị ra led được nối tại chân P3.0 (bit thứ 0 của led thanh BL202).

Trả lời:

Trang 4

Kiểm tra

Biên dịch và thực thi chương trình để kiểm tra kết quả thực hiện.

Thử giải thích tại sao có đến 2 led cùng bị tác động khi nhấn hoặc thả nút.

Tổng kết xem các bit nào của 2 port có thể được dùng trong thí nghiệm trên và giải thích tại sao.

Trả lời:

Tất cả các bit của 2 port đều có thể được dùng do các chân đều là IO port.

THÍ NGHIỆM 2

Mục tiêu

Nắm được cách tạo trễ dùng vòng lặp lệnh

Yêu cầu

Viết chương trình tạo xung vuông 1 Hz, chu kỳ nhiệm vụ 50% trên P1.0

Trang 5

Trả lời:

Kiểm tra

Biên dịch, thực thi và kiểm tra chương trình bằng cách sử dụng oscilloscope để kiểm tra.

Câu hỏi

Để tạo xung 1Hz, các vòng trễ tạo ra như thế nào Tính toán chính xác dựa trên chương trình đã viết.

Trang 6

Sai số nhỏ nhất có thể đạt được so với yêu cầu là bao nhiêu?

Trả lời:

Sai số nhỏ nhất đạt được là 10-6 (s) khi m=4, n=250, p=249

THÍ NGHIỆM 3

Mục tiêu

Nắm được cách viết chương trình con để tạo trễ

Yêu cầu

Viết chương trình con Delay1sIns và dùng chương trình con này để chớp/tắt LED

đơn gắn vào P1.0 sau mỗi khoảng thời gian 1s.

Trang 7

Kiểm tra

Biên dịch, thực thi và kiểm tra chương trình bằng cách quan sát LED đơn.

Câu hỏi

Thời gian 1s được tạo ra như thế nào?

Trả lời: 1s= 1+ 4 x [( 250 x 2 +1) (249 x2 +1)]

THÍ NGHIỆM 4

Mục tiêu

Nắm được cách hiển thị LED và tạo hiệu ứng

Trang 8

Yêu cầu

Viết chương trình tạo hiệu ứng quay LED: các LED đơn trên BARLED1 sáng lần lượt từ trái sang phải sau thời gian 1s và lặp lại Sử dụng chương trình con 1s đã viết ở trên.

Trả lời:

Trang 9

Kiểm tra

Biên dịch, thực thi và kiểm tra chương trình bằng cách quan sát hiệu ứng trên bar led.

Câu hỏi

Led ngoài cùng bên trái kết nối đến MSB (most significant bit) hay LSB (less significant bit) của port 1?

Trả lời: Led ngoài cùng bên trái kết nối với MBS của port 1.

Trang 10

BÀI TN 3

GIAO TIẾP LCD VÀ ADC

THÍ NGHIỆM 1: Download chương trình mẫu LCD.A51 trên trang web bộ môn điện

tử Biên dịch và chạy thử chương trình Sửa chương trình để hiển thị tên sinh viên lên hàng đầu

ORG 2000H

RS BIT P3.5

EN BIT P3.3

MAIN:

LCALL INIT

MOV A,#0

LAP1: PUSH ACC

MOV DPTR,#TABLE

MOVC A,@A + DPTR

JZ TIEP

LCALL OUT

POP ACC

INC A

SJMP LAP1

TIEP: MOV A,#0C0H

LCALL NHAPLENH

MOV A,#0

LAP2: PUSH ACC

MOV DPTR,#TABLE1

MOV A,@A+DPTR

JZ EXIT

Trang 11

MOVX @DPTR,A

CLR EN

LCALL DELAY5MS

RET

; -OUT:

MOV DPTR,#8000H

CLR EN

SETB EN

SETB RS

MOVX @DPTR,A

CLR EN

LCALL DELAY5MS

RET

; -DELAYL5MS:

MOV TMOD,#10H

MOV TL1,#LOW(-5000)

MOV TH1,#HIGH(-5000)

SETB TR1

JNB TF1,$

CLR TF1

CLR TR1

RET

; -INIT:

MOV A,#01H

LCALL NHAPLENH

MOV A,#0EH

LCALL NHAPLENH

MOV A,#02H

LCALL NHAPLENH

MOV A,#06H

LCALL NHAPLENH

MOV A,#38H

LCALL NHAPLENH

RET

TABLE: DB "NGUYEN VAN HUY",0 ; ky tu 0 de bao ket thuc chuoi ky tu TABLE1: DB "NGUYEN VAN ANH",0

END

Trang 12

THÍ NGHIỆM 2: Viết thêm chương trình con CLRSCREEN để xóa màn hình LCD

CLEAR:

MOV A, #01H ;đặt giá trị cho A ứng với lệnh xóa màn hình trong LCD LCALL NHAPLENH

RET

Viết thêm chương trình con GOTOXY để di chuyển con trỏ của LCD đến hàng x, cột

y, với X chứa trong R0 và Y chứa trong R1

GOTOXY:

CLR A

MOV A,R0 ;chọn hàng hiển thị trên LCD

MOV DPTR,#TABLE

MOVC A,@A+DPTR

ORL A,R1 ;chọn cột hiển thị trên LCD

LCALL NHAPLENH

TABLE: DB 80H,0C0H

RET

Sửa chương trình ở thí nghiệm 1 để hiển thị thêm số nhóm ở hàng thứ 2

ORG 2000H

RS BIT P3.5

EN BIT P3.3

MAIN:

LCALL INIT

MOV A,#0

Trang 13

LAP2: PUSH ACC

MOV DPTR,#TABLE1

MOV A,@A+DPTR

JZ EXIT

LCALL OUT

POP ACC

INC A

SJMP LAP2

EXIT: SJMP $

; -NHAPLENH:

MOV DPTR,#8000H

CLR EN

SETB EN

CLR RS

MOVX @DPTR,A

CLR EN

LCALL DELAY5MS

RET

; -OUT:

MOV DPTR,#8000H

CLR EN

SETB EN

SETB RS

MOVX @DPTR,A

CLR EN

LCALL DELAY5MS

RET

; -DELAYL5MS:

MOV TMOD,#10H

MOV TL1,#LOW(-5000)

MOV TH1,#HIGH(-5000)

SETB TR1

JNB TF1,$

CLR TF1

CLR TR1

RET

; -INIT:

Trang 14

MOV A,#01H

LCALL NHAPLENH

MOV A,#0EH

LCALL NHAPLENH

MOV A,#02H

LCALL NHAPLENH

MOV A,#06H

LCALL NHAPLENH

MOV A,#38H

LCALL NHAPLENH

RET

; -GOTOXY:

PUSH ACC

MOV A,R0

MOV DPTR,#TB

MOVC A,@A+DPTR

ORL A,R1

LCALL NHAPLENH

POP ACC

TB: DB 80H,0C0H

RET

TABLE: DB "DO TUAN HAO",0 ; ky tu 0 de bao ket thuc chuoi ky tu

TABLE1: DB "NGUYEN MY HANG",0

END

THÍ NGHIỆM 3 +4

Viết chương trình con READADC thực hiện đọc giá trị của kênh 0 và trả về giá trị trong R0 Viết chương trình hiển thị giá trị của kênh 0 của ADC lên LCD dùng chương trình con

Trang 15

ACALL DELAY120US

MOVX A,@DPTR

MOV R5,A

ACALL CALADC

SJMP LAP

; -DELAY120US:

MOV R1,#60

DJNZ R1,$

RET

; -NHAPLENH:

MOV DPTR,#6000H

CLR EN

SETB EN

CLR RS

MOVX @DPTR,A

CLR EN

LCALL DL5MS

RET

; -DL5MS:

MOV TMOD,#01H

MOV TL0,#LOW(-5000)

MOV TH0,#HIGH(-5000)

SETB TR0

JNB TF0,$

CLR TR0

CLR TF0

RET

; -KHOIDONGLCD:

MOV A,#01H

LCALL NHAPLENH

MOV A,#0EH

LCALL NHAPLENH

MOV A,#02H

LCALL NHAPLENH

MOV A,#06H

LCALL NHAPLENH

Trang 16

MOV A,#38H

LCALL NHAPLENH

RET

; -XUAT1KYTU:

MOV DPTR,#6000H

CLR EN

SETB EN

SETB RS

MOVX @DPTR,A

CLR EN

LCALL DL5MS

RET

; -CALADC:

MOV A,#88H

LCALL NHAPLENH

MOV A,R5

MOV B,#51

DIV AB

ADD A,#48

ACALL XUAT1KYTU

MOV A,#10

MUL AB

MOV R4,B

MOV B,#51

CJNE R4,#1,TIEP1

DIV AB

ADD A,#5

MOV R4,A

Trang 17

; -HIENTHI:

MOV A,#80H

ACALL NHAPLENH

MOV R3,#0

LOOP:

MOV A,R3

MOV DPTR,#TABLE

MOVC A,@A+DPTR

JZ EXIT

ACALL XUAT1KYTU

INC R3

SJMP LOOP

EXIT:

RET

TABLE: DB "VOLT: , V",0

END

Ngày đăng: 29/10/2020, 21:35

TỪ KHÓA LIÊN QUAN

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

w