• Hiểu về các thao tác cơ bản trong quá trình lập trình vi điều khiển và cách kết nối vi điều khiển với LED đơn.. • Viết chương trình lập trình vi điều khiển để bật đèn led P1 với thời
Trang 1BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ
HỒ CHÍ MINH KHOA CÔNG NGHỆ ĐIỆN
- -
KỸ THUẬT VI XỬ LÝ BÀI BÁO CÁO
HỌ VÀ TÊN : PHẠM Hoài Bảo
MSSV: 21106381
Trang 2Bài tập 1: Làm bài 1 điểm sáng chạy p1.0 đến p1.7 và
đi p1.7 đến p1.0
I Mục tiêu bài thực hành
• Hiểu và sử dụng các phần mềm và thiết bị để thiết lập dữ liệu cho LED đơn
• Hiểu về các thao tác cơ bản trong quá trình lập trình
vi điều khiển và cách kết nối vi điều khiển với LED đơn
II Nôi dung bài thực hành:
1 Tổng quan về LED đơn và vi điều khiển:
• Giới thiệu về LED đơn và vi điều khiển
• Các tính năng của LED đơn và vi điều khiển
2 Cài đặt phần mềm và thiết bị:
• Cài đặt phần mềm vi điều khiển
• Kết nối vi điều khiển với LED đơn
3 Thiết lập dữ liệu cho LED đơn:
• Tạo và cài đặt chương trình điều khiển LED đơn
• Thực hiện các thao tác cơ bản trong quá trình lập trình vi điều khiển
• Kiểm tra và sửa lỗi nếu cần thiết
4 Kết luận:
• Tóm tắt nội dung bài thực hành và kết quả đạt được
• Đánh giá về tính khả thi và ứng dụng của thiết lập
dữ liệu LED đơn trong thực tế
• Hướng phát triển và nghiên cứu trong tương lai
Mô phỏng Protus sơ đồ kết nối
Trang 4• Kết nối led đơn với chân P1.0 của vi điều khiển 8052
• Viết chương trình lập trình vi điều khiển để bật đèn led P1 với thời gian delay 0.2s
• Viết chương trình lập trình vi điều khiển để tắt đèn led P1 với thời gian delay 0.2s
Trang 5• Nạp chương trình vào vi điều khiển và kiểm tra kết quả
3 Kết luận Qua bài thực hành, chúng ta đã nắm được cách kết nối led đơn với vi điều khiển 8051 và hiểu rõ về khái niệm delay Đồng thời, đã lập trình thành công đèn led P1 sáng và tắt đèn led P1 với thời gian delay 0.2s Kinh nghiệm và kiến thức thu được từ bài thực hành này sẽ giúp ích cho các bài thực hành và dự án điện tử trong tương lai
Mô phỏng Protus sơ đồ kết nối
Trang 7II Nôi dung bài thực hành:
• Khai báo và định nghĩa các chân IO để điều khiển led P1
• Viết chương trình chớp tắt led P1 hai lần
• Viết chương trình sáng chạy led P1 ba lần và sau đó tắt hết các led
• Viết chương trình sáng dồn trên led P1 từ chân 0 đến chân 7
Mô phỏng Protus sơ đồ kết nối
Chương trình
ORG 0000H
TG EQU 20H
Trang 8X1: MOV SLDL,CK
MOV TG,#0FFH
CLR C
Trang 9II Nôi dung bài thực hành:
• Thiết lập chân P3.0 làm input và khai báo chân P1.0, P1.1, P1.2, P1.3 làm output
• Đặt một vòng lặp vô hạn, trong vòng lặp, đọc giá trị của chân P3.0
Trang 10• Kết quả: Sau khi thực hiện các bước trên, led P1.0, P1.1, P1.2, P1.3 sẽ hoạt động theo thứ tự được định sẵn khi nhấn chân P3.0
• Nhờ việc thực hiện bài thực hành này, sinh viên có thể hiểu rõ hơn về cách sử dụng và điều khiển chân input/output trên vi điều khiển cũng như các kỹ thuật lập trình cơ bản trên vi điều khiển
Mô phỏng Protus sơ đồ kết nối
Trang 11SJMP SANGCHAY KT1:CJNE R4,#2,KT2 SJMP CHOPTAT
KT2:CJNE R4,#3,KT3 SJMP SANGDAN KT3:MOV R4,#0
Trang 13• Thực hiện lệnh đọc nút nhấn trên vi điều khiển để điều khiển đếm
II Nôi dung bài thực hành:
Với bài thực hành này, ta có thể hiểu rõ hơn về cách
sử dụng chức năng đếm của vi điều khiển và áp dụng vào các ứng dụng thực tế khác
Mô phỏng Protus sơ đồ kết nối
Trang 14TANG: JNB P3.5,$
LCALL DELAYCN INC R1
CJNE R1,#1,KT
MOV 25H,#30
SJMP CHINH
KT: CJNE R1,#2,KT1 MOV 25H,#50
SJMP CHINH
KT1: MOV R1,#0 MOV P0,#0FFH
SJMP TD1; D?NG
CHINH: ;MOV R0,#00H X11: LCALL HEX_BCD LCALL BCD_7DOAN LCALL DELAY_HTHI INC R0
MOV A,R0
CJNE A,25H,X11 MOV R0,#00H
SJMP CHINH
DELAY_HTHI:
MOV R7,#2
DEL1: MOV R6,#250 DEL: LCALL HTHI
JNB P3.5,TANG
DJNZ R6,DEL
DJNZ R7,DEL1
Trang 15CLR P2.1
MOV P0,30H
Trang 16Bài 6: Viết chương trình led 7 đoạn chạy từ
• Hiểu về cách lập trình vi xử lý để hiển thị kết quả
đếm trên led 7 đoạn
II Nôi dung bài thực hành:
• Kết nối led 7 đoạn với mạch vi xử lý
• Viết chương trình sử dụng ngôn ngữ lập trình C để điều khiển led 7 đoạn chạy từ 0000-9999
Trang 17• Kiểm tra chương trình bằng cách sử dụng trình biên dịch và mô phỏng trên phần mềm Proteus
• Thực hiện thí nghiệm trên mạch thực tế và quan sát kết quả
• Nhận xét kết quả và đánh giá hiệu quả của chương trình
Mô phỏng Protus sơ đồ kết nối
Trang 18CLR P2.1
MOV P0,30H
SETB P2.0
Trang 19DEL: LCALL HIENTHI
DJNZ R6,DEL
Trang 20II Nôi dung bài thực hành:
• Tìm hiểu cấu tạo và nguyên lý hoạt động của động
cơ bước
• Kết nối động cơ bước với vi điều khiển
• Lập trình điều khiển động cơ bước:
• Lần 1: Điều khiển động cơ quay thuận khi
nhấn nút
• Lần 2: Điều khiển động cơ quay nghịch khi nhấn nút
• Lần 3: Điều khiển động cơ dừng khi nhấn nút
• Thực hiện kiểm tra và điều chỉnh để đảm bảo động
cơ bước quay đúng hướng và đúng vòng quay
Trang 21Mô phỏng Protus sơ đồ kết nối
Trang 22JNB P3.7, X11
SJMP QUAY_THUAN QUAY_NGHICH:
DJNZ R2,N55
DJNZ R3,LAP
RET
Trang 23End
Bài 8: Viết chương trình sử dụng ngắt ngoài INT0 (P3.2) nhấn P3.2 lần 1 chớp tắt led P1, nhấn lần 2 sáng chạy led P1, nhấn lần 3 thì dừng
II Nôi dung bài thực hành:
1 Thiết lập ngắt ngoài INT0 tại chân P3.2 trên vi điều khiển
2 Khai báo các biến cần thiết để xử lý sự kiện ngắt ngoài
3 Lập trình xử lý ngắt ngoài INT0:
• Nhấn P3.2 lần 1: chớp tắt led P1
• Nhấn P3.2 lần 2: sáng chạy led P1
• Nhấn P3.2 lần 3: dừng chạy led P1
4 Thực hiện chương trình và kiểm tra kết quả
Mô phỏng Protus sơ đồ kết nối
Chương trình
ORG 0000H
MOV TMOD,#01H
Trang 25II Nôi dung bài thực hành:
• Cài đặt chương trình vi điều khiển để sử dụng ngắt nếu nhấn INT0 (P3.2) hoặc INT1 (P3.3) trên kit để đếm từ 00 đến 49 hoặc 00 đến 59 tương ứng Nếu không có sự kiện ngắt xảy ra, đếm từ 00 đến 99
Trang 26• Tạo ngắt cho INT0 và INT1, và viết chương trình xử
lý ngắt để đếm từng chữ số của số được hiển thị trên LCD, sau đó xuất ra đèn LED
• Khi nhấn INT0 (P3.2), đếm từ 00 đến 49 và hiển thị kết quả trên LCD và đèn LED
• Khi nhấn INT1 (P3.3), đếm từ 00 đến 59 và hiển thị kết quả trên LCD và đèn LED
• Nếu không có sự kiện ngắt xảy ra, đếm từ 00 đến 99
và hiển thị kết quả trên LCD và đèn LED
Kết quả: Chương trình vi điều khiển đã được cài đặt và chạy thành công để đếm từ 00 đến 49 hoặc 00 đến 59 tùy thuộc vào sự kiện ngắt INT0 hoặc INT1 được kích hoạt Kết quả đếm được hiển thị trên LCD và đèn LED Quá trình thực hành giúp người học hiểu rõ hơn về cách sử dụng ngắt và cách xử lý sự kiện ngắt trên vi điều khiển
Mô phỏng Protus sơ đồ kết nối
Trang 27DEL1: MOV R6,#50
Trang 28DEL: LCALL HIENTHI