Mình có mạch như thế này để thử truyền thông trên 8051.Các linh kiện có thông số
AT89C52, Tụ 33pF, Thạch anh 12MHz
Mình sử dụng Keil C 8.05, Proteus 7.4 sp3
Còn đây là chươn trình mình viết bằng C để gửu data tới Vitual Terminal.
Ở đây mình chỉ muốn truyền kí tự A để hiện trên Terminal , nhưng kết quả không như vậy mà trên Terminal hiện như sau
Các bạn giúp mình sửa lại chương trình hoặc sơ đồ mạch với. Hoặc giải thích tại sao lại lỗi như vây.Cám ơn các bạn rất nhiều
AT89C52, Tụ 33pF, Thạch anh 12MHz
Mình sử dụng Keil C 8.05, Proteus 7.4 sp3
Còn đây là chươn trình mình viết bằng C để gửu data tới Vitual Terminal.
#include <REGX52.H>
#include <stdio.h>
void main(void)
{
SCON =0x52; // Port noi tiep che do 1, REN =TI =1;
TMOD = 0x20; //Timer 1 mode 2
TH1 = TL1 = -3; // Toc do baud la 9600
TR1 =1;
while( !TI); // Cho TI =1;
TI=0; //Xoa TI
SBUF = 'A'; // Truyen byte du lieu
}
#include <stdio.h>
void main(void)
{
SCON =0x52; // Port noi tiep che do 1, REN =TI =1;
TMOD = 0x20; //Timer 1 mode 2
TH1 = TL1 = -3; // Toc do baud la 9600
TR1 =1;
while( !TI); // Cho TI =1;
TI=0; //Xoa TI
SBUF = 'A'; // Truyen byte du lieu
}
Các bạn giúp mình sửa lại chương trình hoặc sơ đồ mạch với. Hoặc giải thích tại sao lại lỗi như vây.Cám ơn các bạn rất nhiều
Comment