Mình đang học về con pic16f877a và có viết một chương chỉnh nhỏ như thế này trên CCS v4.023:
[*code] #include <16f877a.h>
#include <def_877a.h>
#device adc=8
#FUSES NOWDT //No Watch Dog Timer
#FUSES RC //Resistor/Capacitor Osc with CLKOUT
#FUSES PUT //Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NODEBUG //No Debug mode for ICD
#FUSES BROWNOUT //Reset when brownout detected
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#FUSES NOWRT //Program memory not write protected
#use delay(clock=20000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bi ts=8)
void main()
{
trisb = 0;
while(1)
{
portb =11111111;
delay_ms(250);
portb = 0;
delay_ms(250);
}
}
[/code]
mình đã dịch ra file hex thì ko thấy có lỗi gì nhưng khi mô phỏng trên protues thì khi trường hợp portb=11111111 có 3 chân là 3,4,5 ko cho led sáng. Không biết vì sao nữa. Các bạn có thể giúp mình chứ.
Thanks trước nhé.
[*code] #include <16f877a.h>
#include <def_877a.h>
#device adc=8
#FUSES NOWDT //No Watch Dog Timer
#FUSES RC //Resistor/Capacitor Osc with CLKOUT
#FUSES PUT //Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NODEBUG //No Debug mode for ICD
#FUSES BROWNOUT //Reset when brownout detected
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#FUSES NOWRT //Program memory not write protected
#use delay(clock=20000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bi ts=8)
void main()
{
trisb = 0;
while(1)
{
portb =11111111;
delay_ms(250);
portb = 0;
delay_ms(250);
}
}
[/code]
mình đã dịch ra file hex thì ko thấy có lỗi gì nhưng khi mô phỏng trên protues thì khi trường hợp portb=11111111 có 3 chân là 3,4,5 ko cho led sáng. Không biết vì sao nữa. Các bạn có thể giúp mình chứ.
Thanks trước nhé.
Comment