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

Giáo trình Vi điều khiển (Nghề Cơ điện tử Trình độ Cao đẳng)

142 5 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

Tiêu đề Giáo trình Vi điều khiển
Tác giả Đỗ Hữu Hậu
Trường học Cao đẳng nghề Cần Thơ
Chuyên ngành Cơ điện tử
Thể loại sách giáo trình
Năm xuất bản 2021
Thành phố Cần Thơ
Định dạng
Số trang 142
Dung lượng 5,32 MB

Nội dung

TUYÊN BỐ BẢN QUYỀN Tài liệu thuộc loại sách giáo trình nên nguồn thơng tin phép dùng nguyên trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm LỜI GIỚI THIỆU Vi điều khiển mô đun sở của nghề Cơ điện tử biên soạn dựa theo chương trình khung đã xây dựng và ban hành năm 2021 của trường Cao đẳng nghề Cần Thơ dành cho nghề Cơ điện tử hệ Cao đẳng Giáo trình biên soạn làm tài liệu học tập, giảng dạy nên giáo trình xây dựng mức độ đơn giản dễ hiểu, học có thí dụ tập tương ứng để áp dụng và làm sáng tỏ phần lý thuyết Khi biên soạn, nhóm biên soạn dựa kinh nghiệm thực tế giảng dạy, tham khảo đồng nghiệp, tham khảo các giáo trình có và cập nhật kiến thức có liên quan để phù hợp với nội dung chương trình đào tạo phù hợp với mục tiêu đào tạo, nội dung biên soạn gắn với nhu cầu thực tế Nội dung giáo trình biên soạn với lượng thời gian đào tạo 60 gồm có: Bài MĐ 32-01: Họ vi xử lý INTEL 80x86 Bài MĐ 32-02: Cấu trúc họ vi điều khiển 8051 Bài MĐ 32-03: Tập lệnh 8051 Bài MĐ 32-04: Bộ định thời Bài MĐ 32-05: Vi điều khiển PIC Bài MĐ 32-06: Ngơn ngữ lập trình PIC18F4550 Bài MĐ 32-07: Lập trình điều khiển mơ Giáo trình tài liệu giảng dạy tham khảo tốt cho nghề điện tử dân dụng, Điện tử công nghiệp, điện công nghiệp và điện dân dụng Mặc dù cố gắng tổ chức biên soạn để đáp ứng mục tiêu đào tạo không tránh thiếu sót Rất mong nhận sự đóng góp ý kiến thầy, cơ, bạn đọc để nhóm biên soạn điều chỉnh hồn thiện Cần Thơ, ngày tháng năm 2021 Tham gia biên soạn Chủ biên: Đỗ Hữu Hậu MỤC LỤC Trang TUYÊN BỐ BẢN QUYỀN LỜI GIỚI THIỆU MỤC LỤC BÀI 1: HỌ VI XỬ LÝ INTEL 80x86 Cấu trúc bên hoạt động vi xử lý 8086 1.1 Các khối chức CPU .7 1.2 Các ghi CPU 1.3.Tổ chức nhớ vi xử lý 8086 11 Các chế độ định địa vi xư lý 8086 11 2.1 Chế độ địa ghi .12 2.2 Chế độ địa tức 13 2.3 Chế độ địa trực tiếp .13 2.4 Chế độ địa gián tiếp qua ghi 13 2.5 Chế độ địa tương đối sở 13 2.6 Chế độ địa tương đối số 13 2.7 Chế độ địa tương đối số sở 13 Tập lệnh vi xử lý 8086 .14 Các chế độ làm việc vi xử lý 18 Lập trình hợp ngữ cho vi xử lý 8086/8088 19 5.1 Giới thiệu chung hợp ngữ 19 5.2 Cú pháp chương trình hợp ngữ 19 Thực hành .21 6.1 Các bước lập trình 22 6.2 Sinh viên thực hành .22 BÀI 2: CẤU TRÚC HỌ VI ĐIỀU KHIỂN 8051 .24 Tổng quan .24 Sơ đồ chân vi điều khiển 8051 .25 2.1 Chân cho phép nhớ chương trình PSEN .26 2.2 Chân cho phép chốt địa ALE 26 2.3 Chân truy xuất ROM EA 27 2.4 Chân RESET(RST) .27 2.5 Các chân XTAL1,XTAL2 27 Cấu trúc Port I/O 28 Tổ chức nhớ .29 4.1 Tổng quan tổ ch́ ức bộ nhớ 29 4.2 Vùng RAM đa .30 4.3 Vùng RAM định địa bit 30 Thực hành .34 5.1 Các bước thực vẽ sơ đồ chân 34 5.2 Sinh viên thực hành .34 BÀI 3: TẬP LỆNH 8051 35 Các cách định địa .35 Các nhóm lệnh 38 2.1 Nhóm lệnh số học 38 2.2 Nhóm lệnh logic 42 2.3 Nhóm lệnh truyền liệu 46 2.4 Nhóm lệnh boolean 48 2.5 Nhóm lệnh rẽ nhánh chương trình .50 Thực hành .54 3.1 Các bước lập trình 54 3.2 Sinh viên thực hành .54 BÀI 4: BỘ ĐỊNH THỜI .56 Thanh ghi SFR của timer 57 Các chế độ làm việc 58 2.1 Chế độ định thời 13 bit (chế độ 0) 58 2.2 Chế độ định thời 16 bit (chế độ 1) 59 2.3 Chế độ tự nạp lại bit (chế độ 2) .59 2.4 Chế độ định thời tách biệt timer (chế độ 3) .59 Thực hành .65 3.1 Các bước lập trình 65 3.2 Sinh viên thực hành .66 BÀI 5: VI ĐIỀU KHIỂN PIC 67 Vi điều khiển PIC18F4550 .67 1.1 Cấu trúc phần cứng .67 1.2 Các tính đặc biệt, bit cấu hình PIC 18F4550 73 Thực hành khảo sát nguồn dao động .75 BÀI 6: NGƠN NGỮ LẬP TRÌNH PIC18F4550 .77 Các phần mềm lập trình 77 1.1 Phần mềm MPLAB 78 1.2 Phần mềm CCS 79 1.3 Phần mềm MikroC 80 Phần mềm MPLAB XC8 81 2.1 Khởi tạo Project phần mềm MPLAB 81 2.2 Ngơn ngữ lập trình C trình biên dịch XC8 84 2.3 Bộ định thời timer .91 2.4 Khối CCP (Capture - Compare - PWM) 98 2.5 Bộ biến đổi ADC 101 2.6 Truyền thông nối tiếp vi điều khiển .109 Thực hành .112 3.1 Cài đặt phần mềm CCS 112 3.2 Cài đặt phần mềm MPLABX IDE XC16 cho vi điều khiển PIC 115 BÀI 7: LẬP TRÌNH ĐIỀU KHIỂN VÀ MƠ PHỎNG 126 Chương trình điều khiển LED đơn (chương trình mẫu) 126 Mô 134 Thực hành .136 3.1 Viết chương trình theo yêu cầu 136 3.2.Chạy mô 137 TÀI LIỆU THAM KHẢO 142 GIÁO TRÌNH MƠ ĐUN Tên mơ đun: VI ĐIỀU KHIỂN Mã mô đun: MĐ 32 Vị trí, tính chất, ý nghĩa và vai trị mơ đun: - Vị trí mơ đun: Mơ đun bố trí dạy sau học xong mơ đun Linh kiện điện tử, Đo lường điện – điện tử, Kỹ thuật số, Điện tử công suất học trước mơ đun MPS, Roboot cơng nghiệp - Tính chất mô đun: Là mô đun chuyên môn nghề - Ý nghĩa mô đun: giúp người học nắm bắt phương pháp lập trình điều khiển ứng dụng họ vi xử lý vi điều khiển - Vai trị mơ đun: Lập trình điều khiển ứng dụng sử dụng họ 8051 tảng để học mô đun vi điều khiển nâng cao Mục tiêu mô đun: - Về kiến thức: + Trình bày hệ đếm mã hóa máy tính, tương tác máy tính vi xử lý, vi xử lý intel ứng dụng + Trình bày cấu trúc họ vi xử lý vi điều khiển + Giải thích nguyên lý làm việc hệ điều khiển ứng dụng vi xử lý vi điều khiển - Về kỹ năng: + Lập trình hợp ngữ số tập cách thành thạo + Xử lý số dạng kết nối máy tính với vi xử lý thiết bị ngoại vi + Phát triển hệ điều khiển sở khối trung tâm vi xử lý + Vận hành thiết bị dây chuyền sản xuất dùng vi điều khiển + Xác định nguyên nhân gây hư hỏng xảy thực tế + Lập trình cho hệ vi điều khiển 89C51, PIC18F4550 + Nạp chương trình vào vi điều khiển - Năng lực tự chủ trách nhiệm: + Có sáng kiến, tìm tịi, khám phá q trình học tập cơng việc + Có khả tự định hướng, chọn lựa phương pháp tiếp cận thích nghi với học + Có lực đánh giá kết học tập nghiên cứu + Tự học tập, tích lũy kiến thức, kinh nghiệm để nâng cao trình độ chun mơn Nội dung mơ đun: Số TT Tên mô đun Tổng số Bài 1: Họ vi xử lý INTEL 80x86 Cấu trúc bên hoạt động vi xử lý 8086 Các chế độ định địa vi xư lý 8086 Tập lệnh vi xử lý 8086 Các chế độ làm việc vi xử lý Lập trình hợp ngữ cho vi xử 12 Thời gian (giờ) Thực hành, Lý thí nghiệm, thuyết thảo luận, tập 6 0.5 0.5 0.5 0.5 3 1 Kiểm tra 05 06 07 lý 8086/8088 Thực hành Bài 2: Cấu trúc họ vi điều khiển 8051 Tổng quan Sơ đồ chân Cấu trúc Port I/O Tổ chức nhớ Thực hành Bài 3: Tập lệnh 8051 Các cách định địa Các nhóm lệnh Thực hành Kiểm tra Bài 4: Bộ định thời 1.Thanh ghi SFR timer Các chế độ làm việc Thực hành Bài 5: Vi điều khiển PIC Cấu trúc vi điều khiển Kiến trúc vi điều khiển Một số họ vi điều khiển thông dụng Vi điều khiển PIC18F4550 Thực hành Kiểm tra Bài 6: Ngơn ngữ lập trình cho PIC18F4550 Các phần mềm lập trình Phần mềm MPLAB X IDE XC8 Thực hành Bài 7: Lập trình điều khiển mơ Chương trình điều khiển LED đơn Mô Thực hành Kiểm tra Cộng 0.5 0.5 0.5 0.5 3 2 1 0.5 0.5 0.5 0.5 2 2 1 2 1 4 3 2 60 4 5 30 BÀI 1: HỌ VI XỬ LÝ INTEL 80x86 3 12 Mã bài: MĐ 32-01 27 Giới thiệu: Bộ vi xử lý 80x86 Intel Đây vi xử lý tiếng thời hãng Intel sử dụng nhiều lĩnh vực khác Các chương trình viết cho 80x86 chạy trên hệ tiên tiến sau Các họ vi xử lý hãng có khác xét cho có nhiều điểm chủ yếu giống nhau, nắm vững vấn đề kỹ thuật 8086 ta có sở để nắm bắt vi xử lý khác họ Intel họ khác Mục tiêu: - Trình bày cấu trúc hệ vi xử lý 80x86 - Trình bày tập lệnh hệ vi xử lý 80x86 - Viết số chương trình đơn giản dạng hợp ngữ cho hệ vi xử lý 80x86 - Rèn luyện tính tư duy, tác phong cơng nghiệp Nội dung chính: Cấu trúc bên hoạt động vi xử lý 8086 1.1 Các khối chức CPU Chức bên vi xử lý mặt logic chia làm hai khối xử lý Khối thứ khối giao diện bus (BIU) khối thứ hai khối thực lệnh (EU) BIU: Cung cấp chức liên quan đến việc nhận lệnh xếp hàng lệnh, lưu trữ toán hạng định vị địa Khối cung cấp chức điều khiển BUS sở Trong hầu hết trường hợp thời gian thực lệnh lấy lệnh thực lệnh trùng Chính điều làm tăng khả hoạt động vi xử lý thông qua việc cải thiện Bus Trong khối thực lệnh bận rộn với lệnh thời BIU bắt đầu việc lấy lệnh từ nhớ phần cuối chúng đặt RAM nội tốc độ cao gọi hàng đợi Độ dài hàng đợi với vi xử lý 8086 6byte Kỹ thuật hàng đợi lệnh cho phép BIU sử dụng nhớ hiệu BIU lấy mã lệnh nhớ đưa vào hàng đợi Theo cách BIU cung cấp lệnh cách liên tục mà không độc chiếm BIU Điều làm giảm đáng kể thời gian chết Bus Hàng đợi lệnh làm việc đệm lệnh FIFO (First In First Out, vào trước trước) Nếu có vào/ra liên tục dịng mã lệnh đệm có nghĩa có phối hợp hoạt động hiệu qủa hai khối EU BIU theo chế xử lý xen kẽ liên tục dòng mã lệnh để làm tăng tốc độ xử lý tổng thể Kỹ thuật xen kẽ liên tục dịng mã lệnh khơng cịn tác dụng tăng tốc độ xử lý CPU đệm lệnh có chứa mã lệnh lệnh CALL (gọi chương trình con) JMP (nhảy), lúc gặp lệnh nội dung cũ đệm lệnh bị xoá thay vào nội dung nạp lệnh lệnh nhảy gọi định Việc tiêu tốn nhiều thời gian so với trường hợp đệm có mã lệnh lệnh EU: Nhận lệnh lấy trước từ hàng đợi lệnh cung cấp toán hạng, địa cho BIU để khối đọc lệnh liệu Trong thân EU giải mã lệnh, thực hiện, lại chuyển kết tới BIU để lưu trữ Thao tác thực trước tiên EU việc giải mã lệnh khoảng thời gian lãng phí CPU mà dường chẳng có hoạt động mặt điện diễn Bus Nhưng thực tế, khoảng thời gian khoảng thời gian BIU khai thác để lấy trước câu lệnh mô tả Các lệnh chứa hàng đợi lệnh lệnh cất nhớ liên tiếp lệnh thực Nếu EU thực lệnh chuyển điều khiển đến nơi khác BIU xoá hàng đợi, lấy lệnh từ địa mới, chuyển cho EU lại bắt đầu lấy tiếp lệnh để đưa vào hàng đợi Khối EU tạo thành từ ghi chung vi xử lý 8086/8088 Như biết, tất ghi đường truyền liệu nội có độ rộng 16 bit khơng có giao tiếp trực tiếp EU môi trường bên ngồi mà nhận lệnh từ “hàng đợi” BIU cung cấp (EU không nối với Bus hệ thống mà lấy lệnh từ hàng đợi) Khi lệnh yêu cầu truy nhập tới nhớ I/O, khối EU lệnh cho khối BIU truyền/nhận liệu Tất liệu EU điều khiển địa 16 bit Nhưng thông qua việc di chuyển vị trí nhớ BIU thực (định vị lại địa chỉ) khối EU truy cập tới toàn bộ nhớ MB ALU: Đây tập EU, thực tế giống phần có cấu trúc độc lập, chịu trách nhiệm thực thao tác số học thao tác logic Các tốn hạng liệu tức thì, liệu từ ghi liệu lưu trữ nhớ Trong kết lại định vị ghi nhớ cờ trạng thái cập nhật dựa kết thao tác 1.2 Các ghi CPU Các ghi chia làm nhóm có tên là: Các ghi đoạn: CS, DS, SS, ES Các ghi đa năng: AX, BX, CX, DX Các ghi trỏ số: IP, BP, SP, SI, DI Thanh ghi cờ FR (Flag) Thanh ghi đoạn Khối BIU đưa BUS địa 20 bit địa Như 8086 có khả phân biệt 220 = 1048576 =1M ô nhớ hay 1MB Trong không gian 1MB nhớ cần chia thành vùng khác dành riêng để: Chứa mã chương trình Chứa liệu kết trung gian chương trình Tạo vùng nhớ đặc biệt gọi ngăn xếp (stack) dùng vào việc quản lý thông số vi xử lý gọi chương trình trở từ chương trình Trong thực tế vi xử lý 8086/8088 có ghi 16 bit liên quan đến địa đầu vùng (đoạn) kể chúng gọi ghi đoạn (Segment register) Đó ghi: CS (Code Segment): Thang ghi đoạn mã, chứa địa bắt đầu đoạn chương trình (đoạn mã) mang lệnh thực thông thường vùng nhớ chứa liệu dạng hàng thay đổi vùng ROM/EPROM DS (Data Segment): Thanh ghi đoạn liệu, chứa địa bắt đầu đoạn liệu, bao gồm tham số, biến, mảng số liệu… SS (Stack Segment): Thanh ghi đoạn ngăn xếp, chứa địa bắt đầu mảng stack Đây mảng RAM, nơi mà liệu tồn ghi lưu trữ suốt trình ngắt ES (Extra Segment): Thanh ghi đoạn liệu phụ, chứa địa bắt đầu vùng nhớ bổ sung Dung lượng lớn đoạn nhớ 64 Kbyte Việc thay đổi giá trị ghi đoạn tương ứng dịch chuyển linh hoạt phạm vi khơng gian Mbyte Vì đoạn nằm cách thông tin cần lưu trữ chúng đòi hỏi dung lượng đủ 64 Kbyte nằm trùm lên có đoạn không cần dùng hết dung lượng 64 Kbyte Nội dung ghi đoạn cho phép ta xác định địa ô nhớ nằm đầu đoạn Địa gọi địa sở, địa nhớ khác nằm đoạn tính cách cộng thêm vào địa sở giá trị gọi địa lệch hay độ lệch (offset) Độ lệch xác định ghi 16 bit khác đóng vai trị ghi lệch (offset register) Mọi trao đổi thông tin hệ thống vi xử lý dùng địa vật lý, địa tạo ghi đoạn ghi lệch gọi địa logic ký hiệu sau: Địa logic = Thanh ghi đoạn: Thanh ghi lệch Địa logic tồn dạng giá trị ghi cụ thể bên CPU cần thiết truy nhập nhớ phải đổi địa vật lý để đưa lên bus địa Việc chuyển đổi tạo địa thực Địa vật lý ô nhớ tính theo cơng thức sau: 20 bit địa vật lý = Thanh ghi đoạn x 16 + Thanh ghi lệch Ví dụ: Cặp CS:IP địa lệnh thực đoạn mã Nếu thời điểm ta có CS = F000H IP = FFF0H CS:IP ~ F000Hx16 + FFF0H = F0000H + FFF0H = FFFF0H Địa FFFF0H địa khởi động 8086/8088 Dấu ~ để tương ứng Từ nói đến địa nhớ ta sử dụng địa logic lẫn địa vật lý có tồn tương ứng hai loại địa Ta cần ý giá trị địa vật lý có nhiều cách tạo từ nhiều giá trị ghi đoạn ghi lệch Ví dụ: địa vật lý 32412H tạo từ giá trị Thanh ghi đoạn Thanh ghi lệch 3000H 2412H 3200H 0412H 3240H 0012H Các ghi đa Trong khối EU có ghi đa AX, BX, CX, DX Điều đặc biệt cần chứa liệu bit ghi tách làm ghi bit cao thấp làm việc độc lập nhau, ghi AH AL, BH BL, CH CL, DH DL Mỗi ghi dùng cách vạn để chứa loại liệu khác nhau, có cơng việc đặc biệt định thao tác với vài ghi ghi thường gán cho tên đặc biệt có ý nghĩa - AX (Accumulator, Acc): Thanh chứa, kết thao tác thường chứa đây, kết bit ghi AL gọi Acc - BX (Base): Thanh ghi sở, thường chứa địa sở bảng nhớ - CX (Count): Thanh ghi đếm, thường dùng để chứa số lần lặp lệnh lặp LOOP, CL thường dùng chứa só lần dịch quay lệnh dịch quay - DX (Data): Thanh ghi liệu DX AX tham gia vào thao tác phép nhân chia 16 bit, DX dùng để chứa địa cổng lệnh vào/ra liệu trực tiếp (IN/OUT) Các ghi trỏ số 8086 có ghi trỏ ghi số 16 bit, ghi (trừ IP) dùng ghi đa năng, ứng dụng ghi chúng ngầm định ghi lệch cho đoạn tương ứng - IP (Instruction Pointer): Con trỏ lệnh, IP trỏ vào lệnh thực nằm đoạn mã CS Địa đầy đủ lệnh ứng với CS:IP xác định theo cách nói - BP (Base Pointer): Con trỏ sở, BP trỏ vào liệu nằm đoạn ngăn xếp SS Địa đầy đủ phần tử đoạn ngăn xếp ứng với SS:BP xác định theo cách nói - SP (Stack Pointer): Con trỏ ngăn xếp, trỏ vào đỉnh thời ngăn xếp nằm đoạn ngăn xếp SS Địa đầy đủ đỉnh ngăn xếp ứng với SS:SP xác định theo cách nói - SI (Source Index): Chỉ số nguồn, SI vào liệu đoạn liệu DS mà địa đầy đủ tương ứng với DS:SI xác định theo cách nói - DI (Destination Index): Chỉ số đích, DI vào liệu đoạn liệu DS mà địa đầy đủ tương ứng với DS:DI xác định theo cách nói Thanh ghi cờ FR (Flag Register) Đây ghi đặc biệt CPU bit để phản ánh trạng thái định kết qủa phép toán ALU thực hoạt động EU Dựa vào cờ mà người lập trình đưa lệnh thích hợp cho vi xử lý (các lệnh nhảy có điều kiện) Thanh ghi cờ có 16 bit sử dụng bit làm bit cờ X X X X O D I T S Z X A X P X C x: Không định nghĩa Các cờ cụ thể: Các cờ trạng thái C CF (Carry Flag): Cờ nhớ CF = có nhớ mượn từ MSB F PF (Parity Flag): Cờ chẵn lẻ, phản ánh tính chẵn lẻ tổng số bit có kết CF = tổng số bit kết chẵn A AF (Auxiliary carry Flag): cờ nhớ phụ, có ý nghĩa ta làm việc với số BCD, AF = có nhớ mượn từ số BCD thấp (4 bit thấp) sang số BCD cao (4bit cao) Z ZF (Zero Flag): Cờ rỗng, ZF = kết qủa S SF (Sign Flag): Cờ dấu, SF = kết âm O OF (Overflow Flag): Cờ tràn, OF = kết số bù hai vượt giá trị biểu diễn Các cờ điều khiển (có thể lập xố lệnh riêng) T TF (Trap Flag): Cờ bẫy, TF = CPU làm việc chế độ chạy lệnh (chế độ dùng cần tìm lỗi chương trình) I IF (Interrupt enable Flag): Cờ cho phép ngắt, IF = CPU cho phép yêu cầu ngắt tác động D DF (Direction Flag): Cờ hướng, DF = CPU làm việc với chuỗi ký tự theo ký tự từ phải sang trái (vì D cờ lùi) 1.3.Tổ chức nhớ vi xử lý 8086 Vi xử lý 8086 có 20 đường địa địa hố 220 nhớ liệu bit kéo dài từ địa 00000h đến FFFFFh Bộ nhớ logic chia thành 10 Công cụ tải xuống chương trình PicKit2 sử dụng. Sau bấm vào Next Chọn Compiler. Ở XC8 sử dụng nhấn Next Đặt tên cho Project ví dụ LED_Blinking_demo thiết lập Path cho Project Folder kích Finish 128 Dự án hiển thị cửa sổ Project Tệp nguồn chứa Mã tệp hỗ trợ khác cho tiêu đề (tùy chọn).  Trong PIC18f4550, cần cấu hình số ghi bit WDT, MCLRE ', FOSC, v.v Chúng ta viết cấu hình mã C sau:               #pragma config FOSC = INTOSC_EC               #pragma config WDT = TẮT               #pragma config MCLRE = TẮT Nhưng PIC18F4550 có nhiều cấu hình đăng ký để chúng thiết lập mặc định trình biên dịch tạo cảnh báo cho ghi này. Vì vậy, để cấu hình ghi này, MPLABX cung cấp cách đơn giản sau: Vào Window -> PIC Memory Views -> Chọn bit cấu hình 129 Sau cửa sổ Popup sau: 130 Cấu hình bit theo yêu cầu bấm vào nút "Tạo mã nguồn để đầu ra" đưa phía Sao chép mã nguồn tạo dán vào tệp tiêu đề Để làm điều Tạo Header file Nhấp chuột phải vào Tiêu đề dự án -> Chọn -> Chọn Tệp tiêu đề C Tên Header File nhấn vào Finish Bây phải viết mã cho đèn LED nhấp nháy Tạo tập tin để phát triển mã Nhấp chuột phải vào Source in project -> Chọn new -> Chọn C Main File 131 (Nếu viết mã Assembly, chọn ASM file) Đặt tên cho tệp C nhấp vào kết thúc Một mã ứng dụng đơn giản Chương trình C đơn giản cho đèn LED chớp tắt #include "singleled.h" #include "xc.h" 132 #define _XTAL_FREQ 20MHz void delay(long t); void main() { TRISA &= 0xF0; TRISB &= 0x0F; ADCON1 = 0x0F; while(1) { PORTA |= 0x0F; PORTB |= 0xF0; delay(10000); PORTA &= 0xF0; PORTB &= 0x0F; delay(10000); } } void delay(long t) { while(t ); } Biên dịch code Có búa vịng màu đỏ, bấm vào để xây dựng dự án Sau xây dựng dự án, cửa sổ xuất xuất cho phép lỗi cảnh báo có cách khác đưa thông báo xây dựng thành công Sau tạo Hex File mà cần phải tải thiết bị PIC 133 Sau tải lên chương trình trên, kết nối LED với vi điều khiển PIC, bắt đầu nhấp nháy Mô Mở phần mềm Protues Chọn File New Project Đặt tên file mô nơi lưu, chọn Next 134 Nếu mô chọn Default, chọn Next Chọn Finish để bắt đầu thiết kế mạch mô 135 Chọn linh kiện từ thư viện Tiến hành vẽ mạch mô theo sơ đồ nguyên lý Thực hành 3.1 Viết chương trình theo yêu cầu Các bước thực Bước 1: Phân tích yêu cầu đề Bước 2: Mở phần mềm MPLAB X IDE Bước 3: Tạo dự án theo yêu cầu phân tích 136 Bước 4: Chọn Microchip Embedded -> Chọn Standalone nhấn để Bước 5: Chọn thiết bị họ vi điều khiển Bước 6: Chọn cơng cụ nạp chương trình Bước 7: Chọn chương trình biên dịch Bước 8: Đặt tên cho Project Bước 9: Cấu hình tính cho vi điều khiển đầu chương trình Bước 10: Tạo file Header cho chương trình Bước 11: Tạo file.c để bắt đầu viết chương trình Bước 12: Biên dịch sửa lỗi 3.2.Chạy mô Bước 1: Nạp file HEX cho vi điều khiển  double click vào IC vi điều khiển  chọn đường dẫn Program File Bước 2: Chọn file.HEXOpenOK 137 Bước 3: Chọn Debug  Run Simulation Bước 4: Quan sát trạng thái ngõ Bước 5: Chọn Debug Stop để chỉnh sửa nạp lại code cần 138 Bước 6: Mở phần mềm Pickit 2, kiểm tra kết nối với vi điều Bước 7: Chọn File  Import dẫn đến nơi chưa file HEX chọn OK 139 Bước 8: Chọn Write để nạp chương trình cho vi điều khiển Bước 9: Quan sát kết thực hành Những trọng tâm cần ý - Các bước viết chương trình điều khiển - Khai báo tính biến - Xây dựng ngắn gọn chương trình - Biên dịch lỗi sửa lỗi - Quá trình kết nối thực hành với máy tính nạp chương trình chình Bài tập mở rộng nâng cao Câu 1: Viết chương trình vi điều khiển PIC thực chức tạo xung 10KHz chân RB0 sử dụng TIMER0 chế độ bit, tần số thạch anh sử dụng 20MHz Câu 2: Viết chương trình vi điều khiển PIC thực chức tạo xung 1KHz chân RB0 sử dụng TIMER0 chế độ 16 bit, tần số thạch anh sử dụng 20MHz Câu 3: Viết chương trình vi điều khiển PIC thực chức đếm kiện RC3/T0CKI (tích cực mức 0) sử dụng TIMER0 chế độ bit, tần số thạch anh sử dụng 20MHz Câu 4: Viết chương trình vi điều khiển PIC thực đếm kiện RC3/ T0CKI (tích cực mức 0) sử dụng TIMER0 chế độ 16 bit, tần số thạch anh sử dụng 20MHz Câu 5: Viết chương trình vi điều khiển PIC thực chức đọc giá trị ADC AN0, AN1 Trong AN0 AN1 sử dụng biến trở (0-5V) Yêu cầu đánh giá kết học tập Nội dung: - Về kiến thức: + Trình bày bước viết chương trình điều khiển + Trình bày nguyên lý nạp chương trình cho vi điều khiển sử dụng Pickit - Về kỹ năng: Viết chương trình điều khiển theo u cầu, mơ yêu cầu nạp chương trình vào vi điều thông qua nạp Pickit 2, ghi nhận kết - Năng lực tự chủ trách nhiệm: Tỉ mỉ, cẩn thận, xác, ngăn nắp cơng việc Phương pháp: - Về kiến thức: Đánh giá hình thức kiểm tra viết, trắc nghiệm, vấn đáp - Về kỹ năng: Đánh giá kỹ thực hành thông qua q trình viết code đúng, mơ nạp chương trình yêu cầu - Năng lực tự chủ trách nhiệm: Tỉ mỉ, cẩn thận, xác, ngăn nắp công việc 140 - Điều kiện để hồn thành mơ đun để dự thi kết thúc mơ đun: + Người học tham dự 70% thời gian học lý thuyết đầy đủ học tích hợp, học thực hành, thực tập + Điểm trung bình chung điểm kiểm tra đạt từ 5,0 điểm trở lên theo thang điểm 10; + Người học có giấy xác nhận khuyết tật theo quy định hiệu trưởng xem xét, định ưu tiên điều kiện dự thi sở sinh viên phải bảo đảm điều kiện điểm trung bình điểm kiểm tra + Số lần dự thi kết thúc mô đun theo quy định khoản Điều 13 Thông tư 09/2017/TT-BLĐTBXH, ngày 13 tháng năm 2017 - Điều kiện để công nhận, cấp chứng nhận đạt mô đun đào tạo: Người học công nhận cấp chứng nhận đạt mơ đun có điểm trung bình mơ đun theo thang điểm 10 đạt từ 4,0 trở lên 141 TÀI LIỆU THAM KHẢO [1] Giáo trình vi xử lý, Trần Văn Trọng Trường ĐHSPKT TP HCM [2] Kỹ thuật vi xử lý, Văn Thế Minh Trường ĐHSPKT TP HCM [3] Họ vi điều khiển - Tống văn On - Đại học Bách khoa TP.HCM - 2005 [4] Mikrocompute Lehrbuch - HPI Fachbuchreihen Pflaum Verlag Munchen [5] 8051 Development Boad, Rev - Paul Stoffregen [6] MICROCHIP – PIC 16F87X DATASHEET, 1997 [7] MICROCHIP – PICmicro Mid- Range MCU family reference Manual, 1997 [8] Ngô Diên Tập, Kỹ Thuật AVR, Nhà xuất KH & KT – 2003 [9] Các tài liệu vi điều khiển ATMEL, MICROCHIP 142

Ngày đăng: 16/12/2023, 16:04

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN