|
Tài trợ cho PIC Vietnam |
Lỗi lập trình ngôn ngữ cấp cao Những lỗi trường gặp trong lập trình. Khóa luồng khi bug được lỗi. |
|
Ðiều Chỉnh | Xếp Bài |
09-07-2014, 08:05 PM | #1 |
Đệ tử 1 túi
Tham gia ngày: Dec 2013
Bài gửi: 14
: |
[Help]Giúp e đoan code này qua ccs với
nó là 1 hàm được viết bằng Hitech e muốn chuyễn nó thành ccs để include vào sử dụng anh chị giúp e với
#include <htc.h> // Cau hinh su dung. #define _XTAL_FREQ 4000000 // Khai bao bien. unsigned char led @0x20; // Khai bao dia chi cua bien su dung. bit led0 @((unsigned)&led*8)+0; // Khai bao dia chi cac bit trong bien. bit led1 @((unsigned)&led*8)+1; bit led2 @((unsigned)&led*8)+2; bit led3 @((unsigned)&led*8)+3; bit led4 @((unsigned)&led*8)+4; bit led5 @((unsigned)&led*8)+5; // Chuong trinh. void LEDScan() { // Khai bao bien. static unsigned char count; // Bien dem so lan quet LED. // Chuong trinh. TRISB3 = 1; // Thiet lap cau hinh cho Port B. TRISB4 = 1; // Viec thiet lap ngo vao cho Port B se lam cac LED noi voi RB5..RB3 TRISB5 = 1; // se bi tat. switch(count) // Kiem tra so lan quet LED de hien thi. { case 0: if(led0) // Dieu khien hoat dong cho cap LED D6, D7 noi voi RB<3>,RB<4>. { TRISB3 = 0; // Cau hinh RB<3>,RB<4> la ngo ra. TRISB4 = 0; RB3 = 1; // Dieu khien LED D6 = ON, D7 = OFF. RB4 = 0; // RB<3> -> D6<A>,D7<K> RB<4> -> D6<K>,D7<A>. } break; // Thoat ra. case 1: if(led1) // Dieu khien hoat dong cho cap LED D6, D7 noi voi RB<3>,RB<4>. { TRISB3 = 0; // Cau hinh RB<3>,RB<4> la ngo ra. TRISB4 = 0; RB3 = 0; // Dieu khien LED D6 = OFF, D7 = ON. RB4 = 1; // RB<3> -> D6<A>,D7<K> RB<4> -> D6<K>,D7<A>. } break; // Thoat ra. case 2: if(led2) // Dieu khien hoat dong cho cap LED D8, D9 noi voi RB<4>,RB<5>. { TRISB4 = 0; // Cau hinh RB<4>,RB<5> la ngo ra. TRISB5 = 0; RB4 = 1; // Dieu khien LED D8 = ON, D9 = OFF. RB5 = 0; // RB<4> -> D8<A>,D9<K> RB<5> -> D8<K>,D9<A>. } break; // Thoat ra. case 3: if(led3) // Dieu khien hoat dong cho cap LED D8, D9 noi voi RB<4>,RB<5>. { TRISB4 = 0; // Cau hinh RB<4>,RB<5> la ngo ra. TRISB5 = 0; RB4 = 0; // Dieu khien LED D8 = OFF, D9 = ON. RB5 = 1; // RB<4> -> D8<A>,D9<K> RB<5> -> D8<K>,D9<A>. } break; // Thoat ra. case 4: if(led4) // Dieu khien hoat dong cho cap LED D10, D11 noi voi RB<3>,RB<5>. { TRISB3 = 0; // Cau hinh RB<3>,RB<5> la ngo ra. TRISB5 = 0; RB3 = 0; // Dieu khien LED D10 = ON, D11 = OFF. RB5 = 1; // RB<3> -> D10<K>,D11<A> RB<5> -> D10<A>,D11<K>. } break; // Thoat ra. case 5: if(led5) // Dieu khien hoat dong cho cap LED D10, D11 noi voi RB<3>,RB<5>. { TRISB3 = 0; // Cau hinh RB<3>,RB<5> la ngo ra. TRISB5 = 0; RB3 = 1; // Dieu khien LED D10 = OFF, D11 = ON. RB5 = 0; // RB<3> -> D10<K>,D11<A> RB<5> -> D10<A>,D11<K>. } break; // Thoat ra. } count++; // Tang gia tri bien dem. if(count > 5) // Kiem tra bien dem de quet xong 6 LED? count = 0; // Tra bien ve gia tri 0 khi quet du LED. } |
|
|