|
Tài trợ cho PIC Vietnam |
PIC và Robot trên nền Ubuntu Đây là một chủ trương mới mà chúng ta cần chú ý. |
|
Ðiều Chỉnh | Xếp Bài |
01-06-2008, 04:39 PM | #3 |
PIC Bang chủ
|
CC5X Tutorial 1
Để thuận tiện cho cả người dùng Windows và Linux, F sử dụng MPLAB để làm thử một bài tập nhỏ với input, output và delay như dưới đây:
F sử dụng chip 16F886. F vẫn thích dùng con vừa vừa chân thế này cho các ứng dụng. Trước đây F dùng 16F876A cho luận văn tốt nghiệp, và giờ đây thì dùng 16F886, nó cũng không thiếu tính năng hơn 16F887 nhưng đảm bảo một điều rẻ hơn, và đủ mọi thứ cần thiết để học cho PIC. Biên dịch CC5X trên Ubuntu và Piklab cũng làm tương tự. Trong thí dụ này F dùng MPLAB, bởi vì F vẫn còn gặp vấn đề kết nối ICD2 với Piklab, F phải nghiên cứu thêm. Bo mạch này F sử dụng mạch PICDem 2 Plus để thực hành. Trên bo này có RB0 - RB4 là các LED. 3 nút nhấn RESET, RA4 và RB0 (dùng cho ngắt ngoài). Do vậy bài tập cơ bản đầu tiên, F sử dụng nút bấm RA4 và output là RB1. Ngoài ra, các viết chương trình của F cố gắng thể hiện các directive của CC5X để các bạn tiện theo dõi. Có những cái không dùng để làm gì, F để nó ở đó để các bạn linh hoạt sử dụng trong chương trình của mình và hiểu về cấu trúc chương trình. Code:
// Cau hinh chip #pragma chip PIC16F886 #pragma config WDTE=off, FOSC=XT // Cac file di kem #include "int16CXX.H" // Dat bien toan cuc char a; bit b1, b2; //Dat ten cho cac chan #pragma bit input @ PORTA.4 #pragma bit output @ PORTB.1 // Template cho ngat xem trong tap tin INT16Cxx.H // Chuong trinh delay void delay_ms(uns16 millisec) { char next = 0; OPTION = 2; // prescaler divide TMR0 rate by 8 TMR0 = 2; // deduct 2*8 fixed instruction cycles delay do { next += 125; //clrwdt(); // needed only if watchdog is enabled while (TMR0 != next); // 125 * 8 = 1000 (= 1 ms) } while ( -- millisec != 0); } void main( void) { TRISB = 0; // PORTB la output output = 0; // tat output TRISA = 0b.0001.0000; // RA4 la input while (1) { while (input == 0) { output = 1; delay_ms(1000); } output = 0; // tat output } // Khong can khoa chuong trinh bang While // chuong trinh se duoc tu dong khoa bang lenh SLEEP khi bien dich } Chúc vui
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |