chào các bác , em cần sơ đồ truyền dữ liệu giữa 2 vdk bác nào có sơ đồ post lên giùm em được không
truyền dữ liệu giữa 2 vdk
Collapse
X
-
Chào,
Nếu chỉ để lập trình cho biết, bạn có thể nối thẳng chân phát cho chân thu (của cùng một con VDK). Rồi lập trình vô tư, xem như 2 con VDK đang "nói chuyện" với nhau.
Còn nếu làm thiệt thì bạn nên xem sách VDK. Cái này sách nói nhiều lắm, source code đầy đủ. (chít cha quên hỏi bạn đang dùng loại VDK nào, một số loại VDK chưa có sách)
ThânChưa thành tỷ phú, chưa thèm lấy vợ ...
Comment
-
-
Truyền tốc độ cao khoảng 115200 baud/s:
- nếu bít smod trong thanh ghi PCON là 0 thì cách tính tốc độ của uart theo công thức như sau:
TH0=256-(thachanh/384/baud)
- nếu bít smod=1 thì tốc độ baud được nhân đôi. Công thức như sau:
TH0=256-(thachanh/192/baud)
do tốc độ thạch anh của 89 tối đa là 24MHz nên nếu muốn sử dụng ở tốc độ baud 115200. thì phải dùng thach anh 22.1184Mhz.
do vậy giá trị của TH1 được nạp vào để phát xung cho UART được tính theo công thức thứ 2.
TH0=256-22118400/192/115200 =256-1=255. nên chúng ta có thể viết chương trình như sau:
//=============
#include <regx51.h>
void main(void)
{
SCON=0X50; //khởi tạo UART.
TMOD=0X20;//timer1 autoreload, phát xung cho UART
TH1=255;//giá trị nạp vào là 255.
PCON=PCON ^ 0x80;//on bít7(smod)
TR1=1;//phát xung cho UART
//các lệnh kế tiếp
..............................
}
Comment
-
góp vui tí nhỉ? dùng cho 8952 với Clock gen = Timer2
SCON=0x52;
T2CON= 0x34;
RCAP2H = 0xFF;
RCAP2L = 0xFD;
TR2=1;
Xtal = 11.0592MHz
Trường hợp này không đúng với 8952Nguyên văn bởi hungnpdo tốc độ thạch anh của 89 tối đa là 24MHz nên nếu muốn sử dụng ở tốc độ baud 115200. thì phải dùng thach anh 22.1184Mhz.|
Comment
-
Mình muốn giao tiếp kiểu master và slave (vi điều khiển 89S52). Ai biết tài liệu nào có nói cho mình biết với.
Comment
Bài viết mới nhất
Collapse

Comment