02-08-2005, 09:04 AM | #1 |
Đệ tử 2 túi
Tham gia ngày: May 2005
Bài gửi: 39
: |
PIC - CCS compiler
Đối với người mới học PIC việc đầu tiên cần quan tâm là nên chọn con PIC nào?riêng noisepic chọn con 16F84 nó có ít chân với lại trên mạng có rất nhiều tutorial về PIC 16F84 và các dự án của nó. Theo lời khuyên của mọi người khi làm việc với PIC thì cứ học từng bài một:I/O,timer,interrupt,ADC..cứ từng bài mộtkhi gặp một bài toán thực tế .Ghép chúng lại với nhau thôi! làm càng nhiều càng lên tay như kiểu văn ôn võ luyện.
Tại sao học CCS? Đơn giản là dễ học,dễ làm..gần gũi với C standard thư viện đồ sộ ứng dụng thực tế rất nhanh với lại dễ mua (Rẻ bằng 1/2 HT PIC). Còn chương trình biên dịch C nữa là HT PIC ... cái này bác binhanh siêu lắm! Trước khi bắt tay vào CCS noispic khuyên các bạn tham khảo bài viết của bác falleaf về MPASM và dành chút thời gian đọc cái này nhé http://picvietnam.sytes.net/noisepic/PicTutorial.chm nó dạy làm pic như ru ngủ ấy!! đọc đi đọc lại ..dần dần khác ngấm! Nếu các bạn không đọc thì chương trình của bạn chạy sai chỗ nào cũng không biết đâuBài học đầu tiên mà mọi người hay làm là cho nháy 1 LED, Cho Led chạy vòng quanh,hiển thị lên Led 7 đoạn, lên LCD...Đây là các dạng về I/O thuần túy và trễ thời gian. Bài đầu tiên: Cho một đèn LED nháy với khoảng thời gian trễ là 100ms Code:
//*************************************************** // CHUONG TRINH LED NHAY //author:noisepic@gmail.com //date:1/08/2005 //status: //Details: //***************************************************** #include<16F84a.h> #fuses NOWDT,PUT,HS,NOPROTECT #use delay(clock=4000000) main() { while(TRUE) { output_high(PIN_A1); delay_ms(100); output_low(PIN_A1); delay_ms(100); } } Phân tích chương trình Code:
#include<16F84a.h> Code:
#fuses NOWDT,PUT,HS,NOPROTECT Code:
#use delay(clock=4000000) Ta cắm vào led vào chân A1(Chân số 18 trên 16F84).Và phải để chân này là output.Trong ASM như các bạn biết để led trên chân A1 sáng thì cần Giả sử cổng A có duy nhất A1 là Output,các chân còn lại là INPUT bạn phải thực hiện - Chuyển sang Bank1 - Đặt giá trị cho thanh ghi TRISA -Chuyển sang Bank0 - Đặt giá trị cho thanh ghi PORTA công việc này được CCS làm hộ với lệnh output_high(PIN_A1).Không tin các bạn VIEW C/ASM ..rồi coi! Hàm delay_ms(100); // trễ 100ms PIC chẳng làm gì cả! Chạy lòng vòng.Nếu trong chươngtrình còn ứng dụng khác thì có thể tận dụng khoảng thời gian này để làm việc!! Nhiệm vụ của các bạn: - Xem file 16f84a.h có gì? có hàm gì? ..và tra HELP tìm hiểu các hàm.Đặc biệt trong phần build in function có các hàm vào ra cơ bản. Đọc và hiểu nó! Để bắt đầu các bạn tạo một PROJECT File/New/Project Có 2 cách làm bằng tay(manual) hoặc làm theo hướng dẫn(wizard).Bạn nên tạo một thư mục cho từng ứng dụng cụ thể và file chuẩn để test (biết đâu con PIC của bạn chết lúc nào không biết!).Bạn cứ làm theo kiểu MANUAL Trước tiên bạn soạn thảo và ghi lại ví dụ bai1.c Sau khi soạn thảo xong tiến hành dịch chương trình Nếu thành công! |
|
|
Similar Threads | ||||
Ðề tài | Người gửi | Chuyên mục | Trả lời | Bài mới |
CCS C Compiler | Tonduy | Chương trình dịch & các công cụ mô phỏng | 12 | 12-01-2011 12:01 AM |