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

Báo Cáo Thí Nghiệm Môn Vi Xử Lý.pdf

89 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
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 thí nghiệm môn Vi xử lý: Lập trình giao tiếp nút nhấn đơn và LED
Tác giả Trần Gia Tuần, Võ Hoàng Yến Nhi, Bạch Đông Huy
Người hướng dẫn Nguyễn Phan Hải Phú
Trường học Đại học Quốc gia Thành phố Hồ Chí Minh, Đại học Bách khoa Thành phố Hồ Chí Minh
Chuyên ngành Vi xử lý
Thể loại Báo cáo thí nghiệm
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 89
Dung lượng 10,66 MB

Nội dung

LAP TRINH GIAO TIEP NUT NHAN DON VA LED Yêm 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 bí thứ

Trang 1

DAI HOC QUOC GIA THÀNH PHÓ HỎ CHÍ MINH

DAI HOC BACH KHOA THANH PHO HO CHI MINH

KHOA DIEN- DIEN TU

BAO CAO THI NGHIEM MON VIXU LY GVHD: NGUYEN PHAN HAI PHU

LỚP: LỊ ]

DANH SÁCH THÀNH VIÊN:

1 TRAN GIA TUẦN 2011073

2 VO HOANG YEN NHI 2012346

3 BACH DONG HUY

Trang 3

LAP TRINH GIAO TIEP NUT NHAN DON VA LED

MUC TIEU

> Nắm duge cach str dung kit thi nghiém, phan mém lap trinh

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

> Nam duoc cach lập trình tạo thời gian trễ dùng các lệnh

CHUAN BI

> Doe va lam bai thi nghiém 0 tai nha

> Doc bai chuan bi thi nghiệm | tai nha

> Chuan bi cho thi nghiém 1: Viét chuong trinh va mé phong trén Proteus tat ca cac bai trong thí nghiệm 1 dựa trên bài chuẩn bị 1 và thí nghiệm 0

> Nộp tat ca các kết qua (bai thi nghiệm 0 và bài chuẩn bi thí nghiệm 1) cho GVHD trước khi vào lớp

Sinh viên không thục hiện hoặc nộp thiếu nếu không có lí do chính đáng sẽ không được tham gia thí nghiệm và bị đánh vắng buổi đó

Department of Electronics Page | 1

Trang 4

LAP TRINH GIAO TIEP NUT NHAN DON VA LED

Yêm 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 (bí thứ 0 của led thanh BL202)

MOV P3.0,C; Xuat gia tri tương ứng ra P3.0 SJMP LOOP; Lặp lại

END

> Sinh viên tiến hành nạp chương trình, chạy mô phỏng, thử nghiệm thay đổi trang thai nut nhân P1.0 và quan sát sự thay đổi LED ở chân P3.0 Sau đó quay video màn hình chạy thử nghiệm và chèn vào báo cáo sau

Department of Electronics Page | 2

Trang 5

| Vì 1 Led được nói với nút bám, 1 led được lập trình đẻ hiện thị trạng thái theo nút bẩm _|

> 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?

P1.0 đến P1,7 và P3.0 đến P3.7

Vì Port 1 được nối trực tiếp với nút trên phần cứng và Port 3 có thẻ được lập trình đề hiển

thị trạng thái của nút bắm được nối với Port 1

Department of Electronics Page | 3 Microprocessor Laboratory

Trang 6

LAP TRINH GIAO TIEP NUT NHAN DON VA LED

THI NGHIEM 2

Mục tiêu: Năm được cách viết chương trình con để tạo trễ

Yéu cau:

> Viét chyong trinh con Delay1s

> Dùng chương trình con đã viết để chớp/tắt LED đơn gắn vào P1.0 sau mỗi khoảng thời gian 1s,

> Thay đổi chương trình con để tần số chớp tat bây giờ là IKHz

LOOP: CPL P1.0; Dao trang thai P1.0

LCALL Delay1s; Goi ham Delay1s

SJMP LOOP; Lap lai

Department of Electronics Page | 4

Trang 7

