You are on page 1of 8

Chương 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC

1.1. Tổng quan về vi điều khiển PIC


Vi xử lý (Microprocessor) được viết đầy đủ là Central Processing Unit – CPU là một vi
mạch tích hợp thực hiện chức năng tính toán số học. Cấu trúc bao gồm bộ tính toán số học
ALU và các thanh ghi chức năng, thanh ghi nháp và con trỏ chương trình.
Vi điều khiển (Microcontroller) là vi xử lý được tích hợp thêm các thiết bị khác như: RAM,
ROM, ADC, Input/Output, Timer,... như một máy tính hoàn chỉnh cỡ nhỏ.

Trong một hệ thống vi điều khiển cần và quan trọng nhất là phải có bộ tính toán số học đó là
CPU hay vi xử lý. Mặc dù bộ vi xử lý có sức mạnh về tính toán, nhưng nó không thể hoạt động
được nếu không có các liên kết bus truyền thông và các ngoại vi
Đơn giản như ví dụ của một máy tính cần có CPU và các thành phần khác như: ổ cứng,
RAM, ROM, Chipset, card âm thanh, card đồ họa, cổng COM, USB,…Nếu không có các
thành phần đó thì máy tính không thể hoạt động được. Vì vậy vi điều khiển được sản xuất vì
mục đích cần tích hợp các thành phần khác với CPU thành một khối
Tuy nhiên tùy vào mục đích sử dụng mà máy tính được thiết kế như cấu trúc vi điều khiển
hay cấu trúc như một máy tính. Nếu thiết kế rời rạc CPU, RAM, ROM, ổ cứng,… sau đó ghép
lại thành một hệ thống như máy tính sẽ có ưu điểm về công nghệ như: dễ dàng thay thế, nâng
cấp nếu cần, tản nhiệt tốt do mỗi thiết bị được thiết kế riêng lẻ, sức mạnh được tăng lên về tốc
độ, dung lượng. Dạng này được sử dụng trong các tính toán phức tạp, đòi hỏi về tốc độ cao
(hàng trăm MHz trở lên), dùng trong các hệ điều hành, máy tính công nghiệp,… Còn nếu tích
hợp tất các đơn vị trên thành một khối vi điều khiển, tuy tốc độ không bằng nhưng bù lại giá
thành rẻ, nhỏ gọn, ứng dụng để thu thập tín hiệu và điều khiển các cơ cấu chấp hành mà không
yêu cầu tính toán quá phức tạp, nó cũng thường xuất hiện trong các hệ thống nhúng, các thiết
bị điện điện tử mà người dùng có thể tích hợp hệ thống và chương trình lập trình dễ dàng.
PIC là một họ vi điều khiển theo lối kiến trúc RISC (chạy một lệnh với 1 chu kỳ máy – gồm
4 chu kỳ dao động) được sản xuất bởi công ty Microchip Technology, là viết tắt của
“Programmable Intelligent Computer”. Thế hệ PIC đầu tiên là PIC1650 được phát triển bởi
General Instrument được dùng để giao tiếp với các thiết bị ngoại vi cho vi xử lý 16 bit
CP1600. Vì vậy người ta cũng gọi PIC với cái tên “Peripheral Interface Controller”- bộ điều
khiển giao tiếp ngoại vi.
Vào khoảng năm 1975 PIC 8 bit được sản xuất thay cho PIC1650 còn nhiều hạn chế giao
tiếp ngoại vi.
Năm 1985 General Instrument bán công nghệ cho Microchip Technology. Từ đó PIC được
bổ sung thêm bộ nhớ EEPROM và flash ROM.
Ngày nay rất nhiều dòng PIC 8 bit, PIC 16 bit, PIC 32 bit ra đời với hàng loạt các modun
tích hợp sẵn (như UART, ADC, PWM,…) với nhiều cỡ bộ nhớ khác nhau từ 512 Word đến
128 kWord.
1.2. Các đặc tính của vi điều khiển PIC16F887
Hiện nay có rất nhiều dòng PIC khác nhau về cấu trúc phần cứng và tính năng hổ trợ. Trong
giới hạn chương trình PIC cấp trung, cụ thể là PIC16F887, chỉ nêu các đặc tính hổ trợ cơ bản:
- Kiến trúc CPU kiểu RISC cải tiến
+ Tập lệnh chỉ gồm 35 lệnh, đa số các lệnh có thời gian xử lý trong 1 chu kỳ máy (4 chu
kỳ xung nhịp)
+ Tốc độ xung nhịp (dao động) tối đa 20MHz (Chu kỳ máy 200ns)
+ Có hổ trợ ngắt
- Các tính năng đặc biệt
+ Cho phép chọn lựa các loại dao động có tần số xung nhịp từ 31kHz đến 20MHz
+ Giải điện áp hoạt động rộng 2.0V đến 5.5V
+ Reset khởi động nguồn (POR – Power on Reset), PWRT, BOR, WDT,…
+ Cho phép bảo vệ chống ghi, đọc các bộ nhớ
+ Bộ nhớ chương trình flash 8kWord có khả năng 100000 lần ghi
+ Bộ nhớ EEPROM 256byte có khả năng 1000000 lần ghi/đọc
+ Bộ nhớ Flash và EEPROM cho phép lưu giữ trên 40 năm
+ 368byte RAM
+ Cho phép đọc, ghi, gỡ rối lúc chạy
- Tính năng công suất thấp
+ Chế độ nghỉ dòng 50nA điện áp 2.0V
+ Hoạt động chế độ bình thường 11uA ở 31kHz và 220uA ở 4MHz, điện áp 2.0V
+ Chế độ WDT 1uA, 2.0V
- Các tính năng ngoại vi
+ 35 chân ngõ vào/ra theo cấu trúc kiểu kéo đẩy cho dòng đến 25mA
+ Chức năng tương tự: bộ chuyển đổi ADC 10 bit 14 kênh, bộ so sánh điện áp, điện áp
lập trình tham chiếu cố định, chốt SR
+ Có 2 Timer 8 bit và 1 Timer 16 bit
+ Chức năng PWM, capture, so sánh dựa trên Timer
+ Chức năng USART, I2C, SPI, nạp chương trình nối tiếp ICSP
1.3. Sơ đồ khối PIC16F887

