Mình viết 1 chương trình dùng để test bộ nhớ ngoài, tức là lần lượt ghi và đọc các byte mẫu(pattern) vào RAM ngoài và so sánh 2 lần đọc ghi xem có giống nhau không. Kết quả xuất ra LCD 16x2
Viết bằng ASM và dùng MOVX để đọc ghi dữ liệu ở RAM ngoài
Chương trình mình chạy ok trên proteus. Nhưng không hiểu sao khi test thì các cổng Data và Address của 89C52không xuất các giá trị địa chỉ và dữ liệu, tuy nhiên test vẫn đúng.
Có thể là trình giả lập đã mặc nhiên cho nó 1 bộ nhớ RAM vô hạn và không đả động gì đến RAM ngoài. Như vậy, mình có thể chỉnh ở đâu để nó bắt buộc phải truy xuất ra RAM ngoài.
Mình viết chương trình bằng C, dùng khai báo XDATA thì thấy nó các cổng Address và Data vẫn nháy đều, không hiểu khác nhau như thế nào mà 1 bên có bên không như vây.
Nhờ các cao thủ chỉ bảo
Vấn đề này có thể giải quyết ngay nếu mình có mạch thật để test, nhưng vấn đề là vài bữa nữa mới có mạch thật, trong khi mình muốn xong sớm và chắc chắn 1 tí.
Xin lỗi mình ko public code lên được, vì đây là bài tập lớn, nên sợ anh google tìm ra thì rắc rối.
Viết bằng ASM và dùng MOVX để đọc ghi dữ liệu ở RAM ngoài
Chương trình mình chạy ok trên proteus. Nhưng không hiểu sao khi test thì các cổng Data và Address của 89C52không xuất các giá trị địa chỉ và dữ liệu, tuy nhiên test vẫn đúng.
Có thể là trình giả lập đã mặc nhiên cho nó 1 bộ nhớ RAM vô hạn và không đả động gì đến RAM ngoài. Như vậy, mình có thể chỉnh ở đâu để nó bắt buộc phải truy xuất ra RAM ngoài.
Mình viết chương trình bằng C, dùng khai báo XDATA thì thấy nó các cổng Address và Data vẫn nháy đều, không hiểu khác nhau như thế nào mà 1 bên có bên không như vây.
Nhờ các cao thủ chỉ bảo
Vấn đề này có thể giải quyết ngay nếu mình có mạch thật để test, nhưng vấn đề là vài bữa nữa mới có mạch thật, trong khi mình muốn xong sớm và chắc chắn 1 tí.
Xin lỗi mình ko public code lên được, vì đây là bài tập lớn, nên sợ anh google tìm ra thì rắc rối.
Comment