Khởi động thread sẽ là phần hướng dẫn tạo một project HTC-PIC với MPLAB IDE ---Khởi động MPLAB và làm theo tất cả các hình phía dưới.
Cuối cùng là trở về khung soạn thảo chính để bắt đầu coding bài 1: Lập trình giao tiếp 1 led đơn. vẽ mạch như hình:
Cơ bản là chỉ bật cho LED sáng thôi ! PHP Code: /*******************************************************************
FileName: LED POINT-PIC.c Author: Chu Manh Cuong Xtal: 11.0592Mhz MCU: PIC16F887 Created Date: 23/4/2011 Finish Date: 23/4/2011 *************************************************************************/ /************************************************************************ =================Phan` khai bao' thu vien=============================== mac dinh bat buoc phai co 2 cua HT-PIC c *****************************finish header****************************** */ #include <htc.h> #include /********************************************************************** ===các bien' thay the' ===thay vi truy xuat' truc tiep' toi' cac' bi't hoac cac' port dieu khien thi chung ta se truy xuat' bang cac' ten thay the' khac' de tang tinh' linh hoat cho chuong trinh === o day LED duoc noi' vao` pin RD0, va ho.at dong. o muc logic 0 RD0=0 led sang' và nguoc lai. ***********************************************************************/ #define LED RD0 void main() { TRISD = 0Xfe ; //thie't lap portD voi bit RD0 la` output
PORTD = 0xff; //tat' led
LED = 0;//bat. led sang' /************************************************************************ while(1){....} la mot vong` la.p vo ha.n, vi dieu khien se~ dung` chuong trinh o day ***********************************************************************/ while(1); }
Vẫn mạch trên nhưng tăng thêm chút mắm muối là làm cho bóng led này nhấp nháy PHP Code: /******************************************************************* FileName: LED POINT-PIC.c Author: Chu Manh Cuong Xtal: 11.0592Mhz MCU: PIC16F887 Created Date: 23/4/2011 Finish Date: 23/4/2011 *************************************************************************/ /************************************************************************ =================Phan` khai bao' thu vien=============================== mac dinh bat buoc phai co 2 cua HT-PIC c *****************************finish header****************************** */ #include <htc.h>
{ TRISD = 0Xfe ; //thie't lap portD voi bit RD0 la` output while(1){ LED = !LED; //đảo bit của led delay(100); //trì hoãn một thời gian /********************************************************* co' the thay cu.m le.nh trong dau {..}cua ham while(1) bang 2 dong` lenh LED = 1; //tắt led delay(100);//trì hoãn một thời gian LED = 0; //bật led lên delay(100);//trì hoãn một thời gian ***********************************************************/ } } //========================================delay void delay(int time) { int i,j; for(i=0;ifor(j=0;j{;} }
Bài 2: Vẫn là led đơn nhưng là 8 LED, phức tạp hơn chút nữa
PHP Code:
/******************************************************************* FileName: LED POINT-PIC.c Author: Chu Manh Cuong Xtal: 11.0592Mhz MCU: PIC16F887 Created Date: 23/4/2011 Finish Date: 23/4/2011 *************************************************************************/ /************************************************************************ =================Phan` khai bao' thu vien=============================== mac dinh bat buoc phai co 2 cua HT-PIC c *****************************finish header****************************** */ #include <htc.h> #include void delay(int time); #define LED_PORT PORTD //==========================main program======================// void main()
{ int counter; //thiet' lap mot bo. dem' unsigned char data; //du lieu hien thi ra led TRISD = 0X00 ; //thie't lap portD voi bit RD0 la` output while(1){ /************************************************************** type 1: led chay tu trai sang phai **************************************************************/ data = 0xfe;//he bin la: 11111110 for(counter=0;counter<8;counter++) { LED_PORT = data; delay(60); data<<=1; //dich bit di mot don vi
data|=0x01;
//toan' tu? OR logic voi 0x80
} /************************************************************** type 2: led chay tu phai sang trai **************************************************************/ data = 0x7f; //he bin la: 01111111 for(counter=0;counter<8;counter++) { LED_PORT = data;
delay(60); data>>=1; data|=0x80; //toan' tu? OR logic voi 0x80 } /************************************************************** type 3: led dồn tu trai sang phai **************************************************************/ data = 0xfe;//he bin la: 11111110 for(counter=0;counter<8;counter++) { LED_PORT = data; delay(60); data<<=1; //dich bit di mot don vi } /************************************************************** type 4: led don` tu phai sang trai **************************************************************/ data = 0x7f; //he bin la: 01111111 for(counter=0;counter<8;counter++) { LED_PORT = data; delay(60); data>>=1; } } }
Mọi người có thể tùy biến code của chính mình sao cho thấy phù hợp, có 2 phương pháp để điều khiển led đơn đó là : 1-dịch dữ liệu rồi AND,OR gì đó rồi đưa ra PORT LED 2-Tạo một bảng mã sau đó xuất dần các giá trị đó ra PORT Xem them mot so topic tuong tu: Hộp quà trái tim nhân ngày 20-10 [HELP]Xử lý nhiễu khi thu hồng ngoại [TUT] Hướng dẫn sử dụng stack trong vi điều... [TUT]Sử dụng Timer của vi điều khiển ! Giáo trình vẽ mạch in Hướng dẫn lập trình C cho vi điều khiển PIC Đồng hồ số sử dụng LCD để hiển thị - VDK... KIT thí nghiệm Vi điều khiển PIC-AVR-8051 Cần giúp đỡ về lập trình đồng hồ số ds12887 tài liệu Lần sửa cuối bởi manhcuong.k08; 23-04-2011 lúc 12:40 PM Lý do: Automerged Doublepost
www.hlab.com.vn Trả lời với trích dẫn
The Following User Says Thank You to manhcuong.k08 For This Useful Post: tri.dtk10 (24-04-2011)
23-04-2011 09:47 PM#2
manhcuong.k08 Sinh Viên Năm 1
Tham gia ngày Oct 2009 Đến từ www.dientutaynguyen.co.cc Bài gửi 153 Points 823.508.402,47 Thanks 15 Thanked 30 Times in 26 Posts
Demo một LED đơn cho bài 2:
YouTube Video www.hlab.com.vn Trả lời với trích dẫn
23-04-2011 10:35 PM#3
L!nh_X!nh Moderator
Tham gia ngày Nov 2009 Đến từ **thiên đường** Tuổi 21 Bài gửi 355 Points 705.046.615,95 Thanks 71 Thanked 112 Times in 77 Posts Blog Entries 1
xin mod đừng del comment này , đây là chủ thớt trên ạh. tôi cũng chân thành xin lỗi ông, cường ạ
nhưng cái video phợt quá, phải chia sẻ :)) Lần sửa cuối bởi L!nh_X!nh; 23-04-2011 lúc 10:38 PM