Tác giả | Trường Cao đẳng nghề Việt Xô số 1 |
ISBN | 978-604-82-1198-1 |
ISBN điện tử | 978-604-82-4437-8 |
Khổ sách | 19 x 26,5 cm |
Năm xuất bản (tái bản) | 2013 |
Danh mục | Trường Cao đẳng nghề Việt Xô số 1 |
Số trang | 158 |
Ngôn ngữ | vi |
Loại sách | Ebook; |
Quốc gia | Việt Nam |
Ngày nay, có rất nhiều các bộ vi điều khiến khác nhau và lập trình trên nhiều ngôn ngữ cũng khác nhau. Nhưng có lẽ họ vi điều khiển 8051 là đang được dùng phổ biến nhất. Hầu hết các Trường trung cấp, cao đảng nghề đều dùng họ 8051 để giảng dạy, đặc biệt là các trường cỏ ngành tự động hóa và các ngành điện có liên quan. Họ vi điều khiển 8051 có phiên bản AT89C51 đang phổ biến trên thị trường mà giá thành lại rẻ, phù hợp với các bạn học sinh, sinh viên.
Nhưng vấn đề đặt ra là làm thế nào để mau chóng tiếp cận, nghiên cứu ứng dụng các bộ vi điều khiển vào trong lĩnh vực điều khiển, tự động hóa phục vụ cho sản xuất và nhu cầu sinh hoạt của chúng ta? Để trả lời câu hỏi này, bước đầu tiên chúng ta phải làm quen và hiểu rõ về vi điều khiển AT89C51 cả về phần bên ngoài, bên trong cũng như ngôn ngữ lập trình của nó, sau đó chúng ta mới mong muốn tiến xa hơn nữa là ghép nổi, lập trình được những mạch phức tạp hơn phục vụ cho nhu cầu thực tiễn.
Xuất phát từ những lý do đó, chúng tôi mạnh dạn biên soạn cuốn giáo trình "Giáo trình Vi điều khiển AT89C51" nhằm giúp cho các em học sinh, sinh viên tiếp cận với Vi điều khiển một cách nhanh nhất. Tài liệu chủ yếu dành cho sinh viên khối cao đẳng nghề chuyên ngành cơ điện tử, tự động hóa... nhưng cũng rất hữu ích cho các sinh viên chuyên ngành tự động hóa, cơ điện tử và những ngành điện liên quan. Tài liệu cũng có thể dùng làm sách tham khảo cho các giảo viên dạy nghề điện, các sinh viên không chuyên điện nhưng có liên quan đến chuyên ngành tự động hoá.
Giáo trình Vi điều khiển AT89C51 gồm 5 chương:
Chương 1: Tổng quan về bộ vi điều khiển 8051.
Chương 2: Tập lệnh của AT89C51.
Chương 3: Lập trình bộ đếm - bộ định thời.
Chương 4: Ngắt và lập trình ngắt.
Chương 5: Ghép nổi với ngoại vi.
Lời nói đầu |
3 |
Chương 1: TỔNG QUAN VỀ BỘ VI ĐIỀU KHIÊN 8051 | 5 |
1. Giới thiệu về họ 8051 | 5 |
1.1. Sự ra đời của 8051 | 5 |
1.2. Sơ đồ khối của 8051 | 6 |
1.3. Sơ đồ chân của 8051 (AT89C51) | 7 |
2. Giới thiệu về lập trình hợp ngữ cho AT89C51 | 11 |
2.1. Cấu trúc bên trong vi điều khiển AT89C51 | 11 |
2.2. Giới thiệu lập trình hợp ngữ của AT89C51 | 16 |
3. Bộ đếm chương trình và không gian ROM của AT89C51 | 19 |
3.1. Bộ đếm chương trình | 19 |
3.2. Không gian ROM | 19 |
3.3. Địa chỉ bắt đầu khi AT89C51 được cấp nguồn | 19 |
3.4. Mã chương trình của ROM | 20 |
3.5. Trình tự thực hiện chương trình | 21 |
4. Các bit cờ và thanh ghi đặc biệt PSW | 21 |
5. Các cổng vào ra lập trình | 23 |
5.1. Phương pháp truy cập toàn bộ 8 bit | 25 |
5.2. Định địa chỉ bit của các cổng | 26 |
6. Các chế độ định địa chỉ | 26 |
6.1. Chế độ định địa chỉ tức thời | 26 |
6.2. Chế độ định địa chỉ thanh ghi | 27 |
6.3. Chế độ định địa chỉ trực tiếp | 27 |
6.4. Chế độ định địa chỉ gián tiếp qua thanh ghi | 28 |
6.5. Chế độ định địa chỉ qua chỉ số | 30 |
CÂU HỎI ÔN TẬP | 31 |
Chương 2: TẬP LỆNH CỦA AT89C51 | 34 |
1. Giới thiệu | 34 |
2. Lệnh số học | 34 |
2.1. Lệnh cộng | 34 |
2.2. Lệnh trừ | 36 |
2.3. Lệnh nhân | 38 |
2.4. Lệnh chia | 39 |
2.5. Lệnh tăng lên 1 đơn vị | 40 |
2.6. Lệnh giảm đi 1 đơn vị | 40 |
2.7. Lệnh tăng con trỏ dữ liệu DPTR | 41 |
2.8. Lệnh hiệu chỉnh số thập phân | 41 |
3. Lệnh lôgic học | 42 |
3.1. Lệnh AND (Và) | 42 |
3.2. Lệnh OR (Hoặc) | 42 |
3.3. Lệnh XOR (OR loại trừ) | 43 |
3.4. Lệnh lấy bù bit (bù 1) | 44 |
3.5. Lệnh tráo đổi thanh ghi A | 44 |
3.6. Lệnh quay | 44 |
4. Lệnh di chuyển dữ liệu | 46 |
4.1. Lệnh di chuyển dạng byte | 46 |
4.2. Lệnh di chuyển dạng bit | 46 |
4.3. Lệnh di chuyển dạng Word | 47 |
4.4. Lệnh di chuyển byte mã lệnh | 47 |
4.5. Lệnh truy suất dữ liệu ngoài | 47 |
4.6. Lệnh chuyển dữ liệu vào ngăn xếp | 48 |
4.7. Lệnh chuyển dữ liệu ra khỏi ngăn xếp | 48 |
4.8. Lệnh hoán chuyển dữ liệu | 48 |
4.9. Lệnh hoán chuyển nội dung 4 bit thấp | 49 |
5. Lệnh rẽ nhánh | 49 |
5.1. Lệnh so sánh | 49 |
5.2. Lệnh gọi ngắn | 50 |
5.3. Lệnh gọi dài | 51 |
5.4. Lệnh nhảy vô điều kiện | 52 |
5.5. Lệnh nhảy gián tiếp | 52 |
5.6. Lệnh giảm và nhảy nếu chưa bằng 0 | 52 |
5.7. Lệnh tạm ngưng hoạt động | 53 |
5.8. Lệnh kết thúc chương trình con | 53 |
5.9. Lệnh kết thúc chương trình ngắt | 54 |
6. Lệnh xử lý bit và lập trình | 54 |
6.1. Lập trình với lệnh xử lý bit | 54 |
6.2. Các lệnh xử lý bit | 55 |
6.3. Cổng I/O và định địa chỉ bit | 55 |
6.4. Kiểm tra bit vào | 56 |
6.5. Các thanh ghi định địa chỉ bit | 56 |
6.6. Lệnh thao tác cờ nhớ CY | 56 |
CÂU HỎI ÔN TẬP | 57 |
Chương 3. LẬP TRÌNH BỘ ĐẾM - Bộ ĐỊNH THỜI |
|
1. Lập trình các bộ định thời | 63 |
1.1. Thanh ghi của bộ Timer 0 | 64 |
1.2. Thanh ghi của bộ Timer 1 | 64 |
1.3. Thanh ghi của bộ định thời TMOD | 64 |
1.4. Nguồn xung đồng hồ cho bộ định thời | 65 |
1.5. Các chê độ làm việc của bộ định thời | 66 |
2. Lập trình bộ đếm | 73 |
CÂU HỎI ÔN TẬP | 79 |
Chương 4. NGẮT VÀ LẬP TRÌNH NGẮT |
|
1. Giới thiệu | 82 |
2. Khái niệm | 83 |
3. Trình phục vụ ngắt | 83 |
4. Trình tự thực hiện một ngắt | 83 |
5. Các ngắt trong AT89C51 | 84 |
6. Cho phép và cấm ngắt - thanh ghi IE | 85 |
7. Lập trình các ngắt bộ định thời | 85 |
8. Lập trình các ngắt phần cứng bên ngoài | 88 |
8.1. Ngắt kích phát mức | 89 |
8.2. Ngắt kích phát sườn | 90 |
8.3. Ý nghĩa của các bit trong thanh ghi TCON | 91 |
9. Các mức ưu tiên ngăt | 92 |
9.1. Thanh ghi mức ưu tiên ngắt IP | 93 |
9.2. Thiết lập mức ưu tiên ngắt với thanh ghi IP | 93 |
9.3. Ngắt trong ngắt | 94 |
CÂU HỎI ÔN TẬP | 94 |
Chương 5. GHÉP NỐI VỚI NGOẠI VI |
|
1. Giao tiếp AT89C51 với LED 7 đoạn | 95 |
1.1. Các khái niệm cơ bản | 95 |
1.2. Kết nối với vi điều khiển | 96 |
1.3. Giao tiếp vi điều khiển với nhiều LED 7 đoạn | 98 |
2. Ghép nối với LCD hiển thị ký tự | 101 |
2.1. Phân loại LCD | 101 |
2.2. Ý nghĩa các chân và mã lệnh điều khiển LCD hiển thị ký tự | 102 |
2.3. Nguyên tắc hiển thị ký tự trên LCD | 104 |
3. Ghép nối với ADC và các cảm biến | 108 |
3.1. Chip ADC 0804 | 108 |
3.2. Ghép nối 8051 với cảm biến nhiệt | 113 |
3.3. Chip ADC 808/809 với 8 kênh tương tự | 115 |
4. Ghép nối AT89C51 với động cơ bước | 116 |
4.1. Sơ lược về động cơ bước | 116 |
4.2. Bài tập | 121 |
5. Ghép nối với bàn phím | 121 |
5.1. Cơ chế quét và xác định phím nhấn | 122 |
5.2. Kết nối AT89C51 với bàn phím | 123 |
6. Ghép nối với chip 8255 | 127 |
6.1. Sơ lược về chip nhớ 8255 | 127 |
6.2. Nối ghép 8051 với 8255 | 130 |
7. Ghép nối ma trận LED | 135 |
7.1. Mô tả phần ghép nối | 135 |
7.2. Chương trình phần mềm | 137 |
BÀI TẬP CHƯƠNG 5 | 141 |
Phụ lục: TỆP LỆNH CỦA 89C51 | 144 |