LAP TRINH GIAO TIEP NUT NHAN DON VA LED

Department of Electronics Page | 5

Trang 8

LAP TRINH GIAO TIEP NUT NHAN DON VA LED

Trang 9

LAP TRINH GIAO TIEP NUT NHAN DON VA LED

THI NGHIEM 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 tạo 2 xung vuông 0.5Hz (chu kỳ nhiệm vụ 50%) và 1Hz (chu kỳ

nhiệm vụ là 30%) lần lượt trên chân P1.0 và PI.1

Kiém tra:

> Bién dich, thực thi và kiểm tra chương trình bằng cách sử dụng oscilloscope đề kiêm tra Báo cáo:

> Đoạn chương trình thực hiện yêu cầu thí nghiệm đã cho:

:Ý tưởng: Tạo chương trình Delay 0.1s Khi xung 1Hz xong 1 chu kì tương ứng

; xung 0.5Hz đi được 1⁄2 chu kì

LOOP3: MOV Ró, #3; Lặp lại 0.1s 3 lần được 0.3s

MOV R7, #7; Lap lai 0.1s 7 lần được 0.7s

LOOP: ACALL Delay0_1s

Trang 10

LAP TRINH GIAO TIEP NUT NHAN DON VA LED

Trang 11

LAP TRINH GIAO TIEP NUT NHAN DON VA LED

Trang 12

LAP TRINH GIAO TIEP NUT NHAN DON VA LED

THI NGHIEM 4

Muc tiéu: Nam duoc cach hién thi bar LED va tao hiéu ứng

Yêu cầu: Viết chương trình tạo hiệu ứng quay LED: các LED đơn trên BARLEDI 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 Delay 1s đã viết ở trên Kiém tra:

> Bién dich, 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

> Đoạn chương trình thực hiện yêu cầu thí nghiệm đã cho:

Trang 13

LAP TRINH GIAO TIEP NUT NHAN DON VA LED

Department of Electronics Page | 11

Trang 14

LAP TRINH GIAO TIEP NUT NHAN DON VA LED

Trang 15

LAP TRINH GIAO TIEP NUT NHAN DON VA LED

Trang 16

LAP TRINH GIAO TIEP NUT NHAN DON VA LED

Trang 17

LAP TRINH GIAO TIEP NUT NHAN DON VA LED

Trang 18

LAP TRINH GIAO TIEP NUT NHAN DON VA LED

Trang 19

LAP TRINH GIAO TIEP NUT NHAN DON VA LED

Reset RO về 0

Trang 20

LAP TRINH GIAO TIEP NUT NHAN DON VA LED

THI NGHIEM 7

Muc tiéu: Nam duge cach thire dùng chương trình con và giao tiếp LED 7 đoạn

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 Trong đó:

RO nam 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 Hướng dẫn:

Dé hién thị lên 1 LED 7 đoạn ta phái ghi ra ngoại vi ở vùng nhớ 0000H-IFFFH một byte, với 4 bít thấp chứa giả trị cua gia tri 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 toán để xuất ra điều khiển LED dựa vào R0, R1

Trang 21

LAP TRINH GIAO TIEP NUT NHAN DON VA LED

RL A DJNZ B, SHIFTLOOP ANL A,#0F0H PUSH ACC MOV A, RO ANL A, #0FH MOV RO,A POP ACC ORL A, RO

Trang 22

LAP TRINH GIAO TIEP NUT NHAN DON VA LED

|

> Sinh viên tiến hành nạp chương trình, chạy mô phỏng, thử nghiệm Sau đó quay video

màn hình chạy thử nghiệm và chèn vào báo cáo sau

(Video quay màn hình mình chứng thí nghiệm đúng)

ĐẠI HỌC BÁCH KHOA TP.HỒ CHÍ MINH

Department of Electronics Page | 20

Trang 23

LAP TRINH GIAO TIEP NUT NHAN DON VA LED

THI NGHIEM 8

Mục tiêu:

> Nắm được phương pháp quét LED 7 đoạn

A A

Yéu cau:

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

Department of Electronics Page | 21

Trang 24

LAP TRINH GIAO TIEP NUT NHAN DON VA LED

Trang 25

LAP TRINH GIAO TIEP NUT NHAN DON VA LED

Trang 26

LAP TRINH GIAO TIEP NUT NHAN DON VA LED

Xét sơ đổ sau ta thấy nếu tần số của 1 led sáng tắt(4T) lớn hơn 24 HZ thì mắt ta sẽ không còn nhận biết được sự nhấp nháy của Led

Trang 27

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

MỤC TIỂU

> Nam được cách sử dụng kít thí nghiệm, phần mềm lập trình

> Nắm được cách giao tiếp LCD và ADC

> Nam duoc cach lap trinh timer

CHUAN BI

> Doc bai chuan bi thi nghiém 2 tai nha

> Chuan bi cho thi nghiém 2: Viét chương trình và mô phỏng trên Proteus tất cả các bài trong thí nghiệm 2 dựa trên bài chuẩn bị 2 và thí nghiệm 0

> Nộp tất cả các kết quả (bài chuẩn bị thí nghiệm 2) cho GVHD trước khi vào lớp

Sinh viên không thực hiện hoặc nộp thiếu nếu không có li do chính đáng sẽ không được tham gia thí nghiệm và bị đánh vắng buổi đó

Department of Electronics Page | 1

Trang 28

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

> 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

Department of Electronics Page | 2

Trang 29

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

Department of Electronics Page | 3

Trang 30

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

Department of Electronics Page | 4

Trang 31

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

Trang 32

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

WRITETEXT: Xuất ký tự ra LCD

WAIT LCD: Delay

INIT LCD: Các dòng lệnh cấu hình LCD ban dau

DISPLAYSTRING: Hàm con xuất chuỗi ký tự bằng cách tra bảng

Trang 33

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

THÍ NGHIỆM 9

Mục tiêu: Nắm được giao tiếp cơ bản của LCD

Yêu cầu:

> Viét thêm chương trình con CLRSCREEN để xóa màn hình LCD

> 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 R]

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

Trang 34

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

Department of Electronics Page | 8

Trang 35

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

Trang 36

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

LOOP:

MOV DPTR, #TEN JNBF0,DP TEN ;DPTR = địa chỉ nhãn TEN (khi F0E0) hoặc NHOM (F0=l)

Trang 37

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

MOV A,#0COH

SJMP BACK

COUNT: ;Tính vị trí bắt đầu của TEN (Khi F0=0)

; và NHOM (F0=1) lưu vào trong R1

Department of Electronics Page | 11

Trang 38

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

> Cho biết mã lệnh dùng để xóa màn hình, dịch con trỏ đến vi tri thir 1 cua hang 1 va vị trí

thứ 1 cua hang 2 cua LCD?

Trang 39

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

COUNT: ;TINH VI TRI BAT DAU CUA TEN (Khi FO=0)

; va NHOM (FO=1) luu vao trong R1

Trang 40

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

Trang 41

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

Trang 42

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

Department of Electronics Page | 16

Trang 43

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

Department of Electronics Page | 17

Trang 44

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

Trang 45

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

Trang 46

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

> Gia tri nay co phai gia tri thực của điện áp đặt vào kênh 0 hay không?

Giá trị này không phải trị thực điện áp đặt vào kênh 0, Vì ADC sử dụng 8 bit từ 0 đến 255 để hiển thị giá trị từ 0 đến

5V,

»> Để hiển thị giả trị thực tế của mức điện áp đặt vào kênh 0 ta phải làm như thế nào?

Ta thực hiện phép toán (Giá trị hiển thi*5)/255= gia trị

điện áp

Department of Electronics Page | 20

Trang 47

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

>_ Viết chương trình con CALADC tính toán giá trị điện áp thực tế đặt vào kênh 0 ADC từ

giá trị đo được của ADC

> Chương trình có giá trị vào chứa trong R0 (là kết quả của chương trình con READADC)

> Gia tri tra về chứa trong R0 và R1, R0 chứa giá trị nguyên và R1 chứa giá trị thập phân

> Hiển thị giá trị đo được lên LCD theo cấu trúc: "Voltage: x.xx V" voi x.xx la gia tri dién

áp đo được, với hai số sau dấu chấm

Trang 48

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

Department of Electronics Page | 22

Trang 49

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

MOVX A,@DPTR ;OE

MOV RO,A

Department of Electronics Page | 23

Trang 50

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

Department of Electronics Page | 24

Trang 51

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

Trang 52

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

Department of Electronics Page | 26

Trang 53

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

Trang 54

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

> Biên dịch, thực thi và kiểm tra chương trinh

> Đoạn chương trình thực hiện yêu cầu thí nghiệm đã cho:

Trang 55

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

Trang 56

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

Có sai số do thời gian thực hiện các câu lệnh tốn nhiều chu

kỳ máy Để hạn chế sai số ta sủ dụng công thức tính các giá trị( cé tính cả thời gian thực hiện các câu lệnh) sau đó nạp cho Timer

Trang 57

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

THÍ NGHIỆM 13

Mục tiêu: Nắm được cách thức sử dung Timer mode 2

Yêu cầu:

> Viết chương trình tạo sóng vuông 1 Hz trên chân P1.0 sử dụng timer 0 ở chế độ 2 Kiém tra:

> Biên dịch, thực thi và kiểm tra chương trinh

> Đoạn chương trình thực hiện yêu cầu thí nghiệm đã cho:

Department of Electronics Page | 31

Trang 58

LẬP TRÌNH GIAO TIẾP LCD, ADC VÀ TIMER

Trang 59

LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT

MỤC TIỂU

> Nam được cách sử dụng kít thí nghiệm, phần mềm lập trình

> Nắm được cách giao tiếp serial port

> Nam được cách lập trình ngat (interrupt)

CHUAN BI

> Doc bai chuan bi thi nghiém 3 tai nha

> Chuan bị cho thí nghiệm 3: Viết chương trình và mô phỏng trên Proteus tất cả các bài trong thí nghiệm 3 dựa trên bài chuẩn bị 3 và thí nghiệm 0

> Nộp tất cả các kết quả (bài chuẩn bị thí nghiệm 3) cho GVHD trước khi vào lớp

Sinh viên không thực hiện hoặc nộp thiếu nếu không có li do chính đáng sẽ không được tham gia thí nghiệm và bị đánh vắng buổi đó

Department of Electronics Page | 1

Trang 60

LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT

THÍ NGHIỆM 1

Mục tiêu: Nắm được cách thức điều khiển serial port

Yéu cau:

> Viết chương trình phát chuỗi ky ty “Hello world!!!” lén may tinh thông qua

HyperTerminal voi tốc độ baud 19200 bps mỗi khi SW 310 (gắn vào P1.0) được nhắn

Department of Electronics Page | 2

Trang 61

LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT

> Trong chương trình khởi tao serial port, ta cd thé str dung téc độ baud khác giá trị 19200bps được không? Tại sao?

Department of Electronics Page | 3

Trang 62

LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT

Có vì có nhiều tốc độ baud khác nhau, nhưng ta phải chỉnh lại tốc

độ baud trên phần mềm Hẹrcules

Department of Electronics Page | 4

Trang 63

LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT

> Bién dich va kiém tra hoat động của chương trinh

Department of Electronics Page | 5

Trang 64

LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT

ACALL WRITECOM

MOV A, #06H ACALL WRITECOM RET

CLEAR:

MOV A, #01H ACALL WRITECOM RET

Trang 65

LẬP TRÌNH GIAO TIẾP SERIAL PORT VÀ INTERRUPT

ACALL WAIT_LCD RET

WRITETEXT:

MOV DPTR, #LCDADDR

SETB LCD_E SETB LCD RS

CLR LCD_E

ACALL WAIT_LCD RET

WAIT_LCD:

MOV R6,#10 DUI:

MOV R7, #250 DJNZ R7,$

DJNZ R6,DL1 RET END

Department of Electronics Page | 7

Ngày đăng: 12/11/2024, 17:33

w