Đồ án Thiết kế và thi công mạch hẹn giờ đa năng có thể cấu hình qua cổng USB

Nội dung của đềtài trong gia đoạn thực tập dừng lại ởmức độtìm hiểu và thi công mạch mô phỏng. Chi tiết của các yêu cầu được đưa ra theo thứtựlần lựoc nhưsau: tìm hiểu tồng quan vềvi điều khiển PIC, tìm hiểu các phần mền có thểlập trình cho vi điều khiển PIC bằng ngôn ngữC và lựa chọn một phần mền thích hợp nhất, tìm hiểu giao tiếp vi điều khiển PIC với máy tính thông qua cổng USB. Thiết kếmạch và viết chương trình có thểtruyền nhận dữliệu với máy tính qua cổng USB. Các yêu cầu trên sẽ được giải quyết tuần tựthông qua 4 phần, mỗi phần được phân ra làm nhiều mục nhỏ. Phần 1 sẽ trình bày một cách tổng quan vềvi điều khiển PIC. Tuy nhiên trọng tâm chính của phần này là so sánh giữa các trình biên dịch cho dạng ngôn ngữdùng cho vi điều khiển PIC. Dựa trên sựso sánh trên chúng ta sẽquyết định sửdụng loại trình biên dịch nào được sử dụng cho viết thiết kếmạch demo sửdụng giao tiếp USB sẽ được trình bày trong phần 4. Trong phần 2 sẽtrình bày khái quát vềchuẩn giao tiếp USB. Đây cũng chính là phần cốt lõi của toàn bộbản báo cáo. Phần 2 được chia làm tám mục nhỏ được đánh sốthứtựtheo hệthống sốla mã. Mục đầu tiên trình bày ngắn gọn vềlịch sửhình thành và phát triển của chuẩn giao tiếp USB. Mục số2 sẽ đềcập đến các thành phần cấu thành chuẩn giao tiếp, phần này giúp ta làm quen với một sốthuật ngữthường dùng.Sau khi được làm quen với các thuật ngữ,chúng ta sẽchuyển sang mục 3 với các thông tin vềcác thành phần chính tham gia trực tiếp quá trình vận chuyển. Sang mục số4 sẽ đem đến cho chúng ta những chi tiết vềcác loại kiểu truyền nhận. Trong mỗi kiểu truyền sẽnhắc đến các đặc tính của từng kiểu truyền nhưlà tính sẵn sàng của thiết bị, cấu trúc kiểu truyền, kích thước lớn nhất của từng gói dữliệu cũng nhưtốc độcủa mỗi kiểu truyền. Mỗi thông tin vềmột kiểu truyền sẽ được nhắc lại nhiều trong ởphía sau. Tiếp theo chúng ta sẽ được tìm hiểu thêm vềcơchếhoạt động của giao tiếp thông qua sự điểm danh, đây là hoạt động cơbản và quan trọng nhất trong quá trình truyền nhận dữliệu giữa thiết bịvà máy tính .Trong mục 5 này sẽtrình bày từng bước của quá trình điểm danh. Các mục còn lại trình bày một phần của quá trình giao tiếp diễn ra trên host, các mục này bao gồm giao tiếp trên host và host lựa chọn driver. Riêng mục 7 sẽ đềcập đến driver thiết bị. Phần 3 của báo cáo mô tảviệc thi công mạch demo giao tiếp USB, các bản mô tảmạch luận lý của mạch được thểhiện qua các hình trong Orcad capture cis, phần này cũng bao gồm luôn đoạn code firmware cho vi điều khiển. Phần cuối cùng của bản báo cáo sẽgiới thiệu một sốhàm cơbản trong viết ứng dụng giao tiếp với thiết bị.

