1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Bài giảng Vi điều khiển - CĐ Công nghiệp và xây dựng

122 37 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 122
Dung lượng 3,24 MB

Nội dung

(NB) Bài giảng Vi điều khiển cung cấp cho người học các kiến thức: Giới thiệu về vi điều khiển 8051; Ngôn ngữ lập trình và phần mềm biên dịch, mô phỏng Keil C; Ghép nối và thao tác với màn hình LCD; Ngắt của vi điều khiển, thao tác với ngắt ngoài của vi điều khiển;...

BỘ CÔNG THƯƠNG TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP VÀ XÂY DỰNG BÀI GIẢNG MÔN HỌC VI ĐIỀU KHIỂN (Lưu hành nội bộ) Người biên soạn: Lưu Thế Mạnh ng Bí, năm 2010 Bài : Giới thiệu vi điều khiển 8051 - 1.1 Mô tả chung - 1.2 Sơ đồ khối họ vi điều khiển 8051 - 1.3 Sơ đồ chân chức .- 1.4 Tổ chức nhớ - 1.5 Tập lệnh - 1.6 Bộ đếm/bộ định thời - 1.7 Ngắt .- Bài : Ngơn ngữ lập trình phần mềm biên dịch, mô Keil C.- 11 Phần – Ngơn ngữ C với lập trình vđk .- 11 2.1.1 Cấu trúc chương trình .- 11 2.1.2.Các loại biến C: - 12 2.1.3 Hàm C: - 13 2.1.4 Các toán tử : - 14 2.1.5 Các cấu trúc lệnh rẽ nhánh, kiểm tra thường dùng: - 15 2.1.6 Bộ tiền xử lí - 15 Phần 2: Trình biên dịch cách sử dụng Keil C uVision 3.0 - 17 2.2.1.Khởi tạo cho Project: .- 17 2.2.2 Soạn thảo chương trình: - 37 2.2.3 Dịch chương trình: - 42 2.2.4 Chạy mô sửa lỗi - 47 Bài toán 1: Bài toán ghép nối vi điều khiển với led đơn .- 55 Bài toán : Phối hợp led-công tắc(1) .- 58 Bài Tốn 3:Phối hợp led-cơng tắc(2) - 60 Bài toán 4: - 63 Bài 4: Ghép nối thao tác với hình LCD - 67 4.1 Lắp mạch theo sơ đồ sau: - 67 4.2 Nguyên lí hoạt động LCD: - 68 4.3 Lập trình : - 70 Bài 5: Ngắt vi điều khiển, thao tác với ngắt vi điều khiển- 75 5.1 Khái niệm: .- 75 5.2 Trình tự thực ngắt vi điều khiển .- 75 5.2.1.Các ngắt vi điều khiển 8051 .- 75 5.2.2 Ngắt cách lập trình - 76 5.3 Các tốn ứng dụng ngắt ngồi vđk - 76 Bài : Bộ định thời VĐK ngắt định thời - 81 6.1 Cơ sở lý thuyết - 81 6.1.1 Bộ định thời vi điều khiển - 81 6.1.2 Thanh ghi chứa, ghi thiết lập chế độ cho định thời - 81 6.1.3 Cơ chế tạo trễ định thời cách tính tốn giá trị nạp cho định thời - 82 6.1.4 Ngắt định thời .- 83 6.2.Các toán minh họa - 84 6.3 Bàn phím ma trận 4x4 - 91 -1- 6.3.1 Lắp mạch theo sơ đồ sau - 91 6.3.2: Nguyên lí quét phím: .- 91 6.3.3 Chúng ta sử dụng theo sơ đồ thuật toán thứ sau: - 92 Bài7: BỘ ĐẾM CỦA VĐK 8051 (Counter) - 97 7.1 Ý nghĩa thực tiễn đếm (Counter) .- 97 7.2 Cơ sở lý thuyết lập trình vi điều khiển 8051 thành đếm.- 98 7.3 Bài tốn lập trình minh họa - 100 Bài8: ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ ĐIỀU KHIỂN QUÁ TRÌNH VỚI BĂNG TẢI - 113 8.1.Điều khiển tốc độ động chiều - 113 8.2 Điều khiển tốc độ động theo trình - 114 - -2- Bài : Giới thiệu vi điều khiển 8051 1.1 Mô tả chung - Họ vi điều khiển 8051 có đặc trưng tóm tắt sau: + Bộ nhớ lập trình lại + KB ROM + 128 byte RAM + cổng vào/ra (I/O port) 8-bit + định thời 16-bit + Cổng giao tiếp nối tiếp + Không gian nhớ chương trình (mã) ngồi 64 Kb + Khơng gian liệu 64 Kb + Bộ xử lý bit (thao tác bit riêng rẽ) + 210 vị trí nhớ định địa chỉ, vị trí bit + Nhân/chia µs 1.2 Sơ đồ khối họ vi điều khiển 8051 Hình sau cho thấy sơ đồ khối vi điều khiển 8051 -3- Hình Sơ đồ khối họ vi điều khiển 8051 1.3 Sơ đồ chân chức 1.3.1 Sơ đồ chân Hình 2: Bố trí chân họ 8051 1.3.2 Mơ tả chân - Cổng P0: Bình thường cổng Để vừa làm đầu ra, vừa làm đầu vào chân P0 phải nối tới điện trở treo 10 kΩ bên Sở dĩ cổng P0 có dạng cực máng hở, điểm khác với cổng P1, P2 P3 Khi nối 8051 tới nhớ ngoài, P0 trở thành bus địa bus liệu dồn kênh để tiết kiệm số chân [byte thấp bus địa địa chỉ] -4- - Cổng P1: P1 có cơng dụng vào/ra - Cổng P2: P2 có cơng dụng, làm nhiệm vụ vào/ra byte địa cao bus địa 16-bit cho thiết kế có nhớ chương trình ngồi thiết kế có nhiều 256 byte nhớ liệu - Cổng P3: P3 có cơng dụng Khi khơng hoạt động vào/ra, chân P3 có nhiều chức riêng (mỗi chân có chức riêng liên quan đến đặc trưng cụ thể 8051) Bit P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 Tên Địa Chức bit RxD B0H Nhận liệu cổng nối tiếp TxD B1H Phát liệu cổng nối tiếp B2H Ngắt INT0 B3H Ngắt INT1 T0 B4H Chân vào định thời/đếm T1 B5H Chân vào định thời/đếm B6H Điều khiển ghi nhớ liệu WR B7H Điều khiển đọc nhớ liệu RD Bảng 1: Chức chân cổng P3 - Chân cho phép nhớ chương trình PSEN : 8051 cung cấp cho ta tín hiệu điều khiển bus Tín hiệu cho phép nhớ chương trình PSEN (Program Store Enable) tín hiệu xuất Đây tín hiệu cho phép ta truy xuất nhớ chương trình ngồi Chân thường nối với chân cho phép xuất OE (Output Enable) EPROM (hoặc ROM) phép đọc byte lệnh - Chân cho phép chốt địa ALE: Chân xuất tín hiệu cho phép chốt địa ALE (Address Latch Enable) để phân kênh (demultiplexing) bus liệu bus địa - Chân truy xuất EA (External Access): Chân vào nối với 5V (logic 1) với GND (logic 0) + Nếu chân nối lên 5V, 8051 thực thi chương trình ROM nội (chương trình nhỏ 4K/8K) + Nếu chân nối với GND (và chân PSEN logic 0), chương trình cần thực thi chứa nhớ ngồi - Chân RESET (RST): Khởi động lại Đây chân vào, mức tích cực cao, bình thường mức thấp Khi có xung cao đặt tới chân vi điều khiển kết thúc hoạt động tiến hành khởi động lại Khi reset, giá trị ghi bị xoá Lưu ý, để reset có hiệu quả, chân RST cần trì trạng thái tích cực mức cao tối thiểu chu kỳ máy - Các chân XTAL1 XTAL2: Mạch dao động bên chip 8051 ghép nối với thạch anh bên hai chân XTAL1 XTAL2 -5- 1.4 Tổ chức nhớ Lệnh ACC* B* PSW* SP DPTR DPL DPH P0* P1* P2* P3* IP* IE* TMOD TCON* T2CON* T2MOD TH0 TL0 TH1 TL1 TH2 TL2 RCAP2H RCAP2L SCON* SBUF PCON Tên Thanh ghi tích luỹ (thanh ghi tổng ) A Thanh ghi B Từ trạng thái chương trình Con trỏ ngăn xếp Con trỏ liệu hai byte Byte thấp DPTR Byte cao DPTR Cổng P0 Cổng P1 Cổng P2 Cổng P3 Điều khiển ưu tiên ngắt Điều khiển cho phép ngắt Điều khiển chế độ đếm/định thời Điều khiển đếm/định thời Điều khiển đếm/định thời Điều khiển chế độ đếm/định thời Byte cao đếm/định thời Byte thấp đếm/định thời Byte cao đếm/định thời Byte thấp đếm/định thời Byte cao đếm/định thời Byte thấp đếm/định thời Byte cao ghi đếm/định thời Byte thấp ghi đếm/định thời Điều khiển nối tiếp Bộ đệm liệu nối tiếp Điều khiển công suất Địa 0E0H 0F0H 0D0H 81H 82H 83H 80H 90H 0A0H 0B0H 0B8H A08H 89H 88H 0C8H 0C9H 8CH 8AH 8DH 8BH 0CDH 0CCH 0CBH 0CAH 98H 99H 87H Bảng 2: Các ghi chức đặc biệt họ vi điều khiển 8051 (*các ghi định địa theo bit) Họ vi điều khiển 8051 có khơng gian nhớ riêng cho chương trình liệu Cả nhớ chương trình liệu đặt bên chip, nhiên ta mở rộng nhớ chương trình nhớ liệu cách sử dụng chip -6- nhớ bên - Bộ nhớ nội chip bao gồm ROM RAM RAM chip bao gồm vùng RAM đa chức (nhiều công dụng), vùng RAM với bit định địa (gọi tắt vùng RAM định địa bit), dãy (bank) ghi ghi chức đặc biệt SFR (Special Function Register) Hai đặc tính đáng lưu ý: + Các ghi cổng vào/ra định địa theo kiểu ánh xạ nhớ (memory mapped) truy xuất vị trí nhớ + Vùng stack thường trú RAM chip (RAM nội) thay RAM vi xử lý - Vùng RAM đa mục đích: Bất kỳ vị trí nhớ vùng RAM đa mục đích truy xuất tự cách sử dụng kiểu định địa trực tiếp gián tiếp - Vùng RAM định địa bit: Ý tưởng truy xuất bit riêng rẽ thông qua phần mềm đặc trưng mạnh hầu hết vi điều khiển Các bit set, xoá, AND, OR… lệnh Hầu hết vi xử lý yêu cầu chuỗi lệnh đọc-sửa-ghi để nhận kết Ngồi 8051 cịn có cổng vào/ra định địa bit, làm đơn giản việc giao tiếp phần mềm với thiết bị vào/ra đơn bit - Các dãy ghi: Dãy ghi sử dụng gọi dãy ghi tích cực Dãy ghi tích cực thay đổi cách thay đổi bit chọn từ trạng thái PSW - Các ghi chức đặc biệt trình bày bảng 1.5 Tập lệnh - Đặc điểm bật 8051 có lệnh tác động thực bit đánh địa 8051 xố, lập, lấy phần bù, kiểm tra, di chuyển, thực phép toán logic bit - Tập lệnh 8051 thiết kế nhằm tối ưu độ dài mã lệnh tốc độ thực Hầu hết lệnh có độ dài byte, số byte byte Các lệnh thực chu kỳ máy, có nhân chia thực chu kỳ máy - Có kiểu định địa chỉ: + Thanh ghi (register) + Trực tiếp (direct) + Gián tiếp (indirect) + Tức thời (immediate) + Tương đối (relative) + Tuyệt đối (absolute) + Dài (long) + Chỉ số (indexed) - Tổng số lệnh 111 111 lệnh chia thành nhóm : + Tính tốn số học + Tính tốn logic (cho biến kiểu byte) + Chuyển liệu -7- + Thực bit + Lệnh rẽ nhánh chương trình điều khiển 1.6 Bộ đếm/bộ định thời 8051 có hai định thời Timer Timer Cả hai định thời có độ dài 16 bit Do 8051 có cấu trúc bit, nên định thời truy cập dạng hai ghi độc lập byte thấp byte cao - Thanh ghi Timer 0: Thanh ghi 16 bit Timer truy cập theo byte byte thấp byte cao Thanh ghi byte thấp gọi TL0 (Timer Low byte) ghi byte cao TH0 (Timer High byte) Các ghi đọc truy cập trực tiếp ghi khác TH0 TL0 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 Hình 3: Thanh ghi định thời Timer - Thanh ghi Timer 1: Bộ định thời Timer dài 16 bit ghi 16 bit chia thành hai byte TL1 TH1 Các ghi truy cập đọc giống ghi Timer TH1 TL1 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 Hình 4: Thanh ghi định thời Timer - Thanh ghi chế độ định thời TMOD: Cả hai định thời dùng chung ghi gọi TMOD để thiết lập chế độ làm việc khác định thời Thanh ghi TMOD ghi bit gồm có bit thấp dành cho Timer bit cao dành cho Timer Trong hai bit thấp chúng dùng để thiết lập chế độ định thời, hai bit cao dùng để xác định phép toán (MSB) GATE C/T M1 Timer1 M0 GATE C/T M1 Timer0 (MSB) M0 Hình 5: Thanh ghi TMOD + Các bit M0, M1: Là bit chế độ dùng để chọn chế độ 0, Timer Timer M1 M0 Chế Chế độ hoạt động độ 0 Chế độ định thời 13 bit Bộ định thời/bộ đếm bit, định tỷ lệ trước bit 1 Chế độ định thời 16 bit, không định tỷ lệ trước Chế độ bit tự nạp lại THx lưu giá trị tự nạp vào TLx tràn -8- 1 Chế độ định thời chia tách Bảng 3: Các chế độ hoạt động định thời 1.7 Ngắt - 8051 có ngắt dành cho người dùng: + Hai ngắt dành cho định thời Timer Timer + Hai ngắt phần cứng dành cho thiết bị bên nối tới chân INT0 INT1 cổng P3 + Truyền thơng nối tiếp có ngắt dành cho thu lẫn phát Ngắt Bật lại nguồn (RESET) Ngắt phần cứng (INT0) Ngắt Timer0 (TF0) Ngắt phần cứng (INT1) Ngắt Timer1 (TF1) Ngắt COM nối tiếp (RI TI) Địa ROM Chân 0000 0003 12 (P3.2) 000B 0013 13 (P3.3) 001B 0023 Bảng 4: Bảng vector ngắt 8051 - Cho phép cấm ngắt: Các ngắt phải cho phép phần mềm để vi điều khiển đáp ứng Thanh ghi cho phép ngắt IE (Interrupt Enable) chịu trách nhiệm việc cho phép (không che) cấm (che) ngắt D0 D7 EA ET2 ES ET1 EX1 ET0 EX0 Hình 6: Thanh ghi cho phép ngắt IE + EA: Nếu EA = không ngắt báo nhận Nếu EA = nguồn ngắt mở cấm cách bật xoá bit cho phép tương ứng + ET2: Cho phép/cấm ngắt tràn thu Timer + ES: Cho phép/cấm ngắt cổng nối tiếp + ET1: Cho phép/cấm ngắt tràn Timer + EX1: Cho phép/cấm ngắt + ET0: Cho phép/cấm ngắt tràn Timer + EX0: Cho phép/cấm ngắt - Ưu tiên ngắt: Khi 8051 cấp nguồn mức ưu tiên ngắt gán theo bảng sau : Mức ưu tiên từ cao xuống thấp Ngắt INT0 Ngắt định thời TF0 Ngắt INT1 Ngắt định thời -9- ... - 47 Bài toán 1: Bài toán ghép nối vi điều khiển với led đơn .- 55 Bài tốn : Phối hợp led-cơng tắc(1) .- 58 Bài Toán 3:Phối hợp led -công tắc(2) - 60 Bài toán 4: - 63 Bài. .. 8.1 .Điều khiển tốc độ động chiều - 113 8.2 Điều khiển tốc độ động theo trình - 114 - - 2- Bài : Giới thiệu vi điều khiển 8051 1.1 Mô tả chung - Họ vi điều khiển 8051 có đặc trưng tóm tắt sau:... LCD - 67 4.1 Lắp mạch theo sơ đồ sau: - 67 4.2 Nguyên lí hoạt động LCD: - 68 4.3 Lập trình : - 70 Bài 5: Ngắt vi điều khiển, thao tác với ngắt vi điều khiển- 75 5.1

Ngày đăng: 12/07/2020, 13:26

TỪ KHÓA LIÊN QUAN