1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình Hệ vi điều khiển: Phần 1

129 17 0

Đ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

Định dạng
Số trang 129
Dung lượng 7,22 MB

Nội dung

Giáo trình Hệ vi điều khiển: Phần 1 sẽ giới thiệu tới các bạn một số vấn đề cơ bản về vi xử lý; cấu trúc chung hệ vi xử lý và tổ chức bên trong CPU; cấu trúc dữ liệu trong hệ vi xử lý; cấu trúc của bộ vi xử lý; các chế độ địa chỉ của bộ vi xử lý 8086;... Mời các bạn cùng tìm hiểu và tham khảo nội dung thông tin tài liệu.

B ộ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC THÁI N G U Y Ê N Võ Quang Vinh - Dương Quốc Hưng GIÁO TRÌNH HỆ v i n JYÊN -IỆU NHÀ XUẤT BẢN KHOA HỌC VÀ KỸ THUẬT B ộ G IÁO DỤC VÀ ĐÀO TẠO Đ Ạ I H Ọ C TH ÁI NG UY ÊN VÕ QUANG VINH - DƯƠNG QUỐC HƯNG GIÁO TRÌNH HỆ VI ĐIỀU KHIỂN NHÀ XUÁT BẢN KHOA HỌC VÀ KỸ THUẬT HÀ NỘI - 2010 MỤC LỤC LỜI NÓI ĐÀU CHƯƠNG I: CÁC KHÁI NIỆM c BẢN VÀ CÁU TRÚC CHUNG Phần lý thuyết 1.1 GIỚI THIỆU CHƯNG VỀ VI x LÝ 1.1.1 Tổng quan 1.1.2ỖĐặc điểm chung vi xử lý 9 12 1.2 CÁU TRÚC CHƯNG HỆ VI x LÝ VÀ TÓ CHỬC BÊN TRONG CPU 1.2.1 Cấu trúc chung hệ vi xừ lý 1.2.2 Cấu trúc chung CPU 1.3 CÂU TRÚC DỬ LIỆU TRONG HỆ VI x LÝ 1.3.1 Các hệ đếm dùng hệ vi xử lý 1.3.2 Biểu diễn số ký tự theo mã hệ hai 1.3.3 Các phép toán số học với mã hệ hai 14 14 17 21 21 22 29 Phần tập 33 CH 'ƠNGII: HỌ VI x LÝ INTEL 8086 35 Phần lý thuyết 2.1 CẤU TRÚC CỦA B ộ VI XỬ LÝ 8086 2.1.1 Tổng quan 2.1.2 Cấu trúc bên hoạt động vi xừ lý 8086 2.1.3 Mô tả chức chân vi xừ lý 8086 2.1.4 Tổ chức nhớ cùa vi xử lý 8086 35 35 35 36 44 50 2.2 CÁC CHÉ Đ ộ ĐỊA CHỈ CỦA B ộ VI x LÝ 8086 2.2.1 Chế độ địa chì ghi 2.2.2 Chế độ địa tức 2.2.3 Chế độ địa chi trực tiếp 2.2.4 Chế độ địa gián tiếp qua ghi 2.2.5 Chế độ địa tương đối sở 2.2.6 Chế độ địa chi tương đối chi sổ 2.2.7 Chế độ địa tương đối chi số sờ 51 52 52 53 53 53 54 54 2.3 TẬP LỆNH CỦA VI x LÝ 8086 2.3.1 Giới thiệu chung 2.3.2 Tập lệnh vi xử lý 8086 2.4 CÁC MẠCH PHỤ TRỢ 2.4.1 Mạch tạo xung nhịp 2.4.2 Mạch chốt đệm Bus 2.4.3 Các nhớ 2.4.4 Mạch giải mã địa 55 55 56 88 88 90 93 96 2.5 BIỂU ĐỒ THỜI GIAN ĐỌC/GHI CỦA VI x LÝ 2.5.1 Xung nhịp chu kỳ máy 2ệ5.2 Chu kỳ đọc/ghi vi xử lý 8086 2.6 CÁC CHÉ Đ ộ LÀM VIỆC CỦA VI x LÝ 2.6.1 Chế độ khởi động 2.6.2 Chế độ đợi 2.6.3 Chế độ treo 2.6.4 Chế độ ngắt 2.6.5 Chế độ dừng 2.7 MỘT SỐ VÍ DỤ 2.8 LẬP TRÌNH HỢP NGỪ CHO VI x LÝ 8086/8088 2.8.1 Giới thiệu chung hợp ngữ 2.8.2 Cú pháp chương trình hợp ngữ 2.8.3 Khn dạng chương trình hợp ngừ 2.8.4 Cấu trúc lập trình bàng họp ngừ 98 98 99 102 102 102 103 103 104 104 108 108 109 113 119 Phần tập 125 CHƯƠNG III: HỌ VI ĐIÈU KHIÉN BIT 8051 129 Phần lý thuyết 3.1 CẤU TRÚC PHÂN CỨNG HỌ VI ĐIỀU KHIẺN 8051 3.1.1 Giới thiệu chung 3.1.2 Sơ đồ cấu trúc họ vi điều khiển 8051 3.1.3 Mô tả chức chân 8051 3.1.4 Tổ chức nhớ 8051 3.1.5 Hoạt độne RESET 129 129 129 132 133 137 145 3.2 CÁC CHẾ Đ ộ ĐỊA CHỈ CỦA 8051 3.2.l ế Kiểu định địa dùng ghi (Register Addressing) 3.2.2 Kiểu định địa trực tiếp (Direct Addressing) 3.2.3 Kiểu định địa gián tiếp (Indirect Addressing) 3.2.4 Định địa chi tức thời (Immediate Addressing) 3.2.5 Định địa chi tương đối 3.2.6 Định địa chi tuyệt đối 3.2ẵ7 Định địa chi dài (Long Addressing) 3.2.8 Định địa chi số (Index Addressing) 3.3 TẬP LỆNH CỦA 8051 3.3.1 Nhóm ỉệnh số học 3.3.2 Nhóm lệnh logic 3.3.3 Nhóm lệnh di chuyển liệu 3.3.4 Nhóm lệnh xử lý bit 3.3.5 Nhóm lệnh rẽ nhánh 3.4 LẬP TRÌNH HỢP NGỮ CHO VI ĐIỀU KHIÊN 8051 3.4.1 Trình dịch hợp ngữ 3.4.2 Khn dạng chương trình hợp ngữ 3.4.3 Kiểu liệu dẫn 3.4.4 Lập trình vào/ra cổng 3.4.5 Bộ đếm/định thời 8051 lập trình 3.4.6 Lập trình truyền thơng nối tiếp cho 8051 3.4ề7 Lập trình ngắt 8051 Phần tập CHƯƠNG IV: GHÉP NĨI VÀ TRAO ĐỊI DỮ LIỆU TRONG HỆ VI XỬ LÝ Phần lý thuyết 4.1 GHÉP NỐI VI XỬ LÝ/VI ĐIỀU KHIỂN VỚI B ộ NHỞ NGOÀI 4.1.1 Một số chân 8051 phục vụ cho ghép nối nhớ 4.1.2 Ghép nối vi điều khiển 8051 với nhớ chương trình ngồi 146 146 147 147 147 147 148 148 148 149 150 153 157 159 161 166 166 167 167 169 174 188 203 221 225 225 225 226 228 4.1.3 Ghép nối vi điều khiển 8051 với nhớ liệu 229 4.2 GHÉP NỐI SONG SONG 8255A VÀ LẬP TRÌNH 235 4.2.1 Tổng quan 235 4.2.2 Ghép nối 8051 với 8255A 235 4.3ẻ PHỐI GHÉP VI ĐIỀU KHIẾN VỚI THẾ GIỚI TH ựC 1: Phối ghép 8051 với hình tinh thể lỏng LCD, LED7, chuyển đối tượng tương tự - sổ ADC cảm biến nhiệt 247 4.3.1 Phối ghép vi điều khiển với tinh thể lòng LCD 247 4.3.2 Phối ghép vi điều khiển với LED 258 4.3.3 Ghép nối ADC với 8051 lập trình 270 4.3.4 Nối ghép 8051 với cảm biến nhiệt 279 4.4 PHỐI GHÉP VI ĐIỀU KHIÊN VỚI THẾ GIỚI TH ựC 2: Phối ghép 8051 với động bước, bàn phím biến đổi số tương tự DAC 4.4.1 Nối ghép 8051 với động bước 4.4.2 Nối ghép 8051 với bàn phím 4.4.3 Phối ghép DAC vói 8051 283 283 298 306 Phần tập 309 PHỤ LỤC 1: DANH MỤC CÁC TỪ VIÉT TẮT 318 PHỤ LỤC 2: TẬP LỆNH CỦA VI ĐIÈU KHIỂN HỌ 8051 320 TÀI LIỆU THAM KHẢO 329 LỜI NĨI ĐẦU Sự đời phát triển nhanh chóng kỹ thuật vi điện từ mà đặc trưng kỹ thuật vi xử lý tạo bước ngoặt quan trọng phát triển khoa học tỉnh tốn, điểu khiển xử lý thơng tin Kỹ thuật vi xử lý đóng vai trị quan trọng tắt lĩnh vực cùa sống khoa học - kỹ thuật, đặc biệt lĩnh vực tin học tự động hóa Từ vi xử lý ban đầu chi xử lý trung tâm hệ thống, hoạt động thiếu phận RAM, ROM, bo mạch chủ hãng phát triển vi xử lý lên thành vi điều khiển để phục vụ mục đích riêng biệt, khác công nghiệp Một vi điều khiển hệ vi xử lý tổ chức chip bao gồm vi xử lý (microprocessor), nhớ chưomg trình (ROM),bộ nhớ dừ liệu (RAM) Hiện nay, vi điều khiển sử dụng rộng rãi ngày chuẩn hóa để sử dụng nhiều ngành công nghiệp, có mặt nhiều máy móc, hàng tiêu dùng Được động viên, khích lệ cùa thầy giáo, cô giáo Khoa Điện Trường Đại học Kỹ thuật Công nghiệp - Đại học Thải Nguyên, chúng tơi mạnh dạn viết giáo trình Hệ K/ềđiều khiển Giáo trình nhằm phục vụ cho sinh viên chuyên ngành Điện Điện tử, bạn độc giả quan tâm đến lĩnh vực Vi xử lý Vi điều khiển Giáo trình khơng q sâu vào diễn giải lý thuyết Chù yếu đưa kiến thức vỉ dụ ứng dụng Chip tiêu biểu là: Vi xử lý 8086 vi điều khiển 8051 Nội dung chia làm chương: Chương I.Ế Bao gồm kiến thức tổng quan vé v/ế xử lý như: Cấn trúc chung cùa vi xử lý, hệ vi xử lý Các hệ đếm biểu diễn thông tin hệ viềxử lý - vi điều khiến, phép toán thực sổ nhị phán Chương II: Trình bày vê cấu trúc vi xử ỉý 8086 - thuộc họ vi xử lý 80x86 cùa Intel lập trình hợp ngữ họ vi xử lỷ này, nội dung chỉnh chưcmg bao gồm: cấ u trúc phần cứng, cách quản lý nhớ, chế độ địa chi, tập lệnh vi mạch phụ trợ mạch tạo xung 8284, vi mạch chốt, giải mã, nhớ đế tạo nên hệ vi xử lý hồn chỉnh; cách lập trình hợp ngữ dựa tập lệnh V/Ểxử lý để tạo chương trình dạng *.EXE *.COM Chương III: Trình bày hệ vi điểu khiến OnChip họ 8051, bao gồm: Cấu trúc tỏ chức phần cứng, đồ nhớ, chế độ địa chi tập lệnh; lập trình hợp ngữ với tốn bản: Nhập xuất liệu với cổng, định thời, truyền thông tiếp, ngắt, Chương IV: Trình bày vé ghép nối vi điểu khiến với nhớ, thiết bị nhập xuất Trong chương này, tác giả giới thiệu vể vi mạch cồng song song lập trình P P I8255A —một v;ềmạch cổng sử dụng nhiều toán ghép khác Phần cuối chương sơ đồ ghép nối tiêu biểu như: Ghép vi điểu khiến với nhớ, LCD, ADC, DAC, Keyboard, step motor, Trong trình biên soạn chắn khơng tránh khỏi thiếu sót Rất mong nhận đóng góp ỷ kiến đơng đào bạn đọc Mọi góp ý xin gửi về: Bộ mơn Tự động hố - Khoa Điện Trường Đại học Kỹ thuật Công nghiệp Thái Nguyên Xin chân thành cảm ơn! CÁC TÁC GIẢ CHƯƠNG I CÁC KHÁI NIỆM C BẢN VÀ CẤU TRÚC CHUNG • Phần lý thuyết * Mục đích cùa chương: Đưa khái niệm vi xử lý, hệ vi xử lý, lịch sử phát triển cùa vi xử lý Giúp sinh viên có nhìn ban đầu vi xử lý Nắm cấu trúc chung đặc điểm chung vi xử lý, hệ vi xử lý Nhắc lại kiến thức hệ đếm cách biểu diễn thông tin hệ vi xử lý, phép tốn với số hệ * Tóm tắt nội dung: Nội dung bao gồm kiến thức tổng quan vi xử lý như: c ấu trúc chung vi xử lý, hệ vi xử lý Các hệ đếm biểu diễn thông tin hệ vi xử lý - vi điều khiển, phép toán thực ưên số nhị phân 1.1 GIỚI THIỆU CHUNG VÈ VI X LÝ 1.1.1 TÒNG QUAN 1.1.l ểl Khái niệm Vi xử lý vi mạch tích hợp cờ lớn cực lớn với chức xử lý dừ liệu Đe làm điều chúng phải có mạch điện tử logic cho việc xừ lý điều khiển liệu Các mạch 2.8.3.I Chương trình EXE Khi chương trinh EXE nạp vào nhớ, DOS tạo vùng gồm 256 byte gọi đoạn mở đầu chương trình (PSP), dùng để chứa thơng tin liên quan đến việc thực chương trình Vùng PSP nằm trước phần mã lệnh Các thông số liên quan đến chương trình đưa vào DS, ES Vì vậy, DS ES khơng chứa địa đoạn liệu, phải đặt ghi DS để chứa địa đoạn liệu lệnh sau đây: MOV AX, data MOV D S , AX Khung cho chương trình EXE có dạng sau: TITLE Tên_chương_trình COMMENT * Bắt đầu khối thích ★ , ẾKhai báo đoạn stack stack SEGMENT STACK ;Khai báo kích thước stack stack ENDS ;Khai báo đoạn liệu data SEGMENT ;Định nghĩa liệu data ENDS ;Khai báo đoạn mã code SEMENT ASSUME 114 CS:code, DS:data start: ;Các lệnh code ENDS END Start Nhãn Start nơi chứa địa chi mà CPU thực hiện, chi thị END kết thúc chương trình Ví dụ: Viết chương trình EXE in hình dòng chữ “DHKTCN!” Trước hết ta đưa sổ hàm ngắt cùa INT 21H INT 20H Hàm ngắt INT 21H: Đọc ký tự từ bàn phím Vào: AH = Ra: AL = mã ASCII củ ký tự AL = ký tự gõ vào phím chức Hàm ngắt INT 21H: Hiện ký tự lên hình Vào: AH = DL = mã ASCII ký tự cần hiển thị Hàm ngắt INT 21H: Hiện chuỗi ký tự với $ cuối lên hình Vào: AH = DX = địa chi lệnh chuỗi ký tự Hàm 4CH, ngắt INT 21H Kết thúc chương trình loại ếEXE COM Vào: AH = 4CH Ngắt INT 20H dành riêng để kết thúc chương trình dạng COM Chương ưình viết sau: 115 TITLE VIDU_EXE COMMENT * in man hinh dong chu DHKTCN Chuong trinh thuoc dang EXE ★ stack SEGMENT DB stack STACK 20 D U P ( ' S T A C K ' ) ENDS data SEGMENT STRING DB 'D H K T C N ! $ ' CS:code, DS:data data ENDS code SEGMENT ASSUME Start: ;Dat ghi DS MOV AX, data MOV D S , AX ;In man hinh MOV AH, LEA DX, STRING ;chuyen dia chi ;lech cua xau vao DX INT 21h MOV AH, IN T 21h code ENDS 116 4Ch END Start Trong chương trình phần chi thị: stack DB stack SEGMENT STACK 20 D U P ('STACK') ENDS Là phần khai báo đoạn ngăn xếp có tên STACK Ngăn xếp có kích thước 20x5 = 100 byte lúc khởi đầu lấp đầy từ STACK data SEGMENT STRING DB 'D H K T C N !$' data ENDS Là phần khai báo đoạn liệu có tên data, chứa xâu STRING dòng chữ “DHKTCN!” cần in hình Xâu kết thúc ký tự $ để báo cho DOS biết đến cuối xâu Đoạn chương trình bao quanh chi thị sau: code SEGMENT ASSUME CS:code, DS:data code ENDS Trong chi dẫn ASSUME báo cho Assembler biết ghi cs trỏ đến đoạn lệnh, ghi DS trỏ đến đoạn liệu Trong chương trình có sử dụng ngắt 21h (xem phần phụ lục A trang 320 - Kỹ thuật vi xử lý Văn Thế Minh) Trong hàm INT 21h dùng để in xâu có địa đặt ừong ghi DS:DX hình, hàm 4Ch để kết thúc chương trình ưở DOS 117 2.8.3.2 Chương trình COM Chương trình COM chi có đoạn Khi chương trình COM bắt đầu chạy ghi đoạn ưỏ tới đầu vùng PSP Các thị cho CPU bắt đầu tạo Offset 100h sau vùng PSP Vì vậy, chương trình COM, chi dẫn ASSUME phải báo cho CPU biết ghi cs, DS trỏ đến đoạn lệnh, không cần tạo ngăn xếp riêng biệt không cần đặt lại ghi đoạn Với chương trình COM chi cần cho ghi IP (con trỏ lệnh) chi đến địa đoạn lệnh lệnh chi dẫn ORG 1OOh đầu đoạn lệnh Khung cho chương trình COM có dạng sau: TITLE Tên_chương_trình COMMENT * Bắt đầu khối thich ★ ;Khai báo đoạn mã code SEGMENT ASSUME CS:code, ORG 100h D S :code Start: ;Các lệnh code ENDS END Start Trị lạ i viết 118 chưong vi dụ trình dạng TITLE VIDU COM COMMENT * Bây COM in man hinh dong chu DHKTCN Chuong trinh thuoc dang COM code SEGMENT ASSUME CS:code, ORG lOOh D S :code ;In ma n hinh Start: M OV AH, , ắham cua INT21h LEA DX, STRING ;lay dia chi offset ;cua xau INT 21h MOV AH, INT 21h 4Ch DB STRING 1D H K T C N !$' code ENDS Start END 2.8.4 CÁU TRŨC LẬP TRÌNH c BẢN BẢNG HỢP NGỮ 2Ể8.4ểl Ế Cấu trú c Kiểu cấu trúc lệnh viết tuần tự, lệnh tiếp lệnh Đây cấu trúc thông dụng đom giản Ví dụ: Các ghi BX cx chứa giá trị biến b c Hãy tính giá trị biểu thức a = 2(b + c) lưu kết vào AX XOR AX, AX ;Xoa ghi AX ADD AX, BX ;cong ghi AX voi b ADD AX, cx ,Ề cong tiep voi c 119 SAL AX, ;nhan doi ket qua a = ( b + c ) -> AX 2.S.4.2 Cấu trúc rẽ nhánh Câu lệnh rẽ nhánh giúp định nhánh chương trình thực vào điều kiện đặt Cấu trúc rẽ nhảnh khối lệnh (hình 2.24) Nếu điều kiện thoả mãn khối lệnh thực hiện, khơng khối lệnh bỏ qua thực lệnh sau khối (hình 2.24) Điều tương đương với với việc dùng lệnh nhảy có điều kiện để bỏ qua số thao tác chương trình hợp ngữ Ví dụ: Gán cho AX giá trị tuyệt đối BX CMP BX, JNL GAN ;nhay den GAN neu BX^O NEG BX ;neu BX

Ngày đăng: 08/05/2021, 17:46

TỪ KHÓA LIÊN QUAN

w