pdf53 trang | Chia sẻ: ngtr9097 | Lượt xem: 2395 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Đồ án Thiết kế và thi công mạch hẹn giờ đa năng có thể cấu hình qua cổng USB, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH BÁO CÁO ĐỒ ÁN TIN HỌC Đề tài : Thiết kế và thi công mạch hẹn giờ đa năng có thể cấu hình qua cổng USB GVHD : Bùi Văn Hiếu SV : Trần Quốc Gia Phú MSSV:50404428 Trần Hạ Long MSSV:50401405 TP. HỒ CHÍ MINH, 6/2008 Phần 1: Tổng quan về vi điều khiển PIC và so sánh các trình biên dịch C cho PIC SV:Trần Quốc Gia Phú, Trần Hạ Long - 1 Giới Thiệu. Nội dung của đề tài trong gia đoạn thực tập dừng lại ở mức độ tìm hiểu và thi công mạch mô phỏng. Chi tiết của các yêu cầu được đưa ra theo thứ tự lần lựoc như sau: tìm hiểu tồng quan về vi điều khiển PIC, tìm hiểu các phần mền có thể lập trình cho vi điều khiển PIC bằng ngôn ngữ C và lựa chọn một phần mền thích hợp nhất, tìm hiểu giao tiếp vi điều khiển PIC với máy tính thông qua cổng USB. Thiết kế mạch và viết chương trình có thể truyền nhận dữ liệu với máy tính qua cổng USB. Các yêu cầu trên sẽ được giải quyết tuần tự thông qua 4 phần, mỗi phần được phân ra làm nhiều mục nhỏ. Phần 1 sẽ trình bày một cách tổng quan về vi điều khiển PIC. Tuy nhiên trọng tâm chính của phần này là so sánh giữa các trình biên dịch cho dạng ngôn ngữ dùng cho vi điều khiển PIC. Dựa trên sự so sánh trên chúng ta sẽ quyết định sử dụng loại trình biên dịch nào được sử dụng cho viết thiết kế mạch demo sử dụng giao tiếp USB sẽ được trình bày trong phần 4. Trong phần 2 sẽ trình bày khái quát về chuẩn giao tiếp USB. Đây cũng chính là phần cốt lõi của toàn bộ bản báo cáo. Phần 2 được chia làm tám mục nhỏ được đánh số thứ tự theo hệ thống số la mã. Mục đầu tiên trình bày ngắn gọn về lịch sử hình thành và phát triển của chuẩn giao tiếp USB. Mục số 2 sẽ đề cập đến các thành phần cấu thành chuẩn giao tiếp, phần này giúp ta làm quen với một số thuật ngữ thường dùng.Sau khi được làm quen với các thuật ngữ,chúng ta sẽ chuyển sang mục 3 với các thông tin về các thành phần chính tham gia trực tiếp quá trình vận chuyển. Sang mục số 4 sẽ đem đến cho chúng ta những chi tiết về các loại kiểu truyền nhận. Trong mỗi kiểu truyền sẽ nhắc đến các đặc tính của từng kiểu truyền như là tính sẵn sàng của thiết bị, cấu trúc kiểu truyền, kích thước lớn nhất của từng gói dữ liệu cũng như tốc độ của mỗi kiểu truyền. Mỗi thông tin về một kiểu truyền sẽ được nhắc lại nhiều trong ở phía sau. Tiếp theo chúng ta sẽ được tìm hiểu thêm về cơ chế hoạt động của giao tiếp thông qua sự điểm danh, đây là hoạt động cơ bản và quan trọng nhất trong quá trình truyền nhận dữ liệu giữa thiết bị và máy tính .Trong mục 5 này sẽ trình bày từng bước của quá trình điểm danh. Các mục còn lại trình bày một phần của quá trình giao tiếp diễn ra trên host, các mục này bao gồm giao tiếp trên host và host lựa chọn driver. Riêng mục 7 sẽ đề cập đến driver thiết bị. Phần 3 của báo cáo mô tả việc thi công mạch demo giao tiếp USB, các bản mô tả mạch luận lý của mạch được thể hiện qua các hình trong Orcad capture cis, phần này cũng bao gồm luôn đoạn code firmware cho vi điều khiển. Phần cuối cùng của bản báo cáo sẽ giới thiệu một số hàm cơ bản trong viết ứng dụng giao tiếp với thiết bị. Phần 1: Tổng quan về vi điều khiển PIC và so sánh các trình biên dịch C cho PIC SV:Trần Quốc Gia Phú, Trần Hạ Long - 2 MỤC LỤC Phần 1: Tổng quan về PIC và các trình biên dịch C cho PIC ............................................. 5 I) TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC .................................................................. 5 II) Phần đánh giá trên forum của CCS:............................................................................ 8 III) Phần đánh giá trên forum của microchip: ................................................................. 13 IV) Quyết định loại trình biên dịch: ................................................................................ 13 Phần 2:Giao tiếp USB....................................................................................................... 15 I) Sự ra đời của chuẩn USB:......................................................................................... 15 II) Các cấu thành giao tiếp USB: ................................................................................... 15 III) Các thành phần tham gia vận chuyển: ...................................................................... 17 IV) Các kiểu truyền(tranfer):........................................................................................... 18 V) Sự điểm danh: ........................................................................................................... 28 VI) Giao tiếp từ Host:...................................................................................................... 33 VII) Giao tiếp trên host:.................................................................................................... 34 VIII) Host lựa chọn driver ................................................................................................ 35 Phần 3:Thiết kế mạch giao tiếp USB thuộc lớp HID........................................................ 37 I) Mục tiêu: ................................................................................................................... 37 II) Thi công mạch: ......................................................................................................... 37 III) Viết firmware:........................................................................................................... 39 Phần 4:Viết ứng dụng giao tiếp chuẩn USB trên host ...................................................... 48 I) Giới thiệu chung về lập trình ứng dụng trên host : ................................................... 48 II) Các quy trình để nhận biết một thiết bị usb : ............................................................ 48 III) Các hàm Read và Write : .......................................................................................... 51 Phần 1: Tổng quan về vi điều khiển PIC và so sánh các trình biên dịch C cho PIC SV:Trần Quốc Gia Phú, Trần Hạ Long - 3 Mục lục hình Hình 1:Sơ đồ chân. ............................................................................................................. 8 Hình 2:Kiến trúc hình sao phân tầng USB........................................................................ 17 Hình 3:Các giao dịch trong truyền điều khiển read. ......................................................... 21 Hình 4: Các giao dịch trong truyền điều khiển write........................................................ 22 Hình 5: Giao dịch IN và OUT của hai kiểu truyền bulk và ngắt. ..................................... 24 Hình 6: Giao dịch đồng bộ IN và OUT............................................................................. 27 Hình 7 :Module kết nối USB và điều khiển trong Orcard capture cis. ............................ 38 Hình 8: Module hiển thị. ................................................................................................... 39 Hình 9: sơ đồ giao tiếp từ chương trình ứng dên driver. ................................................. 48 Phần 1: Tổng quan về vi điều khiển PIC và so sánh các trình biên dịch C cho PIC SV:Trần Quốc Gia Phú, Trần Hạ Long - 4 Mục lục bảng báng1:Những đặc tính thiết bị............................................................................................. 7 Bảng2:Bảng so sánh các trình soạn thảo code cho vi điều khiển PIC. ............................. 13 Bảng3: mô tả các dây trong cáp truyền............................................................................. 15 Bảng4:so sánh tốc độ các kiểu truyền............................................................................... 20 Phần 1: Tổng quan về vi điều khiển PIC và so sánh các trình biên dịch C cho PIC SV:Trần Quốc Gia Phú, Trần Hạ Long - 5 Phần 1: Tổng quan về PIC và các trình biên dịch C cho PIC I)Tổng quan về vi điều khiển PIC: 1.Những tính năng lõi mới: a)Công nghệ nanowatt : - Tất cả các thiết bị chip trong họ PIC18F2455/2550/4455/4550 đều có đặc trưng chung là giảm bớt năng lượng tiêu thụ đáng kể trong suốt quá trình hoạt động của chip. Gồm có các chế độ sau : -Alternate run Modes ( Chế độ chạy luân phiên ) : xung clock được điều khiển từ bộ tạo xung Timer1 hoặc từ khối tạo dao động nội, trong suốt quá trình thực thi đoạn mã năng lượng tiêu hao có thể chỉ bằng 90% so với những chip khác . -Multiple Idle Modes (Chế độ chạy đa nhàn rỗi) : Mạch điều khiển có thế chạy với việc nhân của CPU bị vô hiệu hóa .Nhưng các thiết bị ngoại vi vẫn còn hoạt động.Trong trang thái này , mức tiêu thụ năng lượng có thể được giảm không nhiều , ít hơn 4% so với nhu cầu của sự hoạt động thông thường. -On-the-fly Mode Switching : Chế độ quản lý năng lượng này được điều khiển bởi mã của user trong suốt quá trình hoạt động .Ở chế độ này cho phép user thể hiện ý tưởng tổ chức tiết kiệm năng lượng trong thiết kế phần mềm . -Low consumption in Key : Nhu cầu năng lượng cho cả Timer1 và Watchdog Timer đã được giảm đến mức tối thiểu . b)Universal Serial Bus (USB) : - Thiết bị trong họ PIC18F2455/2550/4455/4550 tích hợp một module giao tiếp USB tương ứng với USB Specification Revision 2.0 . - Module này hỗ trợ cả hai sự kết nối low-speed(1.5 Mb/s) và full-speed ( 12 Mb/s) cho tất cả các kiểu chuyển đổi dữ liệu được hỗ trợ. - PIC18F4550 cũng tích hợp transceiver(máy thu) và regulator(máy điều chỉnh) 3.3V riêng , đồng thời hỗ trợ việc sử dụng những transceiver bên ngoài và regulator điện áp khác. c)Multiple Oscillator Options And Features (Đa tuỳ chọn bộ tạo dao động và những tính năng ) : Tất cả các thiết bị trong họ PIC18F2455/2550/4455/4550 cung cấp 12 sự chọn lựa khác nhau bộ phận tạo dao động.Cho phép user có phạm vi lựa chọn lớn hơn trong việc phát triển ứng dụng phần cứng.Bao gồm : a. Bốn chế độ Crystal : dùng thạch anh hay bộ tạo dao động bằng gốm b. Bốn chế độ xung clock ngọai : cho phép tuỳ chọn sử dụng 2 chân ( chân nhận dao động ngoại vào và chân đưa ra xung clock đã được chia 4 ra) hoặc sử dụng 1 chân (chân nhận dao động ngoại vào , chân còn lại được dùng như cổng I/O chung ) Phần 1: Tổng quan về vi điều khiển PIC và so sánh các trình biên dịch C cho PIC SV:Trần Quốc Gia Phú, Trần Hạ Long - 6 c. Khối thiết bị tạo dao động nội :cung cấp clock 8 MHz (độ sai lệch 2%) , một nguồn INTRC(xấp xỉ 31kHz,ổn định qua nhiệt độ và nguồn VDD) , một dải 6 sự lựa chọn tần số clock từ 125kHz đến 4MHz, vậy là có tổng cộng 8 tần số dao động để người dùng lựa chọn . Tuỳ chọn này còn cho phép giải phóng 1 chân bộ tạo dao động để sử dụng như cổng I/O chung. d. Chế độ đa tần số của bộ tạo xung clock PLL : sẵn có cho cả chế độ high_speed crystal và chế độ tạo dao đông ngoại , cho phép một dải ộ xung clock từ 4MHz đến 48MHz. e. Hoạt động xung clock bất đồng bộ : cho phép module USB chạy với xung clock tạo ra bởi bộ dao động tần số cao trong khi phần còn lại của thiết bị vi điều khiển hoạt dộng với xung clock tạo ra bởi bộ tạo dao động low-power nội . f. Bên cạnh tính sẵn sàng như một nguồn tạo dao động , khối tạo dao động nội còn cung cấp một nguồn tham khảo ổn định tạo ra những tính năng bổ sung cho chip ,giúp thao tác được linh hoạt: - Fail-safe Clock Monitor : liên tục theo dõi nguồn tạo dao động chính , dự phòng một tín hiệu tần số do bộ tạo dao động nội cung cấp . Nếu xuất hiện clock hoạt động không như mong muốn , bộ điều khiển được chuyển tới khối tạo dao động bên trong hay một chế độ kết thúc an toàn. -Two-Speed Start-up : cho phép dùng bộ tạo dao động nội như nguồn tạo clock trong Power-on Reset , hay wake-up from sleep , cho đến khi nguồn tạo clock chính sẵn sàng. 2.Những tính năng đặc biệt khác: a)Memory Endurance(Sự kéo dài bộ nhớ): Sự gia tăng flash cell cho cả bộ nhớ chương trình và bộ nhớ dữ liệu EEPROM ước tính có thể thực hiện việc xoá/ghi lên đến 100 ngàn lần cho bộ nhớ chương trình , 1 triệu lần cho EEPROM . Dữ liệu có thể được đảm bảo lưu trữ trong hơn 40 năm . b)Sefl-Programmability : Khả năng tự lập trình , bằng cách sử dụng bootloader routine (được xác định trong khối protected Boot ở đầu bộ nhớ chương trình) c)Extened Instruction Set (Mở rộng tập lệnh) : Thêm vào 8 lệnh mới và mode đánh địa chỉ Offset bằng kí tự đánh chỉ số d)Enhanced CCP Module (Tăng cường module CCP): -Trong mode PWM module này cung cấp 1,2 hay 4 chân output (được điều chế) để điều khiển việc chạy half-bridge và full-bridge . -Những tính năng khác : tự động shutdown để vô hiệu hoá PWM output trong ngắt hay trường hợp có lựa chọn điều kiện ; tự động restart để kích hoạt lại output khi điều kiện đã bị xoá . e)Enhanced Addressable USART : Phần 1: Tổng quan về vi điều khiển PIC và so sánh các trình biên dịch C cho PIC SV:Trần Quốc Gia Phú, Trần Hạ Long - 7 Automatic Baud Rate Detection và Baud Rate Generator 16-bit để tăng dộ phân giải . Khi vi điều khiển dùng khối tạo dao động nội , EUSART cung cấp chế độ ổn định cho những ứng dụng giao tiếp với bên ngoài mà không cần đến nguồn crystal ngoại (hay nguồn năng lượng hỗ trợ). f)10-bit A/D Converter (Bộ biến đổi ADC 10-bit): Module này hợp nhất thời gian thu nhận chương trình , khi 1 kênh truyền được chọn lựa và một quá trình chuyển đổi xảy ra , không cần chờ thời gian làm mẫu và như vậy giảm bớt code overhead . g)Dedicated ICD/ICSP Port ( Dành cho ICD/ICSP Port): Cho phép người dùng phát triển những ứng dụng dùng I/O cường độ cao mà vẫn giữ khả năng nhập chương trình và debug trong mạch . 3.Những đặc tính thiết bị : Tính năng Tần số làm việc DC-48 MHz Bộ nhớ chương trình(bytes) 32k Bộ nhớ chương trình(lệnh) 16384 Bộ nhớ dữ liệu(bytes) 2k Bộ nhớ dữ liệu EEPROM(bytes) 256 Những nguồn ngắt 20 I/O ports Port A,B,C,D,E Timers 4 Capture/Compare/PWM Modules 1 Enhanced Capture/Compare/ PWM Modules 1 Truyền thông tuần tự MSSP , Enhanced USART USB 1 Streaming Parallel Port(SPP) Có 10-bit Analog-to-Digital Modules 13 kênh Input Comparators 2 Resets ( và Delays) POR, BOR, lệnh RESET, Stack Full, Stack Underflow , (PWRT,OST), Programmable Low-Voltage Detect có Programmable Brown-out Reset Có Lệnh Set 75 lệnh ; 83 với tập lệnh mở rộng được cho phép Packages 40-pin PDIP 44-pin QFN 44-pin TQFP báng1:Những đặc tính thiết bị. Phần 1: Tổng quan về vi điều khiển PIC và so sánh các trình biên dịch C cho PIC SV:Trần Quốc Gia Phú, Trần Hạ Long - 8 4.Sơ đồ chân : Hình 1:Sơ đồ chân. II)Đánh giá các trình biên dịch: Hiện nay trên thế giới, có rất nhiều nhà sãn trình biên dịch dựa theo ngôn ngữ C dành cho các dòng vi điều khiển PIC. Trong số các trình biên dịch này, có một số đựơc sử dụng rất rộng rãi và phồ biến trên toàn thế giới như :CCS –C, Microchip C18,C30; Hi- tech PICC , IAR embedded Workbench. Các trình biên dịch này chiếm hầu hết thị phần trong lĩnh vực trình biên dịch cho PIC. Do có nhiều trình biên dịch nên viêc lựa chọn ra một trong số đó sẽ không dễ dàng cho lắm. Viêc lựa chọn này cũng phải dựa trên nhiều tiêu chí để phù hợp với điều kiện và mục đich sử dụng. Tiêu chí để đánh giá đựơc một chưong trình cũng có rất nhiều. Thông thường khi đánh giá người ta chỉ đánh giá dựa theo một số tiêu chí chủ yếu như là: giá cả, đặc điểm ngôn ngữ, thư viện hỗ trợ, IDE và benchmark. Trong phần này sẽ trình bày việc so sánh các trình biên dịch thông qua các tiêu chí đã đề cập ở trên. Phần so sánh này được thực hiện bởi những người có kinh nghiệm về lập trình PIC trên diễn đàn khá nổi tiếng về vi điều khiển PIC. Các diễn đàn thường do các công ty sãn xuất trình biên dịch lập ra hoặc do những người phát triển các ứng dụng vi điều khiển lập ra. 1.Phần đánh giá trên forum của CCS: -Phần đánh giá được trình bày theo dạng bảng so sánh. Bảng được lấy từ Forum tại địa chỉ: Phần 1: Tổng quan về vi điều khiển PIC và so sánh các trình biên dịch C cho PIC SV:Trần Quốc Gia Phú, Trần Hạ Long - 9 https://www.ccsinfo.com/content.php?page=newcompilercomp#CCS. CCS – C v.4 Microchip C18 v3.0/ C30 v2.05 Hi-Tech PICC V 9.5 IAR embedded Workbench v2.21 Phần 1 Sản phẩm / giá PIC hỗ trợ pic 12 , 14 ,16 và 24 bit C18 pic 16 bit C30 pic 24 bit PICC pic 12 bit và 14 bit PICC18 pic 16- bit dsPICC pic 24- bit PIC16/17 pic 14 bit PIC18 pic 16 bit dsPIC pic 24 bit Hệ điều hành Windows ,Linux Windows Windows ,Linux Mac OS ,Sun Windows Giá cả License: 12-bit = $50 14-bit = $150 16-bit = $200 24-bit = $250 12-bit, 14-bit + IDE = $350 12-bit, 14-bit, 16-bit + IDE = $500 24-bit + IDE = $350 12-bit, 14-bit, 16-bit, 24-bit + IDE = $600 License: 16-bit + IDE = $495 24-bit + IDE = $895 License: 12-bit, 14-bit + IDE = $950 16-bit + IDE = $950 24-bit + IDE = $1,150 16-bit, 24-bit + IDE = $2,400 Support: 12-bit, 14-bit + IDE = $250 16-bit + IDE = $250 24-bit + IDE = $250 16-bit, 24-bit + IDE = $250 License: 14-bit + IDE = $2,695 16-bit + IDE = $2,695 24-bit + IDE = $2,695 Includes: 1-year Warranty Phần 1: Tổng quan về vi điều khiển PIC và so sánh các trình biên dịch C cho PIC SV:Trần Quốc Gia Phú, Trần Hạ Long - 10 Maintenance: (30-60 days included) 12-bit = $40/year 14-bit = $100/year 16-bit = $125/year 24-bit = $150/year 12-bit, 14-bit + IDE = $200/year 12-bit, 14-bit, 16-bit + IDE = $250/year 24-bit + IDE = $175/year 12-bit, 14-bit, 16-bit, 24-bit + IDE = 275/year Bộ kit hỗ trợ phát triển Có Có Có Có Tương thích với Mplab Có Có Có Có Phần 2 Đặc điểm ngôn ngữ Tự động cấp phát bộ nhớ RAM Có Không Không Không Kiểu dữ liệu Integers: int1 int8 int16 int32 Float: 32-bit Integers: int8 int16 int32 Float: 32-bit for C18/C30 64-bit for C30 Integers: int1 int8 int16 int32 Float: 24-bit 32-bit Integers: int8 int16 int32 Float: 32-bit Phần 1: Tổng quan về vi điều khiển PIC và so sánh các trình biên dịch C cho PIC SV:Trần Quốc Gia Phú, Trần Hạ Long - 11 Theo chuẩn C Có Có Có Có Phần mở rộng trình biên dịch 24 13 15 5 Đệ quy Không Có Không Không Hỗ trợ Assembly Có Có Có Có Chuỗi bit Có Không Không Không Bỏ các hàm không sử dụng Có Không Không Có Con trỏ trỏ đến hằng Có Có Có Có Ghi đè hàm Có Không Không Không Tham số tham khảo Có Có Không Không Tham số mặc định Có Không Không Không Có thể xác định dữ liệu C trong bộ nhớ không phải là RAM Có Không Không Không Tự động đóng gói các biến bit Có Không Có Không Phần 3 Thư viện hỗ trợ Các hàm về char/string Có Có Có Có Thư viện math Có Có Có Có Các hàm về hệ thống file Không Không Không Có Các hàm về bộ nhớ động Có Không Không Có Phần 1: Tổng quan về vi điều khiển PIC và so sánh các trình biên dịch C cho PIC SV:Trần Quốc Gia Phú, Trần Hạ Long - 12 Thư viện động RS232 Có Không Không Không Thư viện động SPI Có Không Không Không Thư viện động I2C Có Không Không Không Thư viện IO Có Có Có Có Hàm xây dựng sẵn của PIC® MCU Có (80 hàm) Có (54 hàm) Không Không Hàm tạo trễ Có Có Không Không RTOS Có (chỉ đi cùnng với IDE) Không Có (mua ứng dụng riêng Không Phần 4 IDE IDE + debug Có Có Có Có Hỗ trợ tạo project Có Có Có Có Tự động sinh tài liệu Có Không Không Không Tự động kiểm tra lỗi văn bản Có Không Không Không Phần 5 Benchmark Chương trình đọc nhiệt độ và hiển thị lên màn hình LCD ROM: 1638 RAM: 34 ROM: 3036 RAM: 293 ROM: 3879 RAM: 30 ROM: 7838 RAM: 148 Số thực dấu chấm động ,ví dụ : float f = 5.0, g = 600.0, h; h = f*g; Time: 27.5 us ROM: 350 RAM: 28 Time: 42.5 us ROM: 416 RAM: 286 Time: 83.4 us ROM: 428 RAM: 22 Time: 27.6 us ROM: 454 RAM: 33 Phần 1: Tổng quan về vi điều khiển P