PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) (http://www.picvietnam.com/forum/forumdisplay.php?f=12)
-   -   KEIL - lập trình cho PIC bằng Ngôn Ngữ C??? (http://www.picvietnam.com/forum/showthread.php?t=2454)

vandat07 06-06-2008 06:13 PM

KEIL - lập trình cho PIC bằng Ngôn Ngữ C???
 
Có bác nào cho em xin tài liệu về ngôn ngữ này không?
Nếu không thì có thể cho em code (có thể CCS C) để nháy LED (bất kỳ) bằng con PIC 16F84A
Thank

love_ac 06-06-2008 07:45 PM

@vandat07:sang đây nhé
http://www.picvietnam.com/forum//forumdisplay.php?f=12

trunghaudt2_ 24-07-2008 01:21 PM

Trích:

Nguyên văn bởi vandat07 (Post 16698)
Có bác nào cho em xin tài liệu về ngôn ngữ này không?
Nếu không thì có thể cho em code (có thể CCS C) để nháy LED (bất kỳ) bằng con PIC 16F84A
Thank

#include <16F877A.h>
#include <def_877a.h>
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(clock=20000000)
#USE FAST_IO(E)
#USE FAST_IO(C)
#USE FAST_IO(D)
int8 mode,i;
byte temp;

#INT_EXT
EXT_ISR() {

mode++;
if (mode==9) mode = 0;
}
// End of INT

void program1();
void program2();
void program3();
void program4();
void program5();
void program6();
void program7();
void program8();

void main() {

trisd = 0x00;
trisb = 0xFF;
portd=0xff;
enable_interrupts(int_EXT);
ext_int_edge(L_TO_H);
enable_interrupts(GLOBAL);
mode = 0;
while (1) {
switch(mode) {
case 1: program1(); break;
case 2: program2(); break;
case 3: program3(); break;
case 4: program4(); break;
case 5: program5(); break;
case 6: program6(); break;
case 7: program7(); break;
case 8: program8(); break;
}
}
}

void program1() {
PortD = 0x00;
delay_ms(250);
Portd = 0xFF;
delay_ms(250);
}
void program2() {
temp = 0xFF;
for (i=0;i<=8;i++) {
portd = temp;
delay_ms(250);
temp >>= 1;
}
}
void program3() {
temp = 0xFF;
for (i=0;i<=8;i++) {
portd = temp;
delay_ms(250);
temp <<= 1;
}
}
void program4() {
portd = 0xAA;
delay_ms(500);
portd = 0x55;
delay_ms(500);
}
void program5() {
Portd = 0x7E;
delay_ms(150);
Portd = 0xBD;
delay_ms(250);
Portd = 0xDB;
delay_ms(150);
Portd = 0xE7;
delay_ms(150);
Portd = 0xDB;
delay_ms(150);
Portd = 0xBD;
delay_ms(150);
Portd = 0x7E;
delay_ms(150);
}
void program6() {
temp = 0xFF;
for (i=0;i<=8;i++) {
portd = temp;
delay_ms(250);
temp = temp >> 1;
}
}
void program7() {

Portd = 0xFE;
delay_ms(150);
Portd = 0xFD;
delay_ms(150);
Portd = 0xFB;
delay_ms(150);
Portd = 0xF7;
delay_ms(150);
Portd = 0xEF;
delay_ms(150);
PortD = 0xDF;
delay_ms(150);
Portd = 0xBF;
delay_ms(150);
Portd = 0x7F;
delay_ms(150);
}

void program8() {
Portd = 0x7F;
delay_ms(150);
Portd = 0xBF;
delay_ms(150);
PortD = 0xDF;
delay_ms(150);
Portd = 0xEF;
delay_ms(150);
Portd = 0xF7;
delay_ms(150);
Portd = 0xFB;
delay_ms(150);
Portd = 0xFD;
delay_ms(150);
Portd = 0xFE;
delay_ms(150);
}

bengan 19-09-2008 10:57 PM

thanks các bạn

bengan 20-09-2008 12:07 AM

ủa làm sao mình tạo đươcc mục thanks sau bài gửi của mình vậy các bạn?

tranthao111982 05-05-2010 04:18 PM

chào các bác!
em đang tập tểnh học lập trình cho pic 16f877a. nhưng mà không biết bắt đầu từ đâu. các bác chỉ hộ em cách học pic sao cho hiêu quả với

hcmut.khoamaisi 06-05-2010 01:11 AM

đọan code của bạn trunghaudt2 viet gi vậy.Đọc không hiểu


Múi giờ GMT. Hiện tại là 04:47 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam