chương chình của bạn lỗi rất nhiều hay bạn đươc lên không hết
1- bạn chưa khai báo tên chip sử dụng
2- bạn sử dụng PORTB,TRISB mà chưa định nghĩa cho nó
3- bạn dùng portb mà RB0 làm đầu vào cho nut nhấn juif bạn lại còn PORTB = 0x00;
4-#define nut RB0
#define led RB5 bạn phai khai báo # bit
khi bạn viết chương trình song thì hẫy test trên poteus
trước
sau đay mình đã sủa ct của bạn chay tốt lạm sem thử và thấy mình sai ở đâu nhé
Code:
//================================================== =================
#include <16f877.h>
#device *=16 ADC=8
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(clock=20000000)
#use rs232 (baud=9600 , parity=n , xmit=pin_C6 , rcv=pin_C7,bits=8 )
//================================================== ===========================
//==========PHAN KHAI BAO PHAN CUNG===========================================
//----------------------------------------------------------------------------
#byte TRISB = 0x086
#byte PORTB = 0x006
#byte TRISC = 0x087
#byte TRISD = 0x088
#byte PORTD = 0x008
#bit nut =PORTB.0
#bit led = PORTB.5
//----------------------------------------------------------------------------
//=====PHAN KHAI BAO BIEN============================================== =======
char c;
//================================================== =============================
void main()
{
// Thiet lap che do cho PORTB
TRISC = 0x80; // de chan receive la dau vao
TRISB = 0x0f; // p0-p3 PORTB la cong xuat du lieu,p7-p5 la nhap du lieu
PORTB = 0x00;
TRISD=0x00;
PORTD=0x00;
c='3';
while (1)
{
if(nut==0)
{ while(nut==0) {};
led=1;
putc(c);
PORTD = 0xff;
}
delay_ms(1000);
PORTD = 0x00;
}
}