SlideShare a Scribd company logo
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.
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.
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
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
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
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
}
}
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).
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.

More Related Content

Similar to Hướng dẫn lập trình cho vi điều khiển PIC_956719.pdf

Gioi thieu-ve-vi-dieu-khien-pic
Gioi thieu-ve-vi-dieu-khien-picGioi thieu-ve-vi-dieu-khien-pic
Gioi thieu-ve-vi-dieu-khien-picCu Bi
 
Giáo trình plc omron cp1 l 1h [unlockplc.com]
Giáo trình plc omron cp1 l 1h [unlockplc.com]Giáo trình plc omron cp1 l 1h [unlockplc.com]
Giáo trình plc omron cp1 l 1h [unlockplc.com]Nguyễn Hồng Nhân
 
Bai 001 vxl_pic_cautruc
Bai 001 vxl_pic_cautrucBai 001 vxl_pic_cautruc
Bai 001 vxl_pic_cautruc
mster_dang
 
Thiết kế và chế tạo 8 mô hình thực hành môn vi điều khiển sử dụng vi điều khi...
Thiết kế và chế tạo 8 mô hình thực hành môn vi điều khiển sử dụng vi điều khi...Thiết kế và chế tạo 8 mô hình thực hành môn vi điều khiển sử dụng vi điều khi...
Thiết kế và chế tạo 8 mô hình thực hành môn vi điều khiển sử dụng vi điều khi...
Man_Ebook
 
Giới thiệu chung về plc s7 1200
Giới thiệu chung về plc s7 1200Giới thiệu chung về plc s7 1200
Giới thiệu chung về plc s7 1200
Công ty công nghệ tự động hóa Hoàng Gia
 
[123doc] - dieu-khien-lap-trinh-nang-cao-plc.doc
[123doc] - dieu-khien-lap-trinh-nang-cao-plc.doc[123doc] - dieu-khien-lap-trinh-nang-cao-plc.doc
[123doc] - dieu-khien-lap-trinh-nang-cao-plc.doc
ssuser51a27c
 
Thiết kế đồng hồ thời gian thực sử dụng DS1307, hiển thị trên 6 Led 7 thanh v...
Thiết kế đồng hồ thời gian thực sử dụng DS1307, hiển thị trên 6 Led 7 thanh v...Thiết kế đồng hồ thời gian thực sử dụng DS1307, hiển thị trên 6 Led 7 thanh v...
Thiết kế đồng hồ thời gian thực sử dụng DS1307, hiển thị trên 6 Led 7 thanh v...
Thư Viện Số
 
Tài liệu tham khảo lập trình PLC Mitsubishi dòng IQ-R.pdf
Tài liệu tham khảo lập trình PLC Mitsubishi dòng IQ-R.pdfTài liệu tham khảo lập trình PLC Mitsubishi dòng IQ-R.pdf
Tài liệu tham khảo lập trình PLC Mitsubishi dòng IQ-R.pdf
Man_Ebook
 
[123doc] - tai-lieu-chuong-5-thiet-lap-du-an-tren-nen-simatic-pcs7-ppt.pdf
[123doc] - tai-lieu-chuong-5-thiet-lap-du-an-tren-nen-simatic-pcs7-ppt.pdf[123doc] - tai-lieu-chuong-5-thiet-lap-du-an-tren-nen-simatic-pcs7-ppt.pdf
[123doc] - tai-lieu-chuong-5-thiet-lap-du-an-tren-nen-simatic-pcs7-ppt.pdf
ssuser51a27c
 
Đề tài Lập trình C cho họ vi điều khiển 8051
Đề tài Lập trình C cho họ vi điều khiển 8051Đề tài Lập trình C cho họ vi điều khiển 8051
Đề tài Lập trình C cho họ vi điều khiển 8051
Brooklyn Abbott
 
Hệ thu thập dữ liệu điều khiển và truyền số liệu
Hệ thu thập dữ liệu điều khiển và truyền số liệuHệ thu thập dữ liệu điều khiển và truyền số liệu
Hệ thu thập dữ liệu điều khiển và truyền số liệu
antonlethinh
 
Lập trình PLC S7 1200 tiếng Việt-Chuong 1 tổng quan thiết bị
Lập trình PLC S7 1200 tiếng Việt-Chuong 1 tổng quan thiết bịLập trình PLC S7 1200 tiếng Việt-Chuong 1 tổng quan thiết bị
Lập trình PLC S7 1200 tiếng Việt-Chuong 1 tổng quan thiết bị
Xuân Thủy Nguyễn
 
Mitsubishi
MitsubishiMitsubishi
Mitsubishiddungd4
 
PLC mitsubishi
PLC mitsubishiPLC mitsubishi
PLC mitsubishi
quanglocbp
 
BÁO cáo học tập về PLC MITSHUBISHI FX3U.pdf
BÁO cáo học tập về PLC MITSHUBISHI FX3U.pdfBÁO cáo học tập về PLC MITSHUBISHI FX3U.pdf
BÁO cáo học tập về PLC MITSHUBISHI FX3U.pdf
Man_Ebook
 
Tailieu.vncty.com thiet-ke-dong-ho-thoi-gian-thu
Tailieu.vncty.com   thiet-ke-dong-ho-thoi-gian-thuTailieu.vncty.com   thiet-ke-dong-ho-thoi-gian-thu
Tailieu.vncty.com thiet-ke-dong-ho-thoi-gian-thu
Trần Đức Anh
 
Luận văn: Hoàn thành Bài thí nghiệm bình trộn nhiên liệu, HAY
Luận văn: Hoàn thành Bài thí nghiệm bình trộn nhiên liệu, HAYLuận văn: Hoàn thành Bài thí nghiệm bình trộn nhiên liệu, HAY
Luận văn: Hoàn thành Bài thí nghiệm bình trộn nhiên liệu, HAY
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Lập trình PLC S7 1200 tiếng Việt-Chuong 4 khái niệm lập trình
Lập trình PLC S7 1200 tiếng Việt-Chuong 4 khái niệm lập trìnhLập trình PLC S7 1200 tiếng Việt-Chuong 4 khái niệm lập trình
Lập trình PLC S7 1200 tiếng Việt-Chuong 4 khái niệm lập trình
Xuân Thủy Nguyễn
 
Tailieu.vncty.com dong-ho-thoi-gian-thuc-ds1307-pic16 f87
Tailieu.vncty.com   dong-ho-thoi-gian-thuc-ds1307-pic16 f87Tailieu.vncty.com   dong-ho-thoi-gian-thuc-ds1307-pic16 f87
Tailieu.vncty.com dong-ho-thoi-gian-thuc-ds1307-pic16 f87
Trần Đức Anh
 

Similar to Hướng dẫn lập trình cho vi điều khiển PIC_956719.pdf (20)

Gioi thieu-ve-vi-dieu-khien-pic
Gioi thieu-ve-vi-dieu-khien-picGioi thieu-ve-vi-dieu-khien-pic
Gioi thieu-ve-vi-dieu-khien-pic
 
Giáo trình plc omron cp1 l 1h [unlockplc.com]
Giáo trình plc omron cp1 l 1h [unlockplc.com]Giáo trình plc omron cp1 l 1h [unlockplc.com]
Giáo trình plc omron cp1 l 1h [unlockplc.com]
 
Bai 001 vxl_pic_cautruc
Bai 001 vxl_pic_cautrucBai 001 vxl_pic_cautruc
Bai 001 vxl_pic_cautruc
 
Vi dieu khien_pic
Vi dieu khien_picVi dieu khien_pic
Vi dieu khien_pic
 
