HỌC PIC QUA VÍ dụ hot
TỰ HỌC LẬP TRÌNH C CHO PIC QUA VÍ DỤ. Biên Soạn: Ch Phan Vinh Hiếu. Tập 1: Dành cho người mới bắt đầu Lời nói đầu: Trên thế giới, dòng Vi điều khiển Pic (Programmable Interlligent Controller) đang được sử dụng ngày càng rộng rải trong mọi lãnh vực của đời sống do các tính năng vượt trội của nó so với các dòng VĐK khác. Do đó, nhu cầu học tập, nghiên cứu và ứng dụng Vi Điều Khiển Pic trong giới sinh viên các trường khối kỷ thuật cũng như của các anh chị đang làm việc trong các lĩnh vực Điện-Điện Tử-Tự Động Hóa ngày càng cao. Tuy nhiên, tài liệu Tiếng Việt của VĐK Pic hiện nay chưa nhiều và còn nặng tính lý thuyết, học thuật mà chưa đi sâu vào thực tế ứng dụng nên còn gây nhiều khó khăn cho người học. Từ lý do đó, tôi viết cuốn”” này với mong muốn là đem tới cho độc giả một cách tiếp cận VĐK mới: dể hiểu, dể làm, ít tốn thời gian và tiết kiệm chi phí nhất nhưng vẫn đảm bảo lượng kiến thức cần thiết để các bạn có thể tự mở rông, nâng cao. Trong cuốn sách này chúng ta từng bước học cách lập trình và sử dụng các modul của Pic qua các bài tập thực tế, trực quang. Tài liệu chắc chắn không tránh khỏi thiếu sót, tôi mong nhận được ý kiến đóng góp chân thành của các bạn để các ấn bản sau được tốt hơn. Rất cám ơn. Mọi thư từ, ý kiến, đóng góp và thắc mắc xin gởi về địa chỉ: hieuphanvinh@gmail.com Handphone: 0983053941. Mục lục Phần 1: Các bước chuẩn bị trước khi làm việc với PIC. 1- Tổng quan. 2- Giới thiệu và hướng dẩn cài đặt CCSC 3- Ráp mạch hoạt động của Pic. 4- Ráp mạch nạp của Pic. 5- Giới thiệu và sử dụng chương trình Win Pic-800. 6- Kiểm tra mạch nạp và mạch test. 7- Giới thiệu VĐK Pic-Pic 16f877a. 8- Cấu trúc cơ bản của một chương trình C cho Pic. Phần 2: Các bài thực hành. Bài tập 1: Bặt tắt đèn Led. Bài tập 2: DK dong co buoc. Bài tập 3: Điều khiển tốc độ động cơ DC. Bài tập 4: Giao tiếp với bàn phím. Bài tập 5: Quét Led 7 đoạn. Bài tập 6: Đo - hiển thị nhiệt độ . Phần 1: Các bước chuẩn bị trước khi làm việc với PIC. 1 Tổng quan: Để làm việc với VĐK chúng ta cần có 3 thứ cơ bản: Trình biên dịch (Compiler), Mạch-chương trình nạp(Programmer) và Kit thực hành . - Về trình biên dịch : Chúng ta sử dụng CCSC phiên bản 4.0.11 cho phép chúng ta dùng ngôn ngữ C để lập trình cho Pic, trình biên dịch này các bạn có thể tự tải trên mạng hoặc lấy trong đĩa CD đính kèm theo sách. - Mạch nạp(Programmer) và Kit thực hành: Tối có tặng kèm theo sách 2 PCB: 1 PCB mạch nạp loại JMD Programmer và 1 PCB kit thực hành khá đơn giản để các bạn có thể mua linh kiện về tự ráp, trong đĩa CD tôi có ghi danh sách linh kiện cần mua và hướng dẩn chi tiết cách lắp ráp, các bạn chịu khó nghiên cứu. Ngoài ra, các bạn có thể sử dụng bất kỳ loại mạch nạp và kit test nào mà các bạn có miễn là có nguyên lý phần cứng giống như yêu cầu mà tôi mô tả ở mỗi bài tập. - Chương trình nạp: Chúng ta sử dụng chương trình Winpic 800 phiên bản , trong đĩa CD tôi cũng đã hướng dẩn chi tiết cách sử dụng. 2 Hướng dẩn cài đặt và sử dụng CCSC: Một trong những khó khăn với người học khi lần đầu tiếp cận với VĐK là việc lập trình bằng hợp ngữ do sự khó hiểu và phức tạp của nó. Do đó tôi chọn ngữ C để giới thiệu với các bạn nhằm tạo sự dể chịu cũng như rút ngắn thời gian làm việc cho người dùng VĐK. Với ưu thế về sự đơn giản, tiện lợi, C dường như là 1 giải pháp cho người học VĐK. Tuy nhiên, nếu có thời gian các bạn nên tìm hiểu thêm về hợp ngử để có nền tảng vững chắc . Phần mềm CCSC là phần mềm phổ biến để lập tri2ng C cho Pic. Tôi sử dụng phiên bản 4.016 để làm việc. Hướng dẩn cài đặt: Bỏ đĩa CD vào ổ đĩa. Click vào file CCS_PCWH_4.016. Trong đó có chứa 3 file: Để cài thành công trình biên dịch này các bạn phải tuân thủ theo 3 bước sau: Bước thứ 1: Cài đặt chương trình Click vào tập tin pcwhupd để cài đặt. Click next. Chọn thư mục cài đặt. Click next. Click next. Để bắt đầu quá trình cài đặt. Sau khi hoan tat máy sẽ hiện ra thông báo đòi file đăng ký: Nhấn cancel. Rồi nhấn Finish. Bước thứ 2: Đăng ký Sau đó bạn chép file KeyfileGen từ tập tin CCS_PCWH_4.016. vào thư mục cài đặt C:\Program Files\PICC để đăng ký sử dụng Click vào KeyfileGen lúc đó sẽ hiện lên bảng thông báo sau: Click vào Tab Generar licencias.org sẽ xuất hiện: Bạn tìm đường dẩn đến thư mục cài đặt PICC Sau đó click vào PICC rồi nhấn OK Bước thứ 3: Cuối cùng là cài phần update cho chương trình . Bạn click vào tập tin ideutilsupd trong thư mục CCS_PCWH_4.016 ở đĩa CD: Tiếp tục Click next Sau khi hoàn tất bạn nhấn finish rồi khởi động lại máy. Hướng dẫn sử dụng CCSC. Sau khi khởi động lại máy, trên màn hình Desktop sẽ xuất hiện Icon: Click vào Icon này cửa sổ làm việc chính sẽ mỡ ra. Mục Help Thanh Men u Save Trên thanh Menu có các mục là: File, Project, Edit, Search, Compile, View, Tools, Debug, Document, Users. Bạn nhấn vào từng mục để xem các chức năng cụ thể. * Mục File : Mục Compile ( biên dịch): Tạo 1 chương trình soạn thảo mới. Mở 1 chương trình đã có sẳn. FILE Đóng 1 chương trình đang mở. Lưu nội dung chương trình. Lưu nội dung chương trình với 1 tên khác. * * Mục Tool (công cụ): COMPILE Xác định giòng Pic đang lập trình. Xem mã asm được dịch từ file C. Nhấn vào đây (hoặc nh để dịch ra file hex.ắn F9) Dùng để hiển thị nội dung VĐK gởi về PC qua cổng RS232. Dùng để dịch ngược file .hex về file.asm hay .c Dùng để chuyển đổi giá trị giữa các hệ đếm(deca-binary-hexa 8 16 32). * Mục Edit (Chỉnh sữa): Mục Help (hỗ trợ, hướng dẫn): * Nhấn vào đây (hoặc F1) để mở Help. Thư viện tập lệnh phần cứng của PIC. Thư viện tập lệnh C. - Ráp mạch hoạt động của Pic. 0- Ráp mạch nạp của Pic. 7 G 9 1 iới thiệu Pic16f877a: [...]... - Vi điều khiển Pic có rất nhiều loại, nhiều dòng như: 12fxxx, 16fxxx, 18fxxx, 33fxxx, 32fxxx, dsPIC, rfPIC, PIC giao tiếp Usb v v…….; tùy theo nhu cầu ứng dụng của người sử dụng mà chúng ta có sự lựa chọn cho thích hợp Trong khn khổ cuốn sách này tơi chọn Pic1 6f877a để giới thiệu vối các bạn vì nó là con Pic thuộc họ 14 bit 40 chân đủ mạnh cho các ứng dụng ở mức độ thơng thường... liệu sẽ được xuất hay được nhập thơng qua vi c ghi vào hay đọc ra từ thanh ghi Port Ví dụ: Khi ta ghi vào thanh ghi Tris B giá trị 00001111 thì nghĩa làcác chân từ RB0-RB3 là nhập còn từ RB4-RB7 là xuất Hệ đếm trong C: Số nhị phân được vi t dưới dạng: 0Bxxxxxxxx Ví dụ: 0b11111111 Số Hexa được vi t dưới dạng: 0Xxx Ví dụ: 0XFF Số Deca được vi t dưới dạng: xxx Ví dụ: 255 ... bạn đang làm vi c với con PIC nào, làm vi c với nó như thế nào và thiết lập phần cứng cho nó ra sao #include #fuses HS,NOLVP,NOWDT,NOPUT, NOPROTECT #use delay (clock=20000000) Giải thích: • Từ khóa #include dùng để khai báo bạn đang vi t chương trình cho con Pic nào • Từ khóa#use delay (clock=20000000) dùng để khai báo tốc độ thạch anh mà bạn đang sử dụng cho Pic • Từ khóa #fuses dùng... bạn vi t sẽ ngày càng nhiều và càng phức tạp, đa dạng Vi c ghi chú thích rõ ràng ở đầu mỗi chương trình sẻ giúp các bạn quản lý nắm bắt và sử dụng các chương trình mình đã vi t tốt hơn, ngăn nắp hơn Phần thứ hai(Bắt buộc): Phần khởi tạo PIC Phần này là phần bắt buộc theo sau phần ghi chú, bởi vì chương trình dịch cần phải hiểu bạn đang làm vi c... từ 0- 65535 Vi dụ: Nếu bạn muốn chương trình chạy chậm đi 1 giây bạn sử dụng hàm Delay như sau: delay_ms (1000);//1 giây bằng 1000 mili giây a-Lệnh Goto: Khi các bạn muốn chương trình của các bạn rẻ nhánh đến 1 vị trí, 1 đoạn chương tri2ng khác thỉ các bạn dùng lệnh nhảy, trong 89c51 ta dùng lệnh LJMP NHAN Còn trong PIC ta dùng lệnh GOTO NHAN Ví dụ: II _ Thực hành: Bây gio chúng ta sẽ sử dụng hàm delay... ADC Ví dụ: Một bộ điều khiển hiển thị nhiệt độ dùng Vi Điều Khiển làm vi c theo ngun lý sau: Cảm biến nhiệt ( LM35, RTH, THERMOCOUPLE) biến đổi nhiệt độ sang điện áp, giá trị điện áp này sau khi qua modul ADC sẽ thành 1 giá trị nhị phân xác định, VĐK sẽ đọc giá trị nhị phân này và suy ngươc lại giá trị nhiệt độ tương ứng đầu vào rồi hiển thị ra LCD hay Led 7 đoạn II Lý thuyết: Vi điều khiễn Pic1 6f877... cực đại khi ngõ ra ở trạng thái điện áp thấp là 25 mA Dòng điện của ngõ ra đủ lớn để kích đèn Led trực tiếp mà khơng cần qua Buffer - Điện áp làm vi c: Điện áp làm vi c tối đa là 5.5V Điện áp làm vi c tối thiểu là 4.5V Mạch Reset: Pic sẽ bị reset nếu đưa chân số 1(MCLR) xuống GND Ngun lý mạch reset: khi mở nguồn tụ C18 sẽ nối chân 1 xuống Mass –... phổ biến ở thị trường Vi t Nam Nếu các bạn nắm vửng cấu trúc và cách lập của Pic1 6f877a các bạn có thể dể dàng tiếp cận với các họ Pic khác vì chúng có chung các cấu trúc và tập lệnh căn bản AT89C51 Bảng so sánh đặc tính giửa AT89C51 và P16F877A: AT89C51 Atmel (USA) 1982 8 bit 4 K 128 Bytes Khơng có 4 Port(0,1,2,3), 32 I/O 2 PIC1 6F877A Hãng sản xuất:Microchip... tiên: Sử dụng Port B để bật tắt đèn Led: Bước thứ 1: Vi t chương trình Bạn mở chương trình CCSC, vào File ->New -> Source file Bạn đặt tên và lưu project vào 1 thư mục nào đó do bạn chỉ định.Ví dụ: baitap1.c Sau đó bạn đánh đoạn mã sau vào //================================================= ======= // Ten chuong trinh : Chuong trình xuat gia tri thay doi trang thai Port B // Nguoi thuc hien : Phan Vinh... - Khi lập trình các bạn phải khai báo chế độ dao động tương ứng với giá trị thạch anh mà các bạn sử dụng một cách chính xác nếu khơng chương trình sẽ khơng chạy Tụ lọc nhiễu xung thạch anh nằm trong khoảng từ 15-33pF Ví dụ: Nếu sử dụng thạch anh 10Mhz các bạn phải khai báo chế độ dao động là HS Nếu sử dụng thạch anh 1Mhz các bạn phải khai báo chế độ dao động là XT 8 Cấu trúc 1 chương trình C cơ bản: