tailieunhanh - CHƯƠNG I: PHÂN TÍCH CHƯƠNG TRÌNH

Chương trình điều khiển được viết bằng ngôn ngữ C, chạy trong môi trường DOS. Yêu cầu của chương trình là phải có một giao diện thân thiện, giúp người dùng dễ dàng dùng máy tính để nhập các ký tự cần hiển thị tại vị trí mong muốn trên ma trận LED bên ngoài. Khi thực hiện, chương trình phải thường xuyên trao đổi dữ liệu với mạch ngoài qua cổng song song bằng cách truy nhập vào ba thanh ghi của cổng song song là: thanh ghi dữ liệu, thanh ghi trạng thái, thanh ghi điều khiển. Chương trình. | CHƯƠNG I: PHÂN TÍCH CHƯƠNG TRÌNH ThiÕt kÕ m¹ch logic sè PhÇn III: PhÇn mÒm ®iÒu khiÓn CHƯƠNG I: PHÂN TÍCH CHƯƠNG TRÌNH Chương trình điều khiển được viết bằng ngôn ngữ C, chạy trong môi trường DOS. Yêu cầu của chương trình là phải có một giao diện thân thiện, giúp người dùng dễ dàng dùng máy tính để nhập các ký tự cần hiển thị tại vị trí mong muốn trên ma trận LED bên ngoài. Khi thực hiện, chương trình phải thường xuyên trao đổi dữ liệu với mạch ngoài qua cổng song song bằng cách truy nhập vào ba thanh ghi của cổng song song là: thanh ghi dữ liệu, thanh ghi trạng thái, thanh ghi điều khiển. Chương trình mặc định lấy cổng song song ở đây là LPT1 với địa chỉ các thanh ghi được cho (tính ở hệ đếm 16) như sau: Thanh ghi Địa chỉ Dữ liệu 378h Trạng thái 379h Điều khiển 37Ah Để thuận tiện, trong chương trình ta dùng lệnh #define để định nghĩa cho các thanh ghi: #define DataReg 0x378 #define StatusReg 0x379 #define ControlReg 0x37A Thanh ghi dữ liệu có 8 bit (D0 ÷ D7) dùng để đưa ra địa chỉ và mã của ký tự cần ghi vào RAM ở mạch ngoài. Sử dụng lệnh: outportb(DataReg, dữ liệu). Địa chỉ của ký tự cần ghi vào RAM sẽ xác định vị trí của ký tự trên bảng quảng cáo bên ngoài, nó gồm có địa chỉ cột (4 bit đầu, từ D0 đến D3) và địa chỉ cột (3 bit tiếp theo, từ D4 đến D6), tức là cần 7 bit địa chỉ D0 ÷ D6, bit thứ 8 là D7 không dùng. Gọi column là địa chỉ cột và row là địa chỉ hàng của ký tự cần hiển thị thì địa chỉ của ký tự đó trong RAM là add được tính như sau: row ThiÕt kÕ m¹ch logic sè PhÇn III: PhÇn mÒm ®iÒu khiÓn 1 0 1 G 6 00011 3 29 01110 ] 52 11010 0 1 0 H 7 00011 4 30 01111 ! 53 11010 1 0 1 I 8 00100 5 31 01111 ? 54 11011 0 1 0 J 9 00100 6 32 10000 @ 55 11011 1 0 1 K 10 00101 7 33 10000 # 56 11100 0 1 0 L 11 00101 8 34 10001 $ 57 11100 1 0 1 M 12 00110 9 35 10001 % 58 11101 0 1 0 N 13 00110 + 36 10010 ^ 59 11101 1 0 1 O 14 00111 - 37 10010 & 60 11110 0 1 0

TỪ KHÓA LIÊN QUAN
crossorigin="anonymous">
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.