Thiết kế và chế tạo 8 mô hình thực hành môn vi điều khiển sử dụng vi điều khi...
Thiết kế và chế tạo 8 mô hình thực hành môn vi điều khiển sử dụng vi điều khi...Thiết kế và chế tạo 8 mô hình thực hành môn vi điều khiển sử dụng vi điều khi...
Thiết kế và chế tạo 8 mô hình thực hành môn vi điều khiển sử dụng vi điều khi...
 
Giới thiệu chung về plc s7 1200
Giới thiệu chung về plc s7 1200Giới thiệu chung về plc s7 1200
Giới thiệu chung về plc s7 1200
 
[123doc] - dieu-khien-lap-trinh-nang-cao-plc.doc
[123doc] - dieu-khien-lap-trinh-nang-cao-plc.doc[123doc] - dieu-khien-lap-trinh-nang-cao-plc.doc
[123doc] - dieu-khien-lap-trinh-nang-cao-plc.doc
 
Thiết kế đồng hồ thời gian thực sử dụng DS1307, hiển thị trên 6 Led 7 thanh v...
Thiết kế đồng hồ thời gian thực sử dụng DS1307, hiển thị trên 6 Led 7 thanh v...Thiết kế đồng hồ thời gian thực sử dụng DS1307, hiển thị trên 6 Led 7 thanh v...
Thiết kế đồng hồ thời gian thực sử dụng DS1307, hiển thị trên 6 Led 7 thanh v...
 
Tài liệu tham khảo lập trình PLC Mitsubishi dòng IQ-R.pdf
Tài liệu tham khảo lập trình PLC Mitsubishi dòng IQ-R.pdfTài liệu tham khảo lập trình PLC Mitsubishi dòng IQ-R.pdf
Tài liệu tham khảo lập trình PLC Mitsubishi dòng IQ-R.pdf
 
[123doc] - tai-lieu-chuong-5-thiet-lap-du-an-tren-nen-simatic-pcs7-ppt.pdf
[123doc] - tai-lieu-chuong-5-thiet-lap-du-an-tren-nen-simatic-pcs7-ppt.pdf[123doc] - tai-lieu-chuong-5-thiet-lap-du-an-tren-nen-simatic-pcs7-ppt.pdf
[123doc] - tai-lieu-chuong-5-thiet-lap-du-an-tren-nen-simatic-pcs7-ppt.pdf
 
Đề tài Lập trình C cho họ vi điều khiển 8051
Đề tài Lập trình C cho họ vi điều khiển 8051Đề tài Lập trình C cho họ vi điều khiển 8051
Đề tài Lập trình C cho họ vi điều khiển 8051
 
Hệ thu thập dữ liệu điều khiển và truyền số liệu
Hệ thu thập dữ liệu điều khiển và truyền số liệuHệ thu thập dữ liệu điều khiển và truyền số liệu
Hệ thu thập dữ liệu điều khiển và truyền số liệu
 
Lập trình PLC S7 1200 tiếng Việt-Chuong 1 tổng quan thiết bị
Lập trình PLC S7 1200 tiếng Việt-Chuong 1 tổng quan thiết bịLập trình PLC S7 1200 tiếng Việt-Chuong 1 tổng quan thiết bị
Lập trình PLC S7 1200 tiếng Việt-Chuong 1 tổng quan thiết bị
 
Mitsubishi
MitsubishiMitsubishi
Mitsubishi
 
PLC mitsubishi
PLC mitsubishiPLC mitsubishi
PLC mitsubishi
 
BÁO cáo học tập về PLC MITSHUBISHI FX3U.pdf
BÁO cáo học tập về PLC MITSHUBISHI FX3U.pdfBÁO cáo học tập về PLC MITSHUBISHI FX3U.pdf
BÁO cáo học tập về PLC MITSHUBISHI FX3U.pdf
 
