Danh mục tài liệu

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

Số trang: 16      Loại file: doc      Dung lượng: 80.00 KB      Lượt xem: 32      Lượt tải: 0    
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

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...
Nội dung trích xuất từ tài liệu:
CHƯƠNG I: PHÂN TÍCH CHƯƠNG TRÌNHThiÕtkÕm¹chlogicsèPhÇnIII:PhÇnmÒm®iÒukhiÓ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ÕtkÕm¹chlogicsèPhÇnIII:PhÇnmÒm®iÒukhiÓ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 P 15 00111 * 38 10011 61 11110 1 0 1 Q 16 01000 / 39 10011 | 62 11111 0 1 0 R 17 01000 = 40 10100 spac 63 11111 1 0 e 1 S 18 01001 > 41 10100 0 1 T 19 01001 < 42 10101 1 0 U 20 01010 . 43 10101 0 1 V 21 01010 , 44 10110 1 0 W 22 01011 : 45 10110 0 1 Thanh ghi trạng thái có 8 bit (S0 ÷ S7), dùng để thu nhận những thông tin từ mạch bên ngoài gửi đến qua các chân: 10 và 13. Chức năng từng chân được nêu như bảng dưới đây: Bit tương ứng Chân trên thanh ghi Chức năng trạng thái ...