1. ĐH Sư phạm Kỹ thuật Vinh 18 January 2010
L.T.Vinh 1
18 January 2010 L.T.Vinh 1
VI ĐIỀU KHIỂN 8051
TS. Lê Thế Vinh
Bài giảng
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT VINH
KHOA ĐIỆN TỬ
18 January 2010 L.T.Vinh 2
ộ
1. Giới thiệu về 8051
2. Lập trình cho 8051, phần mềm
3. Đảm bảo về phần cứng
4. Bộ thực tập MDA-EMS51
5. Một số bài tập thực hành
2. ĐH Sư phạm Kỹ thuật Vinh 18 January 2010
L.T.Vinh 2
18 January 2010 L.T.Vinh 3
ớ ệ ề
- Vi điều khiển 8051 là một máy tính được tích hợp trên
một chíp (là 1 IC, integrated circuit, có 40 chân)
- Khác với Vi xử lý, CPU
Ứng dụng: trong nhiều dụng cụ điện tử, thiết bị
điện, ôtô, máy giặt, lò vi sóng, điện thoại, đầu
đọc DVD, thiết bị đa phương tiện, dây chuyền
tự động, v.v.
18 January 2010 L.T.Vinh 4
ớ ệ ề
Consumer Electronics
– TB đ.tử tiêu dùng
Automobile - ôtô
Household Appliances – dụng cụ gia đình
Communication-
truyền thông
Avionics- đ.tử hàng
không
3. ĐH Sư phạm Kỹ thuật Vinh 18 January 2010
L.T.Vinh 3
18 January 2010 L.T.Vinh 5
ớ ệ ề
18 January 2010 L.T.Vinh 6
ớ ệ ề
Sơ đồ khối 8051
Đặc điểm:
4K Bytes ROM
128 Bytes RAM
4 cổng 8-bit I/O
2 bộ định thời 16-bit
Cổng nối tiếp …
4. ĐH Sư phạm Kỹ thuật Vinh 18 January 2010
L.T.Vinh 4
18 January 2010 L.T.Vinh 7
ậ
Ngôn ngữ
lập trình
ụ
18 January 2010 L.T.Vinh 8
ậ
Các bước:
• Viết chương trình
• Dịch chương trình ra file hex
• Nạp chương trình vào VĐK
• Chạy chương trình
5. ĐH Sư phạm Kỹ thuật Vinh 18 January 2010
L.T.Vinh 5
18 January 2010 L.T.Vinh 9
ả ả ề ầ ứ
1. Nạp chương trình dạng Hex cho VĐK
2. Cấp nguồn: Vcc=+5V; (40) GND=0V
(20) (mass)
3. Cấp xung nhịp (Mạch dao động,
18,19)
4. Tín hiệu khởi động (ban đầu, khi xảy
ra lỗi, 9)
18 January 2010 L.T.Vinh 10
ộ ự ậ
+ MDA - EMS51 là
TB thực hành
VĐK 8051 (cty
Midas
Engineering, Hàn
Quốc).
+ Kit MDA - EMS51
gồm các khối giao
tiếp cơ bản để tìm
hiểu về bộ vi điều
khiển 8051
+ Có 2 chế độ làm
việc: KIT và PC
+ Có phần cứng + mềm
6. ĐH Sư phạm Kỹ thuật Vinh 18 January 2010
L.T.Vinh 6
18 January 2010 L.T.Vinh 11
ộ ự ậ
+ CPU & MEMORY
CPU sử dụng bộ vi điều khiển 8051 với xung nhịp 11,0592 MHz.
Khối bộ nhớ gồm bộ nhớ ROM và SRAM. ROM chứa các chương trình
cơ sở cho phép người sử dụng điều khiển kit MDA - EMS51 bằng
bàn phím Hex, khối hiển thị LCD để trao đổi dữ liệu. SRAM dùng
để chứa các chương trình ứng dụng do người dùng tạo ra
+ LED: 4 LEDs nối với các cổngn P1.0-P1.3
+ Dot Matrix: Khối ma trận điểm sử dụng các LED để hiện thị. Kích
thước của ma trận điểm là 8x8. Khối này giao tiếp với với bus hệ
thống thông qua vi mạch 8255A. Các bài tập tìm hiểu cấu trúc và
nguyên lý hiển thị của ma trận điểm sẽ được thực hiện trên khối này.
+ Keyboard: Khối bàn phím có 25 phím gồm: 16 phím dữ liệu số Hex, 8
phím chức năng và 1 phím khởi động lại (RESET). Phím RESET
nằm ở góc trên bên phải và tách rời với các phím khác. Các thông
tin điều khiển và dữ liệu được nhập vào hệ thống thông qua bàn
phím.
18 January 2010 L.T.Vinh 12
ộ ự ậ
1. Bật máy tính
2. Mở nắp Bộ thực tập
3. Bật công tắc nguồn (off -> on)
4. Suy nghĩ về bài toán cần làm, viết ra giấy thuật toán
5. Viết mã lệnh (lập trình) trên Notepad
6. Dùng phần mềm (chương trình) MDA-EMS51 để chuyển mã
lệnh sang mã hex, nạp vào VĐK, chạy thử
7. Quan sát kết quả trên Bộ thực hành
8. Xem xét, phân tích và sửa chương trình cho phù hợp (lặp lại
các bước 4-8)
9. Làm bài tập khác (các bước 4-8)
10. Kết thúc buổi thực hành: Đóng phần mềm, Tắt Bộ thực tập-
đậy nắp hộp, Tắt máy tính
7. ĐH Sư phạm Kỹ thuật Vinh 18 January 2010
L.T.Vinh 7
18 January 2010 L.T.Vinh 13
ộ ự ậ
Một số giao diện: … F2, F3, - F5, F6.
18 January 2010 L.T.Vinh 14
ụ ọ
8. ĐH Sư phạm Kỹ thuật Vinh 18 January 2010
L.T.Vinh 8
18 January 2010 L.T.Vinh 15
ụ ọ
18 January 2010 L.T.Vinh 16
ộ ố ậ ự
Làm sao cho LED nhấp nháy?
ORG 2000h
MOV SP,#50h
MOV PSW,#0 ; Bank 0
LOOP: CLR P1.3 ; Led on
CALL DELAY
SETB P1.3 ; Led off
CALL DELAY
JMP LOOP
END
DELAY: PUSH PSW
MOV PSW,#18h ; Bank 3
MOV R7,#0
DLY1: MOV R6,#0
DLY2: NOP
NOP
NOP
DJNZ R6,DLY2
DJNZ R7,DLY1
POP PSW
RET
9. ĐH Sư phạm Kỹ thuật Vinh 18 January 2010
L.T.Vinh 9
18 January 2010 L.T.Vinh 17
ộ ố ậ ự
Một số bài tập
?
1- Thuật toán?
2- Lưu đồ?
3- Chương trình?
4- Chạy thử nghiệm?
5- Xe xét, điều chỉnh
(lặp đi, lặp lại)
18 January 2010 L.T.Vinh 18
Chúc các bạn học tốt