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

hướng dẫn lập trình cho vi điều khiển pic

8 1K 8

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 474,72 KB

Nội dung

Trong xu thế phát triển các hệ thống tích hợp với trung tâm là các vi điều khiển cho phép sử dụng phần mềm thay đổi linh hoạt các hoạt động của hệ thống.. Trong các dòng vi điều khiển, c

Trang 1

HƯỚNG DẪN LẬP TRÌNH CHO VI ĐIỀU KHIỂN PIC

Sự phát triển của các công nghệ và kỹ thuật thiết kế chế tạo đã cho ra đời ngày càng nhiều linh kiện điện tử đa năng với giá thành rẽ và có sự ổn định cao Trong xu thế phát triển các hệ thống tích hợp với trung tâm là các vi điều khiển cho phép sử dụng phần mềm thay đổi linh hoạt các hoạt động của hệ thống Trong rất nhiều vi điều khiển hiện tại, với dòng MSC51 đơn giản cho các chương trình điều khiển và giá rẻ, dòng vi điều khiển AVR cho các hệ thống có nhiều ứng dụng phức tạp Trong các dòng vi điều khiển, các vi điều khiển của hãng Mircochip với ký hiệu PIC đã và đang chứng tỏ được các khả năng linh hoạt và sự ổn định cho phép người dùng tạo nên các hệ thống tích hợp phù hợp

I Giới thiệu chung

Vi điều khiển là sự kết hợp của vi xử lý thu gọn với các chức năng vào ra cho mục đích đo lường và điều khiển trên một vi mạch tích hợp Dòng vi điều khiển PIC là sự tích hợp của vi xử lý 8bit và nhiều chức năng kết hợp như: vào ra 8bit×4port, PWM, ADC, thời gian, …

Sơ đồ chức năng của một vi điểu khiển PIC được mình họa như trong (Hình 1) Trong đó cho thấy với một khối xử lý 8bit, vi điều khiển có điểm khác biệt với

vi xử lý là giao tiếp với bên ngoài bằng các giao tiếp hai trạng thái mà không phải là BUS 3 trạng thái như vi xử lý Ngoài ra trong các dòng PIC khác nhau cũng có nhưng thay đổi chức năng khác nhau cho phép người sử dụng lựa cho linh hoạt cho các ứng dụng phù hợp Các chức năng chính của vi điều khiển PIC18F4550 được thể hiện như sau:

- Giao tiếp logic hai trạng thái

- Giao tiếp tín hiệu tương tự: đọc vào tín hiệu tương tự để thực hiện chuyển đổi tín hiệu, hoặc đầu vào các khối so sánh

- Tín hiệu điều khiển lập trình được

- Khối chuyển đội tín hiệu ADC 10bit

- Khối giao tiếp nối tiếp EUSART

- Khối so sánh

- Các khối định thời

- Giao tiếp BUS nối tiếp – USB 2.0

- EEPROM cho mục đích lưu lại trạng thái trước khi ngắt hệ thống

- Khối tạo xung nhịp linh hoạt

- Các khối thanh ghi chức năng cho phép lập trình điều khiển các thành phần của hệ thống một cách đơn giản và thuận lợi nhất

Trang 2

Hình 1: Sơ đồ chi tiết các thành phần của PIC18F4550

A Lập trình cho PIC

Vi điều khiển PIC có thể sử dụng nhiều phần mềm lập trình chuyên dụng với các dạng ngôn ngữ lập trình khác nhau: ASM – hợp ngữ, ngôn ngữ C, ngô ngữ PASCAL,… Mỗi phần mềm và mỗi dạng ngôn ngữ lập trình đều có những thuận lợi

và khó khăn riêng, phù thuộc vào khả năng và sở thích của người dùng để lựa chọn một công cụ phù hợp

Trang 3

Hiện nay có hai phần mềm hỗ trợ lập trình PIC với ngôn ngữ C linh hoạt là CCS và MikroC, và trong tài liệu này hướng dẫn sử dụng ngôn ngữ MikroC để lập trình điều khiển cho PIC18F4550

Bộ phần mềm MikroC có thể tham khảo tại trang web:

http://www.mikroe.com/mikroc/pic/

B Nạp chương trình vào vi mạch

Với dòng vi điều khiển PIC, việc nạp chương trình đã lập sẵn vào vi mạch

được thực hiện qua chuẩn ICSP (In-Circult Serial Programming) thông qua giao

tiếp 5 dường dẫn từ khối mạch nạp đến vi mạch PIC

Hình 2: Giao diện phần mềm WINPIC v3.61

Hiện có nhiều loại mạch nạp được chế tạo cho dòng vi điều khiển PIC, nhưng hiện tại phòng thí nghiệm sử dụng mạch nạp chuẩn của PIC kết hợp với phần mềm WINPIC phiên bản 3.61 trên trang web:

http://www.winpic800.com//index.php?option=com_frontpage&Itemid=1 Quá trình nạp chương trình vào vi mạch được thực hiện như sau

Trang 4

1 Kết nối mạch thực hành với mạch nạp thông qua cáp 5 đường dây

(chú ý đến thứ tự của cáp phù hợp)

2 Khởi động phần mềm WINPIC, sẽ có phần mềm với giao diện như trong (Hình 2)

3 Kiểm tra sự tương thích giữa phần mềm và hệ thống bằng cách dò loại mạch PIC bằng cách kích biểu tượng dò tìm trên thanh công cụ , hoặc bằng Device/Detect Device

4 Tải file chứa chương trình đã biên dịch (file dạng hex) vào phần mềm WINPIC

5 Nạp chương trình vào vi mạch bằng cách kích vào biểu tượng nạp chương trình hoặc bằng menu Device/Program All

6 Ngắt kết nối giữa mạch nạp và mạch thực hành

II Lập trình PIC bằng MikroC

A Các bước khởi tạo project trong MikroC

1 Khởi động phần mềm MikroC

Hình 3: Giao diện phần mềm MikroC

Trang 5

Hình 4: Cửa số New Project

1 Tạo dự án (Project): Chọn Project/New Project, phần

mềm sẽ hiện cửa sổ con như sau (Hình 4)

Sau đó sẽ điền tên dự án

Trỏ đến thư mục chứa dự án (mã nguồn chương trình)

Lựa chọn cấu hình cho vi mạch: loại vi mạch, cấu hình thông số

Sao đó nhấn OK để hoàn thành quá trình tạo lập một Project mới, phần mềm

sẽ tạo nên một file chứa code có cùng tên với tên Project

Lưu file chức mã chương trình ở dạng file *.c Sau đó nạp file vào Project bằng thao tác Project/Add to Project, phần mềm sẽ hiện cửa số con (Hình 5) Từ đó

sẽ trỏ đến file chứa mã nguồn

Hình 5: Cửa sổ nạp file vào project

Trang 6

B Một số ví dụ

1 Điều khiển cổng vào ra

Vào ra với PIC sẽ được thực hiện qua 5 cổng là A, B, C, D và E

Mỗi cổng được truy xuất qua một thanh ghi tương ứng là PORTx, và được xác định hướng bởi TRISx

Với các chân có kết hợp với đầu vào tương tự sẽ có thêm thanh ghi lựa chọn chế độ vào ra số hay tương tự là ANSEL và ANSELH

Các thanh ghi cổng có thể truy xuất trực tiếp các bit theo định nghĩa PORTX.Fn

Chú ý

- Trước khi truy xuất các cổng, phải thiết lập hướng vào ra tương ứng

- Với các chân ở cổng A và B phải thiết lập thanh ghi lựa chọn chế độ vào ra

- Nên định nghĩa trước các bit nếu truy xuất các bit của các cổng một cách độc lập

Chương trình điều khiển vào ra

void main()

{

char data;

ANSELH = 0; //Thiet lap che do cho PORTB

TRISB = 0x0F; //Thiet lap huong cho PORTB

while (1)

{

data = PORTB; //Doc 4bit o PORTB

data = ~data; //Dao bit

data = data*16; //Dich tu 4bit thap len 4bit cao

PORTB = data; //Xuat gia tri

}

}

Trang 7

2 Lập trình thời gian

Thời gian trong PIC rất đa dạng, với ba khối chính là TIMER0 (8bit) và TIMER1, TIMER2 (16bit) với bộ chia đầu vào lập trình được cho phép mềm dẻo trong hoạt động đếm cũng như định khoảng thời gian cho các hệ thống khác nhau

Ngoài các chế độ đếm và định thời thì TIMER trong PIC còn có một số chức năng khác như PWM, WDT, …

Các khối thời gian ở PIC không có cờ tràn độc lập mà được tích hợp luôn vào cờ ngắt (sử dụng nguyên tắc phát ngắt)

Khối TIMER0

Hình 6: Khối timer 0

Chế độ định thời 8bit, lúc này TIMER0 sẽ đếm lên liên tục xung nhịp hệ

thống không qua bộ chia Chế độ này được chọn bằng các đặc bit T0CS =0 (OPTION_REG)

Chế độ đếm 8bit, lúc này TIMER0 sẽ luôn tăng theo sườn trước (hoặc sau)

của chân đầu vào T0CKI Chế độ này được chọn bằng cách thiết lập bit T0CS=1

Lập trình bộ chia cho TIMER0, khối chia xung nhịp đầu vào của TIMER0

ở chế định thời được thiết lập qua thanh ghi OPTION_REG Và thanh ghi này cũng cho phép chuyển đổi giữa hai chế độ TIMER hay WDT

Ngắt TIMER0 sẽ tạo một ngắt khi xảy ra sự tràn khi đếm đến giá trị 0FFh về

giá trị 00h Lúc đó giá trị bit cờ T0IF sẽ được thiết lập lên 1 bất chấp ngắt T0 có được thiết lập hay không (bit T0EN)

Trang 8

Bit cờ tràn T0IF được xác lập 1 trong phần cứng nhưng phải được xóa bởi phần mềm

Chú ý: Có thể không sử dụng ngắt vẫn có thể điều khiển được TIMER0 thông qua việc kiểm tra cờ tràn T0IF và xóa cờ khi xảy ra tràn

Ngày đăng: 22/11/2014, 09:12

HÌNH ẢNH LIÊN QUAN

Hình 1: Sơ đồ chi tiết các thành phần của PIC18F4550 - hướng dẫn lập trình cho vi điều khiển pic
Hình 1 Sơ đồ chi tiết các thành phần của PIC18F4550 (Trang 2)
Hình 2: Giao diện phần mềm WINPIC v3.61 - hướng dẫn lập trình cho vi điều khiển pic
Hình 2 Giao diện phần mềm WINPIC v3.61 (Trang 3)
Hình 3: Giao diện phần mềm MikroC - hướng dẫn lập trình cho vi điều khiển pic
Hình 3 Giao diện phần mềm MikroC (Trang 4)
Hình 4: Cửa số New Project - hướng dẫn lập trình cho vi điều khiển pic
Hình 4 Cửa số New Project (Trang 5)
Hình 5: Cửa sổ nạp file vào project - hướng dẫn lập trình cho vi điều khiển pic
Hình 5 Cửa sổ nạp file vào project (Trang 5)
Hình 6: Khối timer 0 - hướng dẫn lập trình cho vi điều khiển pic
Hình 6 Khối timer 0 (Trang 7)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w