VI ĐIỀU KHIỂN PIC
Cấu trúc của vi điều khiển
2 Kiến trúc của vi điều khiển 0.5 0.5
Một số họ vi điều khiển thông dụng
3.1 Vi điều khiển của Atmel
3.2 Vi điều khiển của Microchip
3.3 Vi điều khiển của Cypress
3.4 Vi điều khiển của Hitachi
3.5 Vi điều khiển của Motorola
3.6 Vi điều khiển của Maxim
Vi điều khiển PIC18F4550
NGÔN NGỮ LẬP TRÌNH PIC18F4550
Phần mềm MPLAB và XC8
3 Một số họ vi điều khiển thông dụng 0.5 0.5
3.1 Vi điều khiển của Atmel
3.2 Vi điều khiển của Microchip
3.3 Vi điều khiển của Cypress
3.4 Vi điều khiển của Hitachi
3.5 Vi điều khiển của Motorola
3.6 Vi điều khiển của Maxim
2 Bài 2: Ngôn ngữ lập trình cho
1 Các phần mềm lập trình 3 3
2 Phần mềm MPLAB X IDE và
2.1 Khởi tạo Project trên phần mềm
2.2 Ngôn ngữ lập trình C của trình biên dịch XC8
2.6 Truyền thông nối tiếp trong vi điều khiển
Thực hành
3 Bài 3: Bộ thực hành PIC18F4550 16 8 7 1
1 Bộ thực hành vi điều khiển PIC và các mô đun mở rộng 4 4
1.1 Các module tích hợp sẵn trên bộ thực hành
1.2 Điều khiển hiển thị LED đơn và
1.3 Điều khiển hiển thị LED ma trận
1.4.Quét bàn phím ma trận
1.5 Module truyền thông nối tiếp
2 Các bài thực hành với các module mở rộng 4 4
2.2.Module điều khiển rơ le
2.3.Module điều khiển động cơ bước
2.4.Module điều khiển nhiệt độ
2.5.Module điều khiển đèn giao thông
2.6.Module điều khiển Led ma trận
2.7.Module điều khiển hiển thị LCD
3.1 Khảo sát bộ thực hành lập trình vi điều khiển PIC (TPAD.R2001)
3.2 Kết nối thiết bị với máy tính
4 Bài 4: Lập trình điều khiển và mô phỏng 24 14 9 1
1 Chương trình điều khiển LED đơn 6 6
BÀI 1: VI ĐIỀU KHIỂN PIC
Mã Bài: MĐ32- 01 Giới thiệu:
Trong kỷ nguyên công nghệ số hiện nay, việc sử dụng điều khiển tự động và điều khiển từ xa đã trở nên phổ biến trong cả lĩnh vực dân dụng lẫn công nghiệp Hệ thống điều khiển, đặc biệt là vi điều khiển, đóng vai trò quan trọng như trung tâm xử lý cho các quy trình điều khiển này.
- Phân biệt vi điều khiển, vi xử lý
- Trình bày đúng các kiểu kiến trúc của vi điều khiển
- Trình bày đúng các chế độ tạo dao động của PIC 18F4550
- Thực hiện khảo sát các loại Vi điều khiển PIC
- Chủ động, sáng tạo và đảm bảo an toàn trong quá trình học tập
1 Cấu trúc của vi điều khiển
Vi điều khiển (MCU - Micro Control Unit) là một máy tính thu nhỏ tích hợp trên một chip, có khả năng hoạt động với một số linh kiện phụ trợ bên ngoài Điểm khác biệt chính giữa vi điều khiển và vi xử lý là khả năng tích hợp và chức năng điều khiển của chúng.
Vi xử lý là một CPU tích hợp trên một chip, trong khi vi điều khiển là một chip bao gồm CPU, bộ nhớ, mạch vào/ra và các mạch đặc biệt như bộ đếm/định thời, mạch biến đổi A/D và D/A Do đó, vi điều khiển có thể được xem như một hệ vi xử lý thu nhỏ.
Các bộ vi xử lý chủ yếu được sử dụng làm CPU trong máy tính, trong khi các bộ vi điều khiển thường được áp dụng trong các ứng dụng điều khiển.
Tập lệnh cho vi xử lý bao gồm các lệnh tổng quát với kiểu định địa chỉ, cho phép xử lý lượng dữ liệu lớn một cách hiệu quả Trong khi đó, tập lệnh của vi điều khiển chủ yếu tập trung vào các lệnh vào/ra đơn giản và các lệnh xử lý bit, phù hợp với các ứng dụng cụ thể.
Máy tính sử dụng bộ nhớ RAM để nạp và thực thi các chương trình ứng dụng từ thiết bị lưu trữ ngoài như đĩa cứng và ổ Flash, trong khi ROM thường lưu trữ thông tin cấu hình và chương trình cơ bản (BIOS) Điều này giải thích tại sao dung lượng RAM lớn hơn nhiều so với ROM trong máy tính Ngược lại, vi điều khiển chứa chương trình trong ROM vì chúng là chương trình điều khiển ứng dụng không thay đổi, trong khi RAM được dùng để lưu trữ dữ liệu tạm thời như trạng thái chân vào/ra và nội dung biến Do đó, dung lượng ROM trong vi điều khiển thường lớn hơn RAM nhiều lần.
Chúng ta hãy xem xét các bộ phận khác nhau của vi điều khiển (hình 1.1).
Hình 1.1: Cấu trúc Vi điều khiển
CPU (Bộ xử lý trung tâm) là thành phần quan trọng nhất của vi điều khiển, chịu trách nhiệm tìm nạp, giải mã và thực hiện các lệnh từ bộ nhớ chương trình Nó bao gồm các thanh ghi, đơn vị số học và logic (ALU), bộ giải mã lệnh và hệ thống mạch điều khiển, tạo nên một cấu trúc hoàn chỉnh cho việc xử lý dữ liệu.
Bộ nhớ chương trình là nơi lưu trữ tập lệnh của chương trình, và để phục vụ cho các chương trình lớn hơn, một số vi điều khiển phân chia bộ nhớ này thành bộ nhớ bên trong và bên ngoài Các loại bộ nhớ chương trình thường gặp bao gồm ổn định, EEPROM, EPROM, flash, Mask ROM, và loại lập trình một lần OTP (One Time Programmable).
RAM là bộ nhớ dữ liệu của vi điều khiển, cho phép lưu trữ thông tin cần thiết cho CPU CPU sử dụng RAM để lưu trữ các biến và ngăn xếp, trong đó ngăn xếp giúp lưu trữ địa chỉ trở về sau khi hoàn thành chương trình con hoặc lệnh ngắt Nhờ vào RAM, CPU có thể tiếp tục thực hiện chương trình chính một cách hiệu quả.
Bộ tạo dao động là thành phần quan trọng trong bộ vi điều khiển, thực thi chương trình với tốc độ xác định bởi tần số của nó Tần số này có thể được tạo ra từ các mạch dao động RC, bộ dao động đồng bộ với thạch anh, hoặc mạch cộng hưởng LC Ngay khi bộ vi điều khiển được cấp nguồn, bộ tạo dao động sẽ bắt đầu hoạt động, đảm bảo sự hoạt động ổn định của hệ thống.
Mạch khởi động lại và mạch phát hiện sụt điện áp nguồn nuôi thấp đóng vai trò quan trọng trong việc đảm bảo hoạt động ổn định của bộ vi điều khiển Mạch khởi động lại giúp khởi tạo tất cả các linh kiện và mạch điều khiển ở trạng thái ban đầu, đồng thời thiết lập các thanh ghi cần thiết Bộ phát hiện sụt áp nguồn nuôi giám sát điện áp, và khi phát hiện sự sụt áp bất thường, nó sẽ tự động khởi tạo lại bộ vi xử lý Điều này ngăn ngừa việc sai lệch nội dung bộ nhớ và thanh ghi, bảo vệ bộ vi điều khiển khỏi tình trạng hoạt động không chính xác.
Cổng nối tiếp là một bộ phận quan trọng trong vi điều khiển, cho phép truyền thông với thiết bị ngoại vi qua dữ liệu nối tiếp Nó có khả năng hoạt động ở bất kỳ tốc độ truyền nào, nhận byte dữ liệu từ bộ vi điều khiển và chuyển từng bit ra ngoài Ngược lại, cổng nối tiếp cũng nhận từng bit từ bên ngoài, gộp 8 bit thành một byte để gửi đến bộ vi điều khiển Có hai kiểu truyền dữ liệu qua cổng nối tiếp: truyền đồng bộ và không đồng bộ Trong truyền đồng bộ, mỗi bit dữ liệu cần có tín hiệu xung nhịp để đồng bộ, trong khi truyền không đồng bộ không yêu cầu tín hiệu này, mà thông tin đồng bộ được mã hóa trong các khoảng thời gian của các bit dữ liệu và các bit start, bit stop.
Cổng vào ra số là một thành phần quan trọng của bộ vi điều khiển, cho phép trao đổi dữ liệu số với môi trường bên ngoài Khác với cổng nối tiếp, cổng vào/ra số truyền dữ liệu theo từng byte, mang lại hiệu suất cao hơn trong việc xử lý thông tin.
Cổng vào tương tự xử lý tín hiệu qua bộ biến đổi tương tự - số (ADC), cho phép bộ vi điều khiển thực hiện chuyển đổi này thông qua ADC hoặc bộ so sánh tương tự do phần mềm điều khiển Bộ biến đổi ADC nhận dữ liệu từ các thiết bị như cảm biến nhiệt độ và cảm biến áp suất, cung cấp tín hiệu điện áp dưới dạng tương tự.
Bộ định thời là một thành phần quan trọng trong bộ vi điều khiển, giúp quy định thời gian cho các sự kiện như xuất dữ liệu ra màn hình với tần số nhất định Nó không chỉ tạo ra tần số mà còn được sử dụng để đếm các sự kiện xảy ra bên ngoài và bên trong, trong trường hợp này, bộ định thời được gọi là bộ đếm.