em đang gặp một vấn đề là khi em dùng mạch giao tiếp từ 8051 sang cổng COM của máy tính dùng chương trình Hyper Terminal của WinXP để hiển thị ký tự ASCII từ vi xử lý phát ra thì trên Hyper Terminal ko thể nhận đc..em kết nối P3.0 và P3.1 của 8051 với chân 10,11 của max232 và từ max232 có 3 chân cổng COM 9 female như mạch nạp của 8051, em dùng thạch anh 11,0592MHz và chỉnh timer 1 (-3) để nhập baud rate là 9600, hyper terminal cũng chỉnh 9600 baud rate...vậy em cần kết nối như thế nào để hyper ternimal có thể nhận đc ngay ký tự từ 8051 phát ra...các chân của max232 phải kết nối như thế nào và cáp truyền dữ liệu phải kết nối như thế nào cho đúng...mấy anh giúp dùm e với....cám ơn các anh rất nhiều...
Thông báo
Collapse
No announcement yet.
giúp em lập trình giao tiếp max232 với máy tính nha!!:(
Collapse
X
-
/************************************************** *****************
Project : CHUONG TRINH DIEU KHIEN LED MA TRAN SU DUNG CONG COM
DO AN MON DO LUONG VA DIEU KHIEN TU MAY TINH
Date : 24/02/2010
Author : leemanhj916@gmail.com
Phone : 0169 3829 235
Company : FEE - Hanoi University of Industry
IC type : AT8051 (89S52)
Clock : 11.0592 MHz
Command :
************************************************** ******************/
#include <REGX52.H>
#include <stdio.h>
unsigned char Mem[80];
unsigned char k,tg,sokt;
char j;
char n=0;
unsigned int x,d;
unsigned char code MaLed[] ={ /// Quet cot
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, //Dau cach
0xFF,0x07,0x03,0xB9,0x03,0x07,0xFF,0xFF, //A
0xFF,0x01,0x01,0x6D,0x01,0x93,0xFF,0xFF, //B
0xFF,0x83,0x01,0x7D,0x19,0x9B,0xFF,0xFF, //C
0xFF,0x01,0x01,0x7D,0x01,0x83,0xFF,0xFF, //D
0xFF,0x01,0x01,0x6D,0x6D,0xFF,0xFF,0xFF, //E
0xFF,0x01,0x01,0xed,0xED,0xFF,0xFF,0xFF, //F
0xFF,0x83,0x01,0x7D,0xAD,0x09,0x0B,0xFF, //G
0xFF,0x01,0x01,0xEF,0x01,0x01,0xFF,0xFF, //H
0xFF,0xFF,0x7D,0x01,0x01,0x7D,0xFF,0xFF, //I
0xFF,0xBF,0x3F,0x7D,0x01,0x81,0xFD,0xFF, //J
0xFF,0x01,0x01,0x83,0x19,0x7D,0xFF,0xFF, //K
0xFF,0xFF,0x01,0x01,0x3F,0x3F,0xFF,0xFF, //L
0x01,0x01,0xC7,0x0F,0xC7,0x01,0x01,0xFF, //M
0xFF,0x01,0x01,0xE3,0x8F,0x01,0x01,0xFF, //N `-
0xFF,0x83,0x01,0x7D,0x01,0x83,0xFF,0xFF, //O
0xFF,0x01,0x01,0xDD,0xC1,0xE3,0xFF,0xFF, //P
0xFF,0x83,0x01,0x7D,0x5D,0x01,0x83,0x7F, //Q
0xFF,0x01,0x01,0xCD,0x01,0x23,0xFF,0xFF, //R
0xFF,0xB3,0x21,0x6D,0x09,0x9B,0xFF,0xFF, //S
0xFF,0xF9,0xF9,0x01,0x01,0xF9,0xF9,0xFF, //T
0xFF,0x81,0x01,0x7F,0x01,0x81,0xFF,0xFF, //U
0xFF,0xE1,0x81,0x3F,0x81,0xE1,0xFF,0xFF, //V
0xE1,0x81,0x3F,0x87,0x87,0x3F,0x81,0xE1, //W
0xFF,0x39,0x11,0xC7,0xC7,0x11,0x39,0xFF, //X
0xFF,0xF9,0xE1,0x07,0x07,0xE1,0xF9,0xFF, //Y
0xFF,0x3D,0x1D,0x4D,0x65,0x71,0x79,0xFF //Z
};
//--------[ b a b y i l o v e y o u .........™ ]---------->
void convert(unsigned char kytu) // Ham chuyen ky tu sang ma Matrix LED
{ // Va dua vao mot mang
unsigned int temp,i;
if (kytu>64)
temp = (kytu-64)*8;
else
temp = 0;
for(i=temp; i<temp+8; i++)
Mem[k++] = MaLed[i];
}
//-------------------------------
void convert_str(unsigned char *str)
{
k=0;
//for(i=0;i<sokt*8;i++)
sokt=0;
while(*str)
{
convert(*str);
str++;
sokt++;
}
}
//---------------------------------
void dichtrai(void)
{
unsigned char temp,i;
temp = Mem[0];
for(i=0;i<(sokt*8-1);i++)
Mem[i] = Mem[i+1];
Mem[sokt*8-1] = temp;
}
//-------------------------------
void main(void)
{
unsigned char kt=0,temp,ch,chuoi[8];
SCON = 0x52;
TMOD = 0x22; // Timer 1 va Timer0 Mode 2
TH1 = TL1 = -3; // Toc do Baud la 9600
IE = 0x82;
TH0 = TL0 = -100;
convert_str("CON GA");
TR0 = 1;
TR1 = 1;
TI=0;
RI=0;
while(1)
{
//temp = _getkey();
//P1 = ~temp;
do
{
temp = _getkey();
}
while(temp != '@');
kt=0;
TR0 = 0;
do
{
temp = _getkey();
ch = temp;
if (ch!='@')
chuoi[kt++]=ch;
}
while(ch != '@');
convert_str(chuoi);
TR0 = 1;
}
}
//-------------------------------
void NgatTimer0(void) interrupt 1
{
TR0 = TF0 = 0; // Dung Timer 0 va Xoa co tran
d++;
if(tg++>10)
{
if(x==0x0000)
x=0x0001;
P1 = 0xFF; // xoa du lieu tren cot
P0 = x%256;
P2 = x/256;
P1 = Mem[n];
x<<=1;
if(n++>=15)
n=0;
tg=0;
}
if(d==2500)
{
dichtrai();
d =0;
}
TR0 = 1;
}
Bài viết mới nhất
Collapse
-
Trả lời cho Đấu tắt điện cho máy tính bảngbởi bqvietBqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
-
Channel: Thiết bị điện tử cá nhân
06-12-2025, 17:17 -
-
Trả lời cho Xin hỏi về mạch thu FM/AM trong catsettebởi nguyendinhvanTheo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
-
Channel: Điện thanh
05-12-2025, 19:59 -
-
Trả lời cho Đấu tắt điện cho máy tính bảngbởi afrendlyCó vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
-
Channel: Thiết bị điện tử cá nhân
04-12-2025, 01:27 -
-
Trả lời cho Máy điện châm ?bởi nick22Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
-
Channel: Điện tử y sinh
01-12-2025, 13:23 -

Comment