Tailieu.vncty.com thiet-ke-dong-ho-thoi-gian-thu
Tailieu.vncty.com   thiet-ke-dong-ho-thoi-gian-thuTailieu.vncty.com   thiet-ke-dong-ho-thoi-gian-thu
Tailieu.vncty.com thiet-ke-dong-ho-thoi-gian-thu
 
Luận văn: Hoàn thành Bài thí nghiệm bình trộn nhiên liệu, HAY
Luận văn: Hoàn thành Bài thí nghiệm bình trộn nhiên liệu, HAYLuận văn: Hoàn thành Bài thí nghiệm bình trộn nhiên liệu, HAY
Luận văn: Hoàn thành Bài thí nghiệm bình trộn nhiên liệu, HAY
 
Lập trình PLC S7 1200 tiếng Việt-Chuong 4 khái niệm lập trình
Lập trình PLC S7 1200 tiếng Việt-Chuong 4 khái niệm lập trìnhLập trình PLC S7 1200 tiếng Việt-Chuong 4 khái niệm lập trình
Lập trình PLC S7 1200 tiếng Việt-Chuong 4 khái niệm lập trình
 
Tailieu.vncty.com dong-ho-thoi-gian-thuc-ds1307-pic16 f87
Tailieu.vncty.com   dong-ho-thoi-gian-thuc-ds1307-pic16 f87Tailieu.vncty.com   dong-ho-thoi-gian-thuc-ds1307-pic16 f87
Tailieu.vncty.com dong-ho-thoi-gian-thuc-ds1307-pic16 f87
 

Recently uploaded

Ngân hàng điện tử số ptit - giảng viên cô Hà
Ngân hàng điện tử số ptit - giảng viên cô HàNgân hàng điện tử số ptit - giảng viên cô Hà
Ngân hàng điện tử số ptit - giảng viên cô Hà
onLongV
 
Chương 3 Linh kien ban dan và KD dien tu - Copy.ppt
Chương 3 Linh kien ban dan và KD dien tu - Copy.pptChương 3 Linh kien ban dan và KD dien tu - Copy.ppt
Chương 3 Linh kien ban dan và KD dien tu - Copy.ppt
PhiTrnHngRui
 
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
ngocnguyensp1
 
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
Nguyen Thanh Tu Collection
 
HỆ THỐNG 432 CÂU HỎI TRẮC NGHIỆM MÔN TTHCM.docx
HỆ THỐNG 432 CÂU HỎI TRẮC NGHIỆM MÔN TTHCM.docxHỆ THỐNG 432 CÂU HỎI TRẮC NGHIỆM MÔN TTHCM.docx
HỆ THỐNG 432 CÂU HỎI TRẮC NGHIỆM MÔN TTHCM.docx
giangnguyen312210254
 
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nayẢnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
chinhkt50
 
ÔN-TẬP-CHƯƠNG1 Lịch sử đảng Việt Nam chủ đề 2
ÔN-TẬP-CHƯƠNG1 Lịch sử đảng Việt Nam chủ đề 2ÔN-TẬP-CHƯƠNG1 Lịch sử đảng Việt Nam chủ đề 2
ÔN-TẬP-CHƯƠNG1 Lịch sử đảng Việt Nam chủ đề 2
nhanviet247
 
PowerPoint Đuổi hình bắt chữ. hay vui có thưognrpptx
PowerPoint Đuổi hình bắt chữ. hay vui có thưognrpptxPowerPoint Đuổi hình bắt chữ. hay vui có thưognrpptx
PowerPoint Đuổi hình bắt chữ. hay vui có thưognrpptx
PhuongMai559533
 
Sinh-12-Chuyên-2022-2023.dành cho ôn thi hsg
Sinh-12-Chuyên-2022-2023.dành cho ôn thi hsgSinh-12-Chuyên-2022-2023.dành cho ôn thi hsg
Sinh-12-Chuyên-2022-2023.dành cho ôn thi hsg
vivan030207
 
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptxDẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
nvlinhchi1612
 
