![]() |
Giúp đỡ newbie về led blinking trên Pic 18f8520
Xin chào các anh chị, em cũng đã đọc các bài tutorial của các anh chị trên picvietnam cũng như ở những nguồn khác, tất cả những gì em đã làm để không phải đăng một topic em cũng đã làm như đọc datasheet của Pic 18f8520, đọc lý thuyết về vi điều khiển, xem project mẫu,...blah blah blah.
Em là sinh viên ko phải chuyên ngành kĩ thuật, vì lý do cá nhân nên em có tự học 8051 và h em tiếp tục chuyển qua pic, nói ra không phải em khoe nhưng 8051 em có thể viết đc những chương trình cơ bản như LCD 4 bit, quang báo(bằng ngôn ngữ C thôi), và hiểu sơ lược về cách sử dụng vi điều khiển. Cũng lại một lần nữa vì lý do cá nhân nên em phải chuyển qua học PIC, em có trong tay bộ kit BigPic4 của Mikroelektronika với con pic18f8520, nạp chương trình bằng usb, em có chương trình nạp đi theo kit luôn, vấn đề là em có tham khảo code mẫu của project đơn giản nhất là led blinking của các nguồn và em code vào và build ra file hex nạp vào thì không chạy code của em đây ah, có gì sai sót mong các anh chị chỉ em, hoặc là chỉ em một hướng đi rõ ràng trong việc học cái gì ở con pic em có, tại vì em chỉ có cái kit và con pic đó thôi. Code của em đây, thực sự em cũng mò mò chứ chưa hiểu hết //Project Ledblinking em viết trong CCS #include <18F8520.H> //con pic em đang dùng #ifdef __pch__ //em nghe nói cái này là dành cho dòng pic 18 chứ em cũng không hiểu #endif #use delay (clock=10000000) //cái này để sử dụng hàm delay void main() { set_tris_b(0x00); //thiết lập port xuất là b while(1) //lặp vô hạn { output_b(0x0f); //cho port b =0x0f Delay_ms(1000);//delay 1s output_b(0xf0); //port b=0xf0 Delay_ms(1000); }// cuối cùng là code này em build ra và nạp thì không chạy, ccs báo là rom ram 0% |
Trích:
#include <18f8520.h> # fuses NOWDT, Hs, NOPROTECT, NOLVP, PUT//cấu hình cho pic thì mới chạy được #use delay (clock=10000000) //cái này để sử dụng hàm delay void main() { set_tris_b(0x00); //thiết lập port xuất là b while(1) //lặp vô hạn { output_b(0x0f); //cho port b =0x0f Delay_ms(1000);//delay 1s output_b(0xf0); //port b=0xf0 Delay_ms(1000); } } |
Cảm ơn bạn tdm nhiều lắm, code bạn sửa cho mình thì chạy rồi, nhưng mình có thêm một thắc mắc là trong một tài liệu hướng dẫn dùng ccs c tiếng việt có hướng dẫn là dùng
#use fast_io(port) để thiết lập cổng vào ra, nhưng bạn sửa cho mình thì không đả động đến, vậy fast_io(port) để làm gì Thứ 2 là mình muốn viết hàm lcddata, sử dụng lệnh output_, vậy mình sẽ phải set_tris trước hàm lcddata, nhưng khi mình để set_tris ngoài hàm main thì build không được, vậy mình phải làm sao để có thể viết hàm? |
1 Attachment(s)
Trích:
|
/*ý của mình hỏi chỉ là làm sao để viết function mà dùng được các hàm xuất nhập port thôi bạn ah*/
#include <18f8520.h> # fuses NOWDT, Hs, NOPROTECT, NOLVP, PUT/?u+o+.c #use delay (clock=10000000) #use fast_io(C) #use fast_io(D) set_tris_c(0x00); set_tris_d(0x00); void ledblinking() { output_c(0x00); output_d(0xff); delay_ms(1000); output_c(0xff); output_d(0x00); delay_ms(1000); } void main() { while(1) //la(.p vô ha.n { ledblinking; } } |
Trích:
Code:
#include <18f8520.h> |
Múi giờ GMT. Hiện tại là 04:37 AM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam