Đã 2 ngày liên tục ngồi thí nghiệm với cái proteus rồi mà em vẫn không thể truyền được dữ liệu từ PC vào máy tính
Mỏi mệt chán nản và bức bí lắm em mới phải viết 1 bài để nói chính xác là xin code Keil C( về asm thì em làm được rồi theo hướng dẫn http://dientuvietnam.net/forums/showthread.php?t=13005 thế là em học cách viết lại bằng C vẫn giữ nguyên phần cứng )
Vậy bạn nào có một cái code đã test thành công rồi thì share cho mình với vì mình làm theo code của bác ngohaibac trong hướng dẫn lập trình keil c:
còn phần cứng dùng mô phỏng proteus nối với Com4 điều khiển bằng terminat nối với Com5 rồi dùng Vitual serial port nối 2 cổng này lại
Vậy mà vẫn không được , bây giờ em thấy hết sức là chán nản nên đành theo kiểu mì ăn liền xem bác nào đã làm thành công có thể cho em luôn được không chứ còn nguyên lý thì em làm cho mấy ngày rồi thuộc làu mà không hiểu sai ở chỗ nào cả
Mỏi mệt chán nản và bức bí lắm em mới phải viết 1 bài để nói chính xác là xin code Keil C( về asm thì em làm được rồi theo hướng dẫn http://dientuvietnam.net/forums/showthread.php?t=13005 thế là em học cách viết lại bằng C vẫn giữ nguyên phần cứng )
Vậy bạn nào có một cái code đã test thành công rồi thì share cho mình với vì mình làm theo code của bác ngohaibac trong hướng dẫn lập trình keil c:
# include "regx51.h"
// ham gay tre
void delay(int time){
while(time--){
unsigned char j = 122;
while(j--);
};
}
// ham thiet lap ban dau
void init(){
EA = 1; // cho phep dung ngat
ES = 1; // dung ngat noi tiep
// Thiet lap tan so bus
TMOD = 0x02; // dung timer1, che do 8 bit tu nap lai
TH1 = 253; // chon tan so bus = 9600
TR1 = 1 ; // khoi dong timer1
}
// Ham ngat
void inter4(void) interrupt 4 using 2{
if (RI){ // kiem tra co tran nhan RI.
P2 = SBUF; // lay du lieu tu SBUF
RI = 0; // xoa co ngat
};
}
// ham main
void main(){
// tao xung tren chan P1.0
init();
while(1){
P1_0 = 1;
delay(500);
P1_0 = 0;
delay(500);
}
}
// ham gay tre
void delay(int time){
while(time--){
unsigned char j = 122;
while(j--);
};
}
// ham thiet lap ban dau
void init(){
EA = 1; // cho phep dung ngat
ES = 1; // dung ngat noi tiep
// Thiet lap tan so bus
TMOD = 0x02; // dung timer1, che do 8 bit tu nap lai
TH1 = 253; // chon tan so bus = 9600
TR1 = 1 ; // khoi dong timer1
}
// Ham ngat
void inter4(void) interrupt 4 using 2{
if (RI){ // kiem tra co tran nhan RI.
P2 = SBUF; // lay du lieu tu SBUF
RI = 0; // xoa co ngat
};
}
// ham main
void main(){
// tao xung tren chan P1.0
init();
while(1){
P1_0 = 1;
delay(500);
P1_0 = 0;
delay(500);
}
}
Vậy mà vẫn không được , bây giờ em thấy hết sức là chán nản nên đành theo kiểu mì ăn liền xem bác nào đã làm thành công có thể cho em luôn được không chứ còn nguyên lý thì em làm cho mấy ngày rồi thuộc làu mà không hiểu sai ở chỗ nào cả
Comment