Mình có cái mạch sơ đồ như hình vẽ sau
Trong đó mình sử dụng thạch anh có tần số 11.0592MHz. Các thông số của các linh kiện khác ở luôn trong hình vẽ. Cổng COM mô phỏng trong Proteus là COM4. Mình dùng chương trình Virtual Serial Port Driver 6.9 để mình tạo cổng COM ảo. Mình sử dụng chương trình HyperTerminal ( cái này không có sẵn trong windows 7 nên mình download trên mạng).
Mình dùng Virtual Serial Port tạo hai cổng COM4 và COM5 kết nối với nhau. COM4 sử dụng trong proteus, COM5 mình dùng cho HyperTerminal
Dưới đây là chương trình mình viết cho AT80C51. Chương trình này có mục đich gửu chuỗi kí tự " Vi dieu khien 8051" tới cổng COM ảo để hiện trên HyperTerminal
Nhưng khi mình chạy thì lại không đc như ý muốn. TERMINAL1 nối trực tiếp với 8051 thì lại hiện đúng các kí tự mình muốn. TERMINAL2 nối thông qua mạch MAX232 thì không hiện những gì mình muốn. Còn trên HyperTerminal thì mình không thấy nhận đc kí tự nào cả. Các bạn hãy giúp mình sửa từ sơ đồ mạch, sửa chương trình hay bất kì cái gì để làm cho chương trình hoạt động đc
À còn chương trình mình dùng là Proteus 7.4, Keil C 8.05
Các chương trình khác
Virtual Port Serial 6.9.1. 134
HyperTermial
Các file khác
Các tập tin dính kèm lần lượt dưới đây là ảnh sơ đồ mạch , ảnh khi mạch hoạt đọng bị lỗi và file sơ đồ mạch ở trên mình vẽ bằng proteus
Trong đó mình sử dụng thạch anh có tần số 11.0592MHz. Các thông số của các linh kiện khác ở luôn trong hình vẽ. Cổng COM mô phỏng trong Proteus là COM4. Mình dùng chương trình Virtual Serial Port Driver 6.9 để mình tạo cổng COM ảo. Mình sử dụng chương trình HyperTerminal ( cái này không có sẵn trong windows 7 nên mình download trên mạng).
Mình dùng Virtual Serial Port tạo hai cổng COM4 và COM5 kết nối với nhau. COM4 sử dụng trong proteus, COM5 mình dùng cho HyperTerminal
Dưới đây là chương trình mình viết cho AT80C51. Chương trình này có mục đich gửu chuỗi kí tự " Vi dieu khien 8051" tới cổng COM ảo để hiện trên HyperTerminal
Code:
#include <REGX52.H> #include <stdio.h> char x; // Khai bao mang co chuoi ki tu " Vi dieu khien 8051" unsigned char Ch[20] = {0x56, 0x69, 0x20, 0x64, 0x69, 0x65, 0x75, 0x20, 0x6b, 0x68, 0x69, 0x65, 0x6e, 0x20, 0x38, 0x30, 0x35, 0x31, 0x0a, 0x0d}; void main(void) { SCON = 0x52; //port nôi tiep che do 1, REN = TI =1 TMOD = 0x20; //timer 1 mode 2 TH1 = TL1 = -3; //Toc do boud 9600 TR1 =1; // cho timer chay for ( x = 0;x<=19; x++) { while (!TI); // Cho co bao truyen ki tu TI =0; // Xoa co bao truyen ki tu SBUF =Ch[x]; // Truyen ki tu } }
À còn chương trình mình dùng là Proteus 7.4, Keil C 8.05
Các chương trình khác
Virtual Port Serial 6.9.1. 134
Code:
http://www.mediafire.com/?dn8xgjd4xbehrx8
Code:
http://www.mediafire.com/?skl4wyy8y9l12n6
Các tập tin dính kèm lần lượt dưới đây là ảnh sơ đồ mạch , ảnh khi mạch hoạt đọng bị lỗi và file sơ đồ mạch ở trên mình vẽ bằng proteus
[ATTACH]30703[/ATTACH]
[ATTACH=CONFIG]30704[/ATTACH]
[ATTACH=CONFIG]30705[/ATTACH]
[ATTACH=CONFIG]30704[/ATTACH]
[ATTACH=CONFIG]30705[/ATTACH]
Comment