1.4. Sơ đồ chân và chức năng các chân PIC16F887


1.4.1. Sơ đồ chân
1.4.2. Chức năng các chân của PIC16F887
1.5. Tổ chức bộ nhớ
Các loại bộ nhớ trong PIC16f887:
- Bộ nhớ Flash ROM 8Kword (8192Word) dùng để lưu chương trình thực thi thông qua
chuẩn nạp nối tiếp ICSP. Bộ nhớ này không mất đi khi mất điện
- Bộ nhớ EEPROM 256 byte có thể được ghi và đọc tùy theo yêu cầu người dùng. Bộ nhớ
này không mất đi khi mất điện
- Bộ nhớ RAM 368 byte bao gồm các thanh ghi đặc biệt và các thanh ghi mục đích chung
để lưu trữ các biến trong quá trình biên dịch. Bộ nhớ này có thể mất đi khi mất điện

PIC16F887 có bộ đếm chương trình 13 bit phân bổ trên 2K x 14 (từ 0000h đến 07FFh) và
không gian bộ nhớ chương trình 8K x 14 (từ 0000h đến 1FFFh)
Vector khởi động ở 0000h và vector ngắt ở 0004h
Fig: Sơ đồ bộ nhớ chương trình, con trỏ stack và bộ đếm chương trình PC
1.6 Bài tập:
Tìm tài liệu và nêu các đặc tính của các dòng vi điều khiển: AT89S52, Atmega8, Atmega32,
PIC12F675, PIC18F2250, DsPIC30F4011, PIC32MX1XX/2XX và so sánh các đặc tính của
các loại vi điều khiển đó với PIC16F887

You might also like