PIC Vietnam

Go Back   PIC Vietnam > Truyền thông > Giao tiếp USB, CAN, I2C, SPI, USART...

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Giao tiếp USB, CAN, I2C, SPI, USART... Những giao tiếp được tích hợp trên PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 13-03-2012, 05:41 PM   #1
lambaotrung
Đệ tử 5 túi
 
Tham gia ngày: Jan 2010
Bài gửi: 96
:
[giúp] Giao Tiếp truyền thong RS232 giửa 2 PIC16f877a

hiện em đang làm bài tập về các cổng giao tiếp.... cơ bản trước tiên là làm RS232.

như thế này...

hiện em kết 2 con pic với truyền thông RS232.

múc đích : truyền 1 chuổi, hay 1 biến hoặc cùng lúc vừa chuổi vừa biến.

từ con PIC 1 đến còn thứ PIC 2.

Bài Tập 1: truyền 1 chuyển như chử " picvienam.com " từ con pic thứ nhất ( PIC 1 ) đến PIC thứ 2 ( PIC 2 ) xong rùi hiển thị lên LCD. chỉ thế thui.


hiện mạch của em mốc nói 2 cổng rs232 như sao:

chân Xmit( PIC 1) nối với SCV( PIC 2)/
chân SCV (PIC 1) nói với Xmit ( PIC 2).

ko biết như vậy có dc ko

con dây là đoạn code của 2 con PIC của em

CHƯƠNG TRÌNH BIÊN DỊCH KO BÁO LỔI NHƯNG NÓ KO HIỂU HAY SAO MÀ KO HIỆN CHỬ "HELLO!" LEN LCD. HIX BÁC GIÚP EM.

CODE PIC 1:

///////////////////////////////////////////////////


#include "E:\MACH DIEN\PIC\Khaibao\khaibao.c" // HÀM KHAI BÁO CỦA EM.
#use rs232(baud=9600,parity=N,xmit=PIN_C6,RCV=PIN_C7)
int i;
char string[10];
void main()
{
strcpy(string,"hello!"); //COPY chử " hello! " vào chuổi string
puts(string); //gởi chuổi string đi.
WHILE(1)
{
}
}


//////////////////////////////////////////////////////////////////

CODE PIC 2
////////////////////////////
#include "E:\MACH DIEN\PIC\khaibao\khaibao.c" HÀM KHAI BÁO CỦA EM.
//#include "string.h"
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7)

char string[30];
int i;

void main()
{

set_tris_e(0);
set_tris_d(0);

gets(string); ĐỌC RS232 GÁN NÓ VÀO CHUỔI STRING CỦA PIC 2.
khoitao();

portd=0x80;
lenh();

for(i=0;i<10;i++)
{portd=string[i]; ĐỬA CHUỔI STRING LÊN LCD
xuat();
}
}
File Kèm Theo
File Type: rar FILE RS232 VA 2 PIC.rar (40.1 KB, 216 lần tải)
lambaotrung vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-03-2012, 10:04 PM   #2
nguyenhung1811
Đệ tử 3 túi
 
Tham gia ngày: Jul 2007
Bài gửi: 48
:
mình nghĩ như thế này
TX:
printf("Hello");

như thế là đủ, k cần phải dùng lệnh strcpy đâu.

RX thì nếu ở phần ngắt Rx UART dùng như thế này:

nhan=getc();//
lcd_putc(nhan);//cai ni fai khai báo lcd library
nguyenhung1811 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-03-2012, 10:05 PM   #3
nguyenhung1811
Đệ tử 3 túi
 
Tham gia ngày: Jul 2007
Bài gửi: 48
:
mình nghĩ như thế này
TX:
printf("Hello");

như thế là đủ, k cần phải dùng lệnh strcpy đâu.

RX thì nếu ở phần ngắt Rx UART dùng như thế này:

nhan=getc();//
lcd_putc(nhan);//cai ni fai khai báo lcd library
nguyenhung1811 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-03-2012, 10:07 PM   #4
nguyenhung1811
Đệ tử 3 túi
 
Tham gia ngày: Jul 2007
Bài gửi: 48
:
nếu bạn cần file mô phỏng thì về nhà mình sẽ gửi cho bạn
nguyenhung1811 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-04-2012, 11:57 PM   #5
lambaotrung
Đệ tử 5 túi
 
Tham gia ngày: Jan 2010
Bài gửi: 96
:
uh gởi mình đi.... mình cần để tham khảo................. cảm ơn nhé
lambaotrung vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 15-01-2013, 11:18 PM   #6
toila83
Nhập môn đệ tử
 
Tham gia ngày: Aug 2010
Bài gửi: 3
:
Trích:
Nguyên văn bởi lambaotrung View Post
hiện em đang làm bài tập về các cổng giao tiếp.... cơ bản trước tiên là làm RS232.

như thế này...

hiện em kết 2 con pic với truyền thông RS232.

múc đích : truyền 1 chuổi, hay 1 biến hoặc cùng lúc vừa chuổi vừa biến.

từ con PIC 1 đến còn thứ PIC 2.

Bài Tập 1: truyền 1 chuyển như chử " picvienam.com " từ con pic thứ nhất ( PIC 1 ) đến PIC thứ 2 ( PIC 2 ) xong rùi hiển thị lên LCD. chỉ thế thui.


hiện mạch của em mốc nói 2 cổng rs232 như sao:

chân Xmit( PIC 1) nối với SCV( PIC 2)/
chân SCV (PIC 1) nói với Xmit ( PIC 2).

ko biết như vậy có dc ko

con dây là đoạn code của 2 con PIC của em

CHƯƠNG TRÌNH BIÊN DỊCH KO BÁO LỔI NHƯNG NÓ KO HIỂU HAY SAO MÀ KO HIỆN CHỬ "HELLO!" LEN LCD. HIX BÁC GIÚP EM.

CODE PIC 1:

///////////////////////////////////////////////////


#include "E:\MACH DIEN\PIC\Khaibao\khaibao.c" // HÀM KHAI BÁO CỦA EM.
#use rs232(baud=9600,parity=N,xmit=PIN_C6,RCV=PIN_C7)
int i;
char string[10];
void main()
{
strcpy(string,"hello!"); //COPY chử " hello! " vào chuổi string
puts(string); //gởi chuổi string đi.
WHILE(1)
{
}
}


//////////////////////////////////////////////////////////////////

CODE PIC 2
////////////////////////////
#include "E:\MACH DIEN\PIC\khaibao\khaibao.c" HÀM KHAI BÁO CỦA EM.
//#include "string.h"
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7)

char string[30];
int i;

void main()
{

set_tris_e(0);
set_tris_d(0);

gets(string); ĐỌC RS232 GÁN NÓ VÀO CHUỔI STRING CỦA PIC 2.
khoitao();

portd=0x80;
lenh();

for(i=0;i<10;i++)
{portd=string[i]; ĐỬA CHUỔI STRING LÊN LCD
xuat();
}
}
Mình nghĩ ở chương trình Slave nên sử dụng ngắt:
#include <LCD.c>
char string;
#INT_RDA
ngat()
{
gets(string);
}
void main()
{
enable_interrupts(INT_RDA);
enable_interrupts(GLOBAL);
lcd_init();
While(1)
{
lcd_gotoxy(2,1);
lcd_putc(string);
}
}
toila83 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 04:57 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam