Trích:
Nguyên văn bởi conanhung
Code:
#include<16F876A.h>
#fuses NOLVP, NOWDT,PUT,HS,NOPROTECT
#use delay(clock=12000000)
#use fast_io(a)
#use fast_io(b)
#use fast_io(c)
#byte porta=0x5
#byte portb=0x6
#byte portc=0x7
#bit RB0=portb.0
#bit G1 = porta.0
#bit G2 = porta.1
#bit G3 = porta.2
#bit G4 = porta.3
#bit G5 = porta.4
#bit G6 = porta.5
#bit G7 = portc.0
#bit G8 = portc.1
#bit G9 = portc.2
#bit G10 = portc.3
#bit G11 = portc.4
#bit G12 = portc.5
#bit G13 = portc.6
#bit G14 = portc.7
#bit G15 = portb.1
#bit G16 = portb.2
#bit G17 = portb.3
#bit G18 = portb.4
#bit G19 = portb.5
#bit G20 = portb.6
#bit led = portb.7
main()
{
setup_adc( ADC_OFF );
set_tris_a(0);
set_tris_b(0b00000001);
set_tris_c(0);
while(true)
{
G1=1;
G2=1;
G3=1;
G4=1;
G5=1;
G6=1;
G7=1;
G8=1;
G9=1;
G10=1;
G11=1;
G12=1;
G13=1;
G14=1;
G15=1;
G16=1;
G17=1;
G18=1;
G19=1;
G20=1;
}
}
Mạch em mắc 20 đèn led vào 3 port thông qua 20 điện trở R=4k7 xuống GND, khi nạp cho PIC6F876A thì 19 đèn đều sáng, chỉ có đèn G5, tức là ở port RA4, mặc dù port này em đã kéo lên Vdd qua điện trở 4k7 rồi, mà đèn led nối ở RA4 vẫn ko sáng.
Ah, em đã thử thêm dòng lệnh
vào hàm main() nhưng chương trình CSS C lại báo lỗi ADCON1 chưa khai báo và không dịch được.
Cho em hỏi chương trình em viết có thiếu gì không? và thiếu thì thêm như thế nào? Em xin cám ơn.
|
RA4 là chân ngõ vào cực thu hở, bạn cho nó lên mức cao (5V), bạn lại mắc con trở kéo lên nguồn (5V). Như thế thì đèn nào sáng cho được.
Bạn cho G5 = 0; thì đèn sáng thôi.