chương 4 vĩ mô.pdf file bài học bộ môn kinh tế
chương 4 vĩ mô.pdf file bài học bộ môn kinh tếchương 4 vĩ mô.pdf file bài học bộ môn kinh tế
chương 4 vĩ mô.pdf file bài học bộ môn kinh tế
Qucbo964093
 
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
duykhoacao
 
Chuong 2 Ngu am hoc - Dẫn luận ngôn ngữ - FTU
Chuong 2 Ngu am hoc - Dẫn luận ngôn ngữ - FTUChuong 2 Ngu am hoc - Dẫn luận ngôn ngữ - FTU
Chuong 2 Ngu am hoc - Dẫn luận ngôn ngữ - FTU
nvlinhchi1612
 

Recently uploaded (13)

Ngân hàng điện tử số ptit - giảng viên cô Hà
Ngân hàng điện tử số ptit - giảng viên cô HàNgân hàng điện tử số ptit - giảng viên cô Hà
Ngân hàng điện tử số ptit - giảng viên cô Hà
 
Chương 3 Linh kien ban dan và KD dien tu - Copy.ppt
Chương 3 Linh kien ban dan và KD dien tu - Copy.pptChương 3 Linh kien ban dan và KD dien tu - Copy.ppt
Chương 3 Linh kien ban dan và KD dien tu - Copy.ppt
 
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
 
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
 
HỆ THỐNG 432 CÂU HỎI TRẮC NGHIỆM MÔN TTHCM.docx
HỆ THỐNG 432 CÂU HỎI TRẮC NGHIỆM MÔN TTHCM.docxHỆ THỐNG 432 CÂU HỎI TRẮC NGHIỆM MÔN TTHCM.docx
HỆ THỐNG 432 CÂU HỎI TRẮC NGHIỆM MÔN TTHCM.docx
 
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nayẢnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
 
ÔN-TẬP-CHƯƠNG1 Lịch sử đảng Việt Nam chủ đề 2
ÔN-TẬP-CHƯƠNG1 Lịch sử đảng Việt Nam chủ đề 2ÔN-TẬP-CHƯƠNG1 Lịch sử đảng Việt Nam chủ đề 2
ÔN-TẬP-CHƯƠNG1 Lịch sử đảng Việt Nam chủ đề 2
 
PowerPoint Đuổi hình bắt chữ. hay vui có thưognrpptx
PowerPoint Đuổi hình bắt chữ. hay vui có thưognrpptxPowerPoint Đuổi hình bắt chữ. hay vui có thưognrpptx
PowerPoint Đuổi hình bắt chữ. hay vui có thưognrpptx
 
Sinh-12-Chuyên-2022-2023.dành cho ôn thi hsg
Sinh-12-Chuyên-2022-2023.dành cho ôn thi hsgSinh-12-Chuyên-2022-2023.dành cho ôn thi hsg
Sinh-12-Chuyên-2022-2023.dành cho ôn thi hsg
 
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptxDẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
 
chương 4 vĩ mô.pdf file bài học bộ môn kinh tế
chương 4 vĩ mô.pdf file bài học bộ môn kinh tếchương 4 vĩ mô.pdf file bài học bộ môn kinh tế
chương 4 vĩ mô.pdf file bài học bộ môn kinh tế
 
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
 
Chuong 2 Ngu am hoc - Dẫn luận ngôn ngữ - FTU
Chuong 2 Ngu am hoc - Dẫn luận ngôn ngữ - FTUChuong 2 Ngu am hoc - Dẫn luận ngôn ngữ - FTU
Chuong 2 Ngu am hoc - Dẫn luận ngôn ngữ - FTU
 

Hướng dẫn lập trình cho vi điều khiển PIC_956719.pdf

  • 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.
  • 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.
  • 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
  • 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
  • 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
  • 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 } }
  • 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).
  • 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.