Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 65 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
65
Dung lượng
5,1 MB
Nội dung
Môn: Vi xử lý Trương Ngọc Anh (2001) anhtn@hcmute.edu.vn 0902680065 I Tài liệu: Giáo trình Vi xử lý – Vi điều khiển PIC 16F887 (8/2016) www.microchip.com (NSX – datasheet) www.picvietnam.com (diễn đàn) Trang LMS 20 10 40 45 40 45 II Thi: - Chuyên cần: 10% (điểm danh, nộp tập) - Giữa kỳ 1: 20% (50-60 phút, đề đóng, khơng dùng máy tính) - Giữa kỳ 2: 20% (60-75 phút, tk tờ A4 viết tay) tập lớn (quay video clip thao tác) - Cuối kỳ: 50% (90 phút, tk tờ A4 viết tay) VD: Giữa kỳ: CC: 20% = 2đ, GK: 40% - 40% 1.6 (40% 4) + 1.6 + 2 (40% 5) + + = 5.2 =6 20/40/40 10 31.2 10 = 7.2 * Nội dung thi: - Giữa kỳ đợt 1: câu ý Câu 1a (3đ): Viết kết từ đoạn lệnh cho sẵn VD 4_13/58 (khơng dùng máy tính) Trang 001 10/45/45 1.35 4.5 6.85 Ôn lại đổi số hex nhị phân phép logic AND, OR, EXOR, chương Câu 1b (3đ): Viết lệnh từ lưu đồ cho sẵn VD Trang 93 Câu (4đ): Viết chương trình hồn chỉnh điều khiển led đơn (sáng dần, tắt dần, sáng dồn, chớp tắt, xen kẻ…) Có thể mơ (VD Tr 77) - Giữa kỳ đợt 2: Led đoạn, nút nhấn, Timer/Counter (chương chương 6) o Vẽ sơ đồ nguyên lý o Vẽ lưu đồ o Viết chương trình VD: Trang 92,93 - Cuối kỳ: câu – 90 phút – vẽ sơ đồ n.lý, vẽ lưu đồ, viết CT o Chương hết: ADC, Ngắt, UART, PWM o Bao gồm: led đoạn, LCD, nút nhấn, led đơn (phần nhỏ) Trang 002 CHƯƠNG KHẢO SÁT VI ĐIỀU KHIỂN PIC 16F887 I GIỚI THIỆU: - Phân biệt Vi xử lý Vi điều khiển ? Micro_processor – Micro_controller MPU – MCU Vi xử lý ? CPU – Central Processing Unit CPU – có khối số học (ALU) tính tốn +, -, *, /, AND, OR, NOT - có Register (thanh ghi) chứa liệu xử lý Hệ thống vi xử lý Hình 1-2/2 - CPU - Memory (RAM, ROM) ROM: Chứa chương trình điều khiển RAM: Chứa liệu tạm thời xử lý - I/O: Khối xuất/nhập (input/output) NX: HT VXL – khối rời (độc lập) VD: PC Trang 003 Vi điều khiển khác VXL chỗ khối tích hợp chung chip Tiêu chí lựa chọn VXL hay VĐK: - Nhu cầu nâng cấp - Tốc độ xử lý, số lượng liệu cần xử lý VD: Hình 1_1/2 II KHẢO SÁT VI ĐIỀU KHIỂN PIC 16F887: Thông số bản: - Vi điều khiển bit: khả xử lý (xuất/nhập) liệu thời điểm ≤ bit VD: Đọc liệu 16 bit - VĐK bit đọc ??? lần lần - VĐK 16 bit lần N.xét: nhiều bit cần nhiều chân giao tiếp, tốc độ (tần số) số bit cao xử lý nhanh - Họ VĐK bit Microchip: PIC 10, 12, 14 (Low Performance) 16 (Mid-range) 18 (High Performance) (CPU, Memory, I/O, module tích hợp,…) - Lựa chọn theo thị trường, kinh tế,… Chọn họ 16 - Thông số VĐK (trang 4): xem GT có ghi Cấu trúc RISC 35 lệnh đơn (CISC > 200 lệnh) Trang 004 Tốc độ: ≤ 20MHz (dùng dao động thạch anh bên ngồi) fLàm_việc = ¼ fThạch_Anh ( /4 lệnh cần phải có xung dao động thạch anh) fthạch_anh = 20Mhz fLV = MHz T = 200ns VĐK thực triệu lệnh/1s Dao động nội: 31kHz 8MHz (2 triệu lệnh/1s) Điện áp cung cấp: 2V – 5.5V Có mạch reset bên cấp nguồn PUT BOR WDT (trang 74) Watchdog timer – Bộ định thời giám sát thời gian tự động reset VĐK bị treo (có công việc xử lý không kết thúc) - 16xxx ? Xem bảng 1-1/7 - Tiêu chí lựa chọn Vi điều khiển: + Program Memory: Bộ nhớ chương trình (Flash ROM) Đơn vị: words bytes = 16 bit Trong trường hợp này: 14 bit VĐK có: 8192 ô nhớ x 14 bit (PIC16F887) Ta có: lệnh cần nhớ để lưu ta lưu 8192 lệnh 160 trang A4 (50 lệnh/1 trang A4) + Data memory: Bộ nhớ liệu (8 bit = byte) - RAM: 368 ô nhớ x bit - EEPROM: 256 ô nhớ x bit (đếm s.phẩm) + I/O: 35 (xem trang 8, hình 1-6) Port A,B,C,D (8 bit) x Trang 005 = 32 Port E = NX: Do VĐK bit nên port ≤ bit, nhớ liệu lưu bit + ADC: chuyển đổi tương tự số (Analog to Digital Converter) Giao tiếp với cảm biến (temperature, humidity, pressure ) + PWM (CCP): Pulse Width Modulation – Điều chế độ rộng xung Điều khiển tốc độ động DC (thay đổi điện áp DC) Điều khiển độ sáng led đơn + UART: Truyền liệu nối tiếp bất đồng Kết nối: VĐK VĐK VĐK PC Tiết kiệm chân kết nối truyền xa + Timer/Counter: Bộ định thời/Bộ đếm xung Timer dùng để tạo thời gian xác (đếm xung tính thời gian, xung = T (s)), đếm xung bên lấy từ dao động Counter dùng để đếm xung bên (đếm sản phẩm, đo tần số - đếm xung 1s, đo tốc độ - đếm số vòng quay / 1s) Timer/Counter module phần cứng độc lập điều khiển phần mềm, có xung đến counter tự động tăng giá trị (khơng phụ thuộc vào vi điều khiển xử lý công việc khác) tránh trường hợp đếm thiếu xung (mất xung) Khảo sát sơ đồ chân chức chân VĐK PIC16F887: - Trang 10 - Vi điều khiển nói chung, phải có tín hiệu bản: Trang 006 Nguồn, dao động (đồng bộ), reset (Linh kiện nói chung: Vào, Ra, Điều khiển) Nguồn: VDD (VCC), VSS (GND) CMOS (TTL) (11,12,31,32) Dao động: Thạch anh OSC1, OSC2 (13,14) (XTAL1, XTAL2) Reset: MCLR\ (1) – Master Clear Lưu ý: Nếu không thấy dao động thạch anh mạch reset ta ngầm hiểu sử dụng bên VD: Tr.77 * Tóm tắt: Phân biệt VXL, HT VXL, VĐK Khảo sát VĐK Họ VĐK bit Họ VĐK bit Microchip (PIC 10,12,14,16,18) i Chọn lựa (CPU, Mem., I/O, module tích hợp) ii ADC, UART, PWM, Timer/Counter,… Sơ đồ chân chức chân Kết nối (3 tín hiệu bản: nguồn, dao động, reset) Dao động, reset tích hợp bên kết nối bên Trang 007 Trang 008 CHƯƠNG TỔ CHỨC BỘ NHỚ, THANH GHI I KIẾN TRÚC BỘ NHỚ: - Phân biệt cấu trúc Von Neumann Harvard Hình 2-1/20 II TỔ CHỨC BỘ NHỚ: - Bộ nhớ chương trình (Program Mem.) - Bộ nhớ liệu (Data Mem.) * Bộ nhớ chương trình: Hình 2-2, Trang 21 Thanh ghi PC, Bộ nhớ ngăn xếp – Stack, phân bổ trang nhớ * Bộ nhớ liệu: Hình 2-6, Trang 30 Thanh ghi thông dụng, ghi đặc biệt Trang 009 CHƯƠNG LỆNH HỢP NGỮ I GIỚI THIỆU: - Phân biệt lệnh hợp ngữ ngôn ngữ C II LỆNH HỢP NGỮ: - Mã lệnh Trang 41 - Lệnh hợp ngữ Trang 42 Trang 010 ... tắt dần 11 11 111 1 10 11 111 1 = 0XBF 10 01 111 1 Dịch >> bit AND để tạo mức - and với giá trị có bit bắt đầu = Y = ((Y> >1) & 0XBF) | 0x80; 10 11 111 1 > >1 010 1 11 11 &0XBF 10 11 111 1 00 01 111 1 > LED... Trang 020 • TẮT DẦN: 11 11 111 1 Y = Y<