1. Trang chủ
  2. » Tất cả

Báo cáo vi xử lý bài 1 thí nghiệm với nút nhấn thí nghiệm 1 đọc liên tục giá trị của nút nhấn p1 0 và xuất ra p3 0

49 7 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Báo cáo vi xử lý bài 1 thí nghiệm với nút nhấn thí nghiệm 1 đọc liên tục giá trị của nút nhấn p1 0 và xuất ra p3 0
Tác giả Nguyễn Tuấn Hưng
Người hướng dẫn Thầy Phạm Quang Thời
Trường học Đại Học Quốc Gia TP Hồ Chí Minh
Thể loại Báo cáo
Năm xuất bản 2022
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 49
Dung lượng 332,49 KB

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

Nội dung

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH ĐẠI HỌC BÁCH KHOA  BÁO CÁO VI XỬ LÝ LỚP L06 HK 221 NGÀY NỘP 14/12/2022 Giảng viên hướng dẫn Thầy Phạm Quang Thời Sinh viên thực hiện Mã số sinh viên Điểm số Ng[.]

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

ĐẠI HỌC BÁCH KHOA



BÁO CÁO VI XỬ LÝ

LỚP L06 HK 221 NGÀY NỘP 14/12/2022 Giảng viên hướng dẫn: Thầy Phạm Quang Thời

Sinh viên thực hiện Mã số sinh viên Điểm số

Nguyễn Tuấn Hưng 2011336

Thành phố Hồ Chí Minh – 2022

Trang 2

Bài 1: Thí nghiệm với nút nhấn THÍ NGHIỆM 1: Đọc liên tục giá trị của nút nhấn P1.0 và xuất ra P3.0

ORG 2000H

LOOP: MOV C,P1.0 ; đọc nút nhấn

MOV P3.0, C ; xuất ra LED

SJMP LOOP END

THÍ NGHIỆM 2: Viết chương trình tạo sóng tại P3.0

Trang 3

THÍ NGHIỆM 4: 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 4

THÍ NGHIỆM 5: 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

Mô tả chương trình:

Ban đầu tất cả các led đều tắt

Sau 1s Led P1.7 sẽ sáng, sau 1s tiếp theo thì đến led P1.6 sẽ sáng, P1.7 vẫn sáng Làm tuần tự đến tất cả led đều sáng thì Reset lại chương trình

Trang 5

THÍ NGHIỆM 6: Viết chương trình theo mô tả sau:

Ban đầu: Tất cả led đều tắt

Sau 1s đầu thì led P1.7 sáng và tất cả các led còn đều tắt Sau 1s kế tiếp led P1.6 sáng và tất cả các led còn đều tắt Sau 1s nữa thì led P1.5 sáng và tất cả các led còn đều tắt Làm tuân tự đến led P1.0 và Reset quá trình

Trang 6

THÍ NGHIỆM 7: Nhấn nút P1.0 thì led chạy như câu 5 Nhấn nút P1.1 thì led

Trang 8

THÍ NGHIỆM 1: 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

THÍ NGHIỆM 2: 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

Trang 9

THÍ NGHIỆM 3: 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

Trang 10

ANL A, #0F0H PUSH ACC

MOV A, R0 ANL A, #0FH MOV R0, A POP ACC

ORL A, R0 MOV DPTR,#0000H MOVX @DPTR, A

Trang 11

THÍ NGHIỆM 4: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

Trang 12

MOV A, R0

ANL A, #0FH MOV R0, A

Trang 13

MOV R1,#0

MOV R2,#4

MAIN:

ACALL DisplayLED ACALL DELAY_100MS MOV DPTR,#0000H MOVX @DPTR, A

MOV A, R0

ANL A, #0FH MOV R0, A

Trang 15

MOV R3,A CHUC:

Trang 16

MOV A,#11101111B LOOP:

RL A

DJNZ B, LOOP

ANL A, #0F0H PUSH ACC

MOV A, R0 ANL A, #0FH MOV R0, A

ORL A, R0 MOV DPTR,#0000H MOVX @DPTR, A

Trang 17

Bài 3: Làm quen với LCD THÍ NGHIỆM 1: Chạy mẫu đoạn code

LCD_E BIT P3.3 ;Định nghĩa LCD_E là chân P3.3 LCD_RS BIT P3.5 ;Định nghĩa LCD_RS là chân P3.5 LCDADDR EQU 6000H ;Định nghĩa LCDADDR là 6000H ORG 2000H

Trang 20

INIT_LCD:

MOV A,#38H

ACALL WRITECOM MOV A, #0EH

ACALL WRITECOM MOV A,#06H

ACALL WRITECOM RET

CLEAR:

MOV A, #01H

ACALL WRITECOM RET

WRITECOM:

MOV DPTR,#LCDADDR SETB LCD_E

CLR LCD_RS

MOVX @DPTR, A CLR LCD_E

ACALL WAIT_LCD RET

WRITETEXT:

MOV DPTR,#LCDADDR SETB LCD_E

SETB LCD_RS

MOVX @DPTR, A CLR LCD_E

Trang 22

MOVC A,@A+DPTR

JZ EXIT

ACALL WRITETEXT MOV A,R0

Trang 23

THÍ NGHIỆM 3: Viết nội quy lên LCD

LCD_E BIT P3.3 ;Ð?nh nghia LCD_E là chân P3.3 LCD_RS BIT P3.5 ;Ð?nh nghia LCD_RS là chân P3.5 LCDADDR EQU 6000H ;Ð?nh nghia LCDADDR là 6000H ORG 2000H

MAIN:

MOV @R0, 30H

Trang 24

MOV DPTR, #LCDADDR ACALL CLEAR

ACALL XOA_DONG_2

Trang 32

Bài 4: Làm quen với ADC và Timer

THÍ NGHIỆM 1: Xuất giá trị trên ADC lên Port 1

ACALL WAIT_LCD ;EOC

MOVX A,@DPTR ;OE

Trang 33

THÍ NGHIỆM 2: Xuất giá trị ADC lên LCD

Trang 37

ACALL WRITECOM POP ACC

Trang 38

ACALL WAIT_LCD ;EOC

MOVX A,@DPTR ;OE

Trang 39

RET

WRITECOM:

MOV DPTR,#LCDADDR SETB LCD_E

Trang 43

MOV SBUF,A

RET

END

THÍ NGHIỆM 2: Đưa lên 1 ký tự truyền từ bàn phìm lên LCD

LCD_E BIT P3.3 ;Định nghĩa LCD_E là chân P3.3

LCD_RS BIT P3.5 ;Định nghĩa LCD_RS là chân P3.5

LCDADDR EQU 6000H ;Định nghĩa LCDADDR là 6000H ORG 2000H

Trang 45

THÍ NGHIỆM 3: Đưa lên 1 chuỗi ký tự truyền từ bàn phìm lên LCD

LCD_E BIT P3.3 ;Định nghĩa LCD_E là chân P3.3

LCD_RS BIT P3.5 ;Định nghĩa LCD_RS là chân P3.5

LCDADDR EQU 6000H ;Định nghĩa LCDADDR là 6000H ORG 2000H

Trang 46

MOV A,#80H

ADD A,R1

ACALL WRITECOM MOV A,R4

CJNE A, #08H, XOA_1 ACALL WRITETEXT MOV A,#06H

ACALL WRITECOM INC R1

CJNE A, #08H, XOA_2 ACALL WRITETEXT MOV A,#06H

ACALL WRITECOM INC R1

CJNE R1,#17,$+3

JC DONG_2

SJMP MAIN

THU:

Trang 47

ACALL WRITETEXT SJMP DONG_1

ACALL WRITETEXT SJMP DONG_2

RET

Trang 48

INIT_LCD: ;Các dòng lệnh cấu hình LCD ban đầu

Ngày đăng: 20/03/2023, 10:26

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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

w