Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 159 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
159
Dung lượng
4,45 MB
Nội dung
Tài liệu vi xử lý Đại cương CHƯƠNG 1: ĐẠI CƯƠNG Các hệ thống số dùng máy tính loại mã 1.1 Hệ thập phân (Decimal Number System) Trong thực tế, ta thường dùng hệ thập phân để biểu diễn giá trị số Ở hệ thống này, ta dùng tổ hợp chữ số để biểu diễn giá trị Một số hệ thập phân biểu diễn theo số mũ 10 VD: Số 5346,72 biểu diễn sau: 5346,72 = 5.103 + 3.102 + 4.10 + + 7.10-1 + 2.10-2 Tuy nhiên, mạch điện tử, việc lưu trữ phân biệt 10 mức điện áp khác khó khăn việc phân biệt hai mức điện áp lại dễ dàng Do đó, người ta sử dụng hệ nhị phân để biểu diễn giá trị hệ thống số 1.2 Hệ nhị phân (Binary Number System) Hệ nhị phân dùng chữ số để biểu diễn giá trị số Một số nhị phân (binary digit) thường gọi bit Một chuỗi gồm bit nhị phân gọi nibble, chuỗi bit gọi byte, chuỗi 16 bit gọi word chuỗi 32 bit gọi double word Chữ số nhị phân bên phải chuỗi bit gọi bit có ý nghĩa nhỏ (least significant bit – LSB) chữ số nhị phân bên trái chuỗi bit gọi bit có ý nghĩa lớn (most significant bit – MSB) Một số hệ nhị phân biểu diễn theo số mũ Ta thường dùng chữ B cuối chuỗi bit để xác định số nhị phân VD: Số 101110.01b biểu diễn giá trị số: 101110.01b = 1x25 + 0x24 + 1x23 +1x22 + 1x21 + + 0x2-1 + 1x2-2 Chuyển số nhị phân thành số thập phân: Để chuyển số nhị phân thành số thập phân, ta cần nhân chữ số số nhị phân với giá trị thập phân cộng tất giá trị lại VD: 1011.11B = 1x23 + 0x22 + 1x21 + + 1x2-1 + 1x2-2 = 11.75 Chuyển số thập phân thành số nhị phân: Để chuyển số thập phân thành số nhị phân, ta dùng phương pháp sau: ¾ Phương pháp 1: Ta lấy số thập phân cần chuyển trừ 2i 2i số lớn nhỏ hay số thập phân cần chuyển Sau đó, ta lại lấy kết thực tương tự 20 dừng Trong trình thực hiện, ta ghi lại giá trị hay cho bit tuỳ theo trường hợp số thập phân nhỏ 2i (0) hay lớn 2i (1) Phạm Hùng Kim Khánh Trang Tài liệu vi xử lý Đại cương i VD: Xét số 21 số lớn 24 23 22 21 20 16 21 = 1 5 1 ( 21 = 10101B) ¾ Phương pháp 2: Lấy số cần chuyển chia cho 2, ta nhớ lại số dư lấy tiếp thương kết chia cho thực tương tự thương cuối Kết chuyển đổi chuỗi bit số dư lấy theo thứ tự ngược lại VD: Chuyển 227 số nhị phân Số bị chia Thương 227 113 113 56 56 28 28 14 14 7 3 1 ( 227 = 11100011b) Số dư ( LSB) 0 1 ( MSB) Để thực chuyển số thập phân nhỏ sang số nhị phân, ta làm sau: lấy số cần chuyển nhân với 2, giữ lại phần nguyên lại lấy phần lẻ nhân với Quá trình tiếp tục phần lẻ dừng Kết chuyển đổi chuỗi bit giá trị phần nguyên VD: Chuyển 0.625 thành số nhị phân 0.625 × = 1.25 0.25 × = 0.5 0.5 × = 1.0 ( 0.625 = 0.101b) 1.3 Hệ thập lục phân (Hexadecimal Number System) Như biết trên, dùng hệ nhị phân cần số lượng lớn bit để biểu diễn Giả sử số 1024 = 210 cần 10 bit để biểu diễn Để rút ngắn kết biểu diễn, ta dùng hệ thập lục phân dựa sở số mũ 16 Khi đó, bit hệ nhị phân (1 nibble) biểu diễn chữ số hệ thập lục phân (gọi số hex) Trong hệ thống này, ta dùng số kí tự A F để biểu diễn cho giá trị số Thông thường, ta dùng chữ h cuối để xác định số thập lục phân 1.4 Mã BCD (Binary Coded Decimal) Trong thực tế, số ứng dụng đếm tần, đo điện áp, … ngõ dạng số thập phân, ta dùng mã BCD Mã BCD dùng bit nhị phân để mã hoá cho số thập phân Như vậy, số hex A F không tồn mã BCD Phạm Hùng Kim Khánh Trang Tài liệu vi xử lý VD: 1.5 Đại cương Số thập phân Số BCD 0101 0010 1001 Mã hiển thị Led đoạn (7-segment display) Đối với ứng dụng dùng hiển thị số liệu Led đoạn, ta dùng mã hiển thị Led đoạn (bảng 1.1) a f a b c d e f g b g e c d Bảng 1.1: Số thập phân Số thập lục phân 10 11 12 13 14 15 A B C D E F Số nhị phân 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Mã Led đoạn a b c d e f g Hiển thị 1111110 0110000 1101101 1111011 0110011 1011011 1011111 1110000 1111111 1110011 1111101 A 0011111 B 0001101 C 0111101 D 1101111 E 1000111 F Các phép toán số học 2.1 Hệ nhị phân 2.1.1 Phép cộng Phép cộng hệ nhị phân thực giống hệ thập phân Bảng thật phép cộng bit với bit nhớ (carry) sau: Phạm Hùng Kim Khánh Trang Tài liệu vi xử lý Đại cương Bảng 1.2: A 0 0 1 1 Vào B CIN 0 1 1 0 1 1 S 1 0 Ra COUT 0 1 1 S = A ⊕ B ⊕ CIN COUT = AB + CIN(A ⊕ B) VD: 1001 1010 + 1100 1100 Nhớ 0111 0110 2.1.2 Số bù (2’s component) Trong hệ thống số thông thường, để biểu diễn số âm ta cần thêm dấu – vào chữ số Tuy nhiên, hệ thống máy tính, ta khơng thể biểu diễn Phương pháp thông dụng dùng bit có ý nghĩa lớn (MSB) làm bit dấu (sign bit): MSB = số âm MSB = số dương Khi đó, bit lại biểu diễn độ lớn (magnitude) số Như vậy, ta dùng bit để biểu diễn thu 256 tổ hợp ứng với giá trị 255 (số không dấu) hay –127 –0 +0 … +127 (số có dấu) Để thuận tiện việc tính tốn số có dấu, ta dùng dạng biểu diễn đặc biệt số bù Số bù số nhị phân xác định cách lấy đảo bit cộng thêm VD: Số biểu diễn : 0000 0111 có MSB = (biểu diễn số dương) Số bù : 1111 1000 + = 1111 1001 Số đại diện cho số – Ta thấy, để thực việc xác định số bù số A, cần phải: - Biểu diễn số A theo mã bù - Đảo bit (tìm số bù A) - Cộng thêm vào để nhận số bù Khi biểu diễn theo số bù 2, sử dụng bit ta có giá trị số thay đổi từ 128 127 2.1.3 Phép trừ Phép trừ số nhị phân thực tương tự hệ thập phân Bảng thật phép trừ bit với bit mượn (borrow) sau: Phạm Hùng Kim Khánh Trang Tài liệu vi xử lý Đại cương Bảng 1.3: A 0 0 1 1 Vào B BIN 0 1 1 0 1 1 D 1 0 Ra BOUT 1 0 S = A ⊕ B ⊕ BIN BOUT = AB + A ⊕ B BIN ( ) VD: 0110 1101 = 149 - 0011 0001 = 49 0011 1100 = 100 Ngoài cách trừ trên, ta thực phép trừ thông qua số bù số trừ VD: 0110 1101 - 0011 0001 Số bù → Nhớ 0110 1101 + 1100 1111 0011 1100 1100 1110 + = 1100 1111 (Số bù 2) Trong phép cộng với số bù 2, ta bỏ qua bit nhớ cuối → kết phép cộng số bù 0011 1100 Đây kết phép trừ, bit MSB = cho biết kết số dương VD: 77 0100 1101 0100 1101 - 88 - 0101 1000 → + 1010 1000 - 11 1111 0101 Số 88 = 0101 1000 → số bù 1010 0111 → số bù 2: 1010 1000 Kết phép cộng số bù 1111 0101 có MSB = nên số âm Số bù 0000 1010 → số bù 2: 0000 1011 Kết 11 nên phép trừ cho kết –11 Ta thấy, để thực chuyển số bù thành số có dấu cần thực hiện: - Lấy bù bit để tìm số bù - Cộng với - Thêm dấu trừ để xác định số âm Phạm Hùng Kim Khánh Trang Tài liệu vi xử lý Đại cương 2.1.4 Phép nhân Phép nhân số nhị phân tương tự số thập phân Chú ý phép nhân nhân số bit có kết số bit, số bit có kết số 16 bit, … VD: 11 1011b X9 1001b 99 1011 0000 0000 1011 1100011b Đối với máy tính, phép nhân thực phương pháp cộng dịch phải (add-and-right-shift): - Thành phần dầu tiên tổng số bị nhân LSB số nhân Ngược lại, LSB số nhân thành phần - Mỗi thành phần thứ i tính tương tự với điều kiện phải dịch trái số bị nhân i bit - Kết cần tìm tổng thành phần nói 2.1.5 Phép chia Phép chia số nhị phân tương tự số thập phân VD: 30/5 = 11110 110 110 101 011 000 110 110 Tương tự phép nhân, ta dùng phép trừ phép dịch trái thực phép trừ Tuy nhiên, để thuận tiện cho tính tốn, thay dùng phép trừ số chia, ta thực phép cộng số bù số chia - Đổi số chia số bù - Lấy số bị chia cộng với số bù số chia + Nếu kết có bit dấu = bit tương ứng thương = + Nếu kết có bit dấu = bit tương ứng thương = ta phải khôi phục lại giá trị số bị chia cách cộng kết với số chia - Dịch trái kết thu thực tiếp tục kết hay nhỏ số chia Phạm Hùng Kim Khánh Trang Tài liệu vi xử lý Đại cương 2.2 Hệ thập lục phân 2.2.1 Phép cộng Thực chuyển số hex cần cộng thành số nhị phân, tính kết số nhị phân sau chuyển lại thành số hex VD: 7Ah 3Fh B9h → → ← 0111 1010 0011 1111 1011 1001 Thực cộng trực tiếp số hex, kết cộng lớn 15 nhớ trừ cho 16 VD: A F → B9h 1010 2510 Ah + Fh = 1010 + 1510 = 2510 7h + 3h = 710 + 310 = 1010 → nhớ 2510 – 1610 = 910 = 9h → cộng số nhớ: 1010 + 110 = 1110 = Bh 2.2.2 Phép trừ Thực tương tự phép cộng Các thiết bị số 3.1 Cổng đệm (buffer) cổng logic (logic gate) Cổng đệm: A A X A X Cổng NOT: A X = A Cổng AND: A B Phạm Hùng Kim Khánh X = AB A 0 1 B 1 X 0 Trang Tài liệu vi xử lý Đại cương Cổng NAND: A B X = AB A 0 1 B 1 X 1 A 0 1 B 1 X 1 A 0 1 B 1 X 0 A 0 1 B 1 X 1 A 0 1 B 1 X 0 Cổng OR: A B X= A + B Cổng NOR: A B X= A + B Cổng EX-OR: A B X=A⊕B Cổng EX-NOR: A 3.2 X = A ⊕B Thiết bị logic lập trình Thay sử dụng cổng logic rời rạc, ta dùng thiết bị logic lập trình (programmable logic device) PLA (Programmable Logic Array), PAL (Programmable Array Logic) hay PROM (Programmable Read Only Memory) để liên kết thiết bị LSI (Large Scale Intergration) PLA (hay FPLA – Field PLA): Dùng ma trận cổng AND OR để lập trình cácc phá huỷ cầu chì FPLA linh động lại khó lập trình Phạm Hùng Kim Khánh Trang Tài liệu vi xử lý Đại cương A B AB AB B A B AB A + AB AB + B Hình 1.1 – Sơ đồ PLA PAL: ma trận OR cố định sẵn ta lập trình ma trận AND A B AB AB B A Hình 1.2 – Sơ đồ PAL A+ A B AB + B A +B AB + A B PROM: ma trận AND cố định sẵn ta lập trình ma trận OR A B AB AB AB AB AB+AB AB AB Hình 1.3 – Sơ đồ PROM AB + A B Phạm Hùng Kim Khánh Trang Tài liệu vi xử lý Đại cương 3.3 Chốt, flipflop ghi Chốt (latch): Chốt thiết bị số lưu trữ lại giá trị số ngõ D Q D X CLK CLK 1 Q QN Q Q CLK D PR CL Flipflop: CL: clear - PR CL D CLK Q 1 1 1 1 1 0 X X X X X ↑ ↑ X X X QN QN PR: Preset Q QN QN CLK: Clock Nếu xuất cạnh lên tín hiệu CLK ngõ Q có giá trị theo liệu D Nếu PR = Q = Nếu CL = Q = Trạng thái PR = CL = trạng thái cấm, ngõ không ổn định - Thanh ghi (register): Thanh ghi nhóm flipflop kết nối song song để lưu trữ số nhị phân Giá trị nhị phân đưa vào ngõ vào flipflop Khi có tác động cạnh lên tín hiệu CLK ngõ flipflop lưu trữ giá trị nhị phân số nhị phân đưa vào tác động cạnh len cho tín hiệu CLK D1 CLK Q D 4 Q D0 CLK Q D PR Q Q Q CL CLK D Q0 Q CLK PR CL D2 PR Q CL D CL PR D3 Q1 Q2 Q3 CLK Hình 1.4 – Thanh ghi dạng đơn giản Phạm Hùng Kim Khánh Trang 10 Tài liệu Lập trình hệ thống Chương Chương GIAO TIẾP CỐNG SONG SONG Cấu trúc cổng song song Cổng song song gồm có đường điều khiển, đường trạng thái đường liệu bao gồm chế độ hoạt động: - Chế độ tương thích (compatibility) - Chế độ nibble - Chế độ byte - Chế độ EPP (Enhanced Parallel Port) - Chế độ ECP (Extended Capabilities Port) chế độ sử dụng port song song chuẩn (SPP – Standard Parallel Port) chế độ 4, cần thêm phần cứng phép hoạt động tốc độ cao Sơ đồ chân máy in sau: Chân 10 Tín hiệu STR (Out) D0 D1 D2 D3 D4 D5 D6 D7 ACK (In) 11 BUSY (In) 12 13 14 PAPER EMPTY (In) SELECT (In) 15 17 ERROR (In) INIT (Out) SELECTIN (Out) 18-25 GROUND 16 AUTOFEED (Out) Mơ tả Mức tín hiệu thấp, truyền liệu tới máy in Bit liệu Bit liệu Bit liệu Bit liệu Bit liệu Bit liệu Bit liệu Bit liệu Mức thấp: máy in nhận ký tự có khả nhận Mức cao: ký tự nhận; đệm máy in đầy; khởi động máy in; máy in trạng thái off-line Mức cao: hết giấy Mức cao: máy in trạng thái online Tự động xuống dòng; mức thấp: máy in xuống dòng tự động Mức thấp: hết giấy; máy in offline; lỗi máy in Mức thấp: khởi động máy in Mức thấp: chọn máy in 0V Cổng song song có ba ghi truyền liệu điều khiển máy in Địa sở ghi cho tất cổng LPT (line printer) từ LPT1 đến LPT4 lưu trữ vùng liệu BIOS Thanh ghi liệu định vị offset 00h, ghi trang Phạm Hùng Kim Khánh Trang 116 Tài liệu Lập trình hệ thống Chương thái 01h, ghi điều khiển 02h Thông thường, địa sở LPT1 378h, LPT2 278h, địa ghi trạng thái 379h 279h địa ghi điều khiển 37Ah 27Ah Tuy nhiên số trường hợp, địa cổng song song khác q trình khởi động BIOS BIOS lưu trữ địa sau: Địa Chức 0000h:0408h Địa sở LPT1 0000h:040Ah Địa sở LPT2 0000h:040Ch Địa sở LPT3 Định dạng ghi sau: Thanh ghi liệu (hai chiều): Tín hiệu máy in D7 D6 D5 D4 D3 D2 D1 D0 Chân số Thanh ghi trạng thái máy in (chỉ đọc): Tín hiệu máy in BUSY Số chân cắm 11 ACK 10 PAPER EMPTY SELECT 12 ERROR IRQ 13 15 - 1 x x - - Thanh ghi điều khiển máy in: DIR IRQ hiệu x x Tín SELECTIN INIT AUTOFEED Enable máy in Số chân cắm - - 17 16 14 x: không sử dụng IRQ Enable: yêu cầu ngắt cứng; = cho phép; = không cho phép STROBE Chú ý chân BUSY nối với cổng đảo trước đưa vào ghi trạng thái, bit SELECTIN , AUTOFEED STROBE đưa qua cổng đảo trước đưa chân cổng máy in Thông thường tốc độ xử lý liệu thiết bị ngoại vi máy in chậm PC nhiều nên đường ACK , BUSY STR sử dụng cho kỹ thuật bắt tay Khởi đầu, PC đặt liệu lên bus sau kích hoạt đường STR xuống mức thấp để thông tin cho máy in biết liệu ổn định bus Khi máy in xử lý xong liệu, trả lại tín hiệu ACK xuống mức thấp để ghi nhận PC đợi đường BUSY từ máy in xuống thấp (máy in khơng bận) đưa tiếp liệu lên bus Phạm Hùng Kim Khánh Trang 117 Tài liệu Lập trình hệ thống Chương Giao tiếp với thiết bị ngoại vi 2.1 Giao tiếp với máy tính Quá trình giao tiếp với cổng song song dùng chế độ: chế độ chuẩn SPP chế độ mở rộng Việc giao tiếp chế độ chuẩn mô tả sau: 13 25 12 24 11 23 10 22 21 20 19 18 17 16 15 14 13 25 12 24 11 23 10 22 21 20 19 18 17 16 15 14 Hình 5.1 - Trao đổi liệu qua cổng song song PC dùng chế độ chuẩn Sơ đồ chân kết nối mô tả sau: PC1 Chức D0 D1 D2 D3 D4 BUSY ACK PAPER EMPTY SELECT ERROR GND PC2 Chân Chân 11 10 12 13 15 25 15 13 12 10 11 25 Chức ERROR SELECT PAPER EMPTY ACK BUSY D4 D3 D2 D1 D0 GND Ngoài ra, việc kết nối máy tính sử dụng cổng song song dùng chế độ mở rộng, chế độ cho phép giao tiếp với tốc độ cao Phạm Hùng Kim Khánh Trang 118 Tài liệu Lập trình hệ thống Chương 13 25 12 24 11 23 10 22 21 20 19 18 17 16 15 14 13 25 12 24 11 23 10 22 21 20 19 18 17 16 15 14 Hình 5.2 - Trao đổi liệu qua cổng song song PC dùng chế độ mở rộng Sơ đồ chân kết nối mô tả sau: PC1 PC2 Chức Chân Chân Chức D0 D1 D2 D3 D4 D5 D6 D7 SELECT BUSY ACK SELECTIN INIT STROBE 13 11 10 17 16 17 16 13 11 10 D0 D1 D2 D3 D4 D5 D6 D7 SELECTIN INIT STROBE SELECT BUSY ACK 2.2 Giao tiếp thiết bị khác Quá trình giao tiếp với thiết bị ngoại vi thực thông qua chế độ chuẩn Để đọc liệu, dùng IC ghép kênh 2Ỉ1 74LS257 dùng bit trạng thái cổng song song xuất liệu sử dụng đường liệu D0 – D7 Phạm Hùng Kim Khánh Trang 119 Tài liệu Lập trình hệ thống Chương 74LS06 STROBE 14 15 16 17 18 19 20 21 22 10 23 11 24 12 25 13 10K1 13 14 17 18 11 D0 D1 D2 D3 D4 D5 D6 D7 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 2 12 15 16 19 VCC CLK OE 74LS374 ACK PAPER EMPTY 74LS257 SELECT 74LS06 BUSY 12 1Y 2Y 3Y 4Y 74LS06 AUTO FEED 1B 2B 3B 4B A/B G 74LS06 SELECT IN 1A 2A 3A 4A SW0-7 11 14 10 13 15 12 15 16 19 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 D0 D1 D2 D3 D4 D5 D6 D7 CLK OE 13 14 17 18 10K 11 74LS374 Hình 5.3 – Mạch giao tiếp đơn giản thông qua cổng máy in Giao diện: Hình 5.4 – Giao diện chưnơg trình giao tiếp với cổng máy in Chương trình giao tiếp VB sử dụng thư viện liên kết động để trao đổi liệu với cổng máy in Thư viện IO.DLL bao gồm hàm sau: - Hàm PortOut: xuất byte cổng Phạm Hùng Kim Khánh Trang 120 VCC Tài liệu Lập trình hệ thống Chương Private Declare Sub PortOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Byte) Port: địa cổng, Data: liệu xuất - Hàm PortWordOut: xuất word cổng Private Declare Sub PortWordOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Integer) - Hàm PortDWordOut: xuất double word cổng Private Declare Sub PortDWordOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Long) - Hàm PortIn: nhập byte từ cổng, trả giá trị nhập Private Declare Function PortIn Lib "IO.DLL" (ByVal Port As Integer) As Byte - Hàm PortWordIn: nhập word từ cổng Private Declare Function PortWordIn (ByVal Port As Integer) As Integer Hàm PortDWordIn: nhập double word từ cổng Private Declare Function PortDWordIn (ByVal Port As Integer) As Long Lib "IO.DLL" Lib "IO.DLL" - Chương trình nguồn: VERSION 5.00 Begin VB.Form Form1 Caption = "Printer Interface Example" ClientHeight = 4665 ClientLeft = 60 ClientTop = 345 ClientWidth = 3585 LinkTopic = "Form1" ScaleHeight = 4665 ScaleWidth = 3585 StartUpPosition = 'Windows Default Begin VB.CommandButton cmdReceive Caption = "Receive" Height = 495 Left = 1200 TabIndex = 18 Top = 3960 Width = 1095 Phạm Hùng Kim Khánh Trang 121 Tài liệu Lập trình hệ thống End Begin VB.CheckBox Height Index Left TabIndex Top Width End Begin VB.CheckBox Height Index Left TabIndex Top Width End Begin VB.CheckBox Height Index Left TabIndex Top Width End Begin VB.CheckBox Height Index Left TabIndex Top Width End Begin VB.CheckBox Height Index Left Phạm Hùng Kim Khánh Chương chkSW = 375 = = 1800 = 17 = 3480 = 1575 chkSW = 375 = = 1800 = 16 = 3000 = 1575 chkSW = 375 = = 1800 = 15 = 2520 = 1575 chkSW = 375 = = 1800 = 14 = 2040 = 1575 chkSW = 375 = = 1800 Trang 122 Tài liệu Lập trình hệ thống Chương TabIndex = 13 Top = 1560 Width = 1575 End Begin VB.CheckBox chkSW Height = 375 Index = Left = 1800 TabIndex = 12 Top = 1080 Width = 1575 End Begin VB.CheckBox chkSW Height = 375 Index = Left = 1800 TabIndex = 11 Top = 600 Width = 1575 End Begin VB.CheckBox chkSW Height = 375 Index = Left = 1800 TabIndex = 10 Top = 120 Width = 1575 End Begin VB.CommandButton cmdExit Caption = "Exit" Height = 495 Left = 2400 TabIndex = Top = 3960 Width = 975 End Begin VB.CommandButton cmdSend Phạm Hùng Kim Khánh Trang 123 Tài liệu Lập trình hệ thống Caption = Height = Left = TabIndex = Top = Width = End Begin VB.Label lblLED BackStyle = Caption = Height = Index = Left = TabIndex = Top = Width = End Begin VB.Label lblLED BackStyle = Caption = Height = Index = Left = TabIndex = Top = Width = End Begin VB.Label lblLED BackStyle = Caption = Height = Index = Left = TabIndex = Top = Width = End Phạm Hùng Kim Khánh Chương "Send" 495 3960 1095 'Transparent "LED7" 375 240 3480 1095 'Transparent "LED6" 375 240 3000 975 'Transparent "LED5" 375 240 2520 975 Trang 124 Tài liệu Lập trình hệ thống Begin VB.Label BackStyle Caption Height Index Left TabIndex Top Width End Begin VB.Label BackStyle Caption Height Index Left TabIndex Top Width End Begin VB.Label BackStyle Caption Height Index Left TabIndex Top Width End Begin VB.Label BackStyle Caption Height Index Left TabIndex Phạm Hùng Kim Khánh Chương lblLED = = = = = = = = 'Transparent "LED4" 375 240 2040 975 lblLED = = = = = = = = 'Transparent "LED3" 375 240 1560 975 lblLED = = = = = = = = 'Transparent "LED2" 375 240 1080 975 lblLED = = = = = = 'Transparent "LED1" 375 240 Trang 125 Tài liệu Lập trình hệ thống Top Width End Begin VB.Label BackStyle Caption Height Index Left TabIndex Top Width End Begin VB.Shape BorderColor FillColor FillStyle Height Index Left Shape Top Width End Begin VB.Shape BorderColor FillColor FillStyle Height Index Left Shape Top Width End Begin VB.Shape BorderColor Phạm Hùng Kim Khánh Chương = = 600 975 lblLED = = = = = = = = 'Transparent "LED0" 375 240 120 975 shpLED = = = = = = = = = &H000000FF& &H000000FF& 'Solid 375 840 'Circle 3480 375 shpLED = = = = = = = = = &H000000FF& &H000000FF& 'Solid 375 840 'Circle 3000 375 shpLED = &H000000FF& Trang 126 Tài liệu Lập trình hệ thống FillColor = FillStyle = Height = Index = Left = Shape = Top = Width = End Begin VB.Shape shpLED BorderColor = FillColor = FillStyle = Height = Index = Left = Shape = Top = Width = End Begin VB.Shape shpLED BorderColor = FillColor = FillStyle = Height = Index = Left = Shape = Top = Width = End Begin VB.Shape shpLED BorderColor = FillColor = FillStyle = Height = Index = Phạm Hùng Kim Khánh Chương &H000000FF& 'Solid 375 840 'Circle 2520 375 &H000000FF& &H000000FF& 'Solid 375 840 'Circle 2040 375 &H000000FF& &H000000FF& 'Solid 375 840 'Circle 1560 375 &H000000FF& &H000000FF& 'Solid 375 Trang 127 Tài liệu Lập trình hệ thống Chương Left = 840 Shape = 'Circle Top = 1080 Width = 375 End Begin VB.Shape shpLED BorderColor = &H000000FF& FillColor = &H000000FF& FillStyle = 'Solid Height = 375 Index = Left = 840 Shape = 'Circle Top = 600 Width = 375 End Begin VB.Shape shpLED BorderColor = &H000000FF& FillColor = &H000000FF& FillStyle = 'Solid Height = 375 Index = Left = 840 Shape = 'Circle Top = 120 Width = 375 End End Attribute VB_Name = "Form1" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False 'IO.DLL Private Declare Sub PortOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Byte) Phạm Hùng Kim Khánh Trang 128 Tài liệu Lập trình hệ thống Chương Private Declare Function PortIn Lib "IO.DLL" (ByVal Port As Integer) As Byte 'Variable Private BA_LPT As Integer Private Sub cmdExit_Click() End End Sub Private Sub cmdReceive_Click() Dim n As Integer Dim n1 As Integer Dim i As Integer PortOut BA_LPT + 2, &H8 'SELECTIN = PortOut BA_LPT + 2, 'SELECTIN = n1 = PortIn(BA_LPT + 1) 'Doc bit thap n1 = n1 / &H10 'Dich phai bit PortOut BA_LPT + 2, 'AUTOFEED=1 n = PortIn(BA_LPT + 1) 'Doc bit cao n = n And &HF0 n = n + n1 For i = To chkSW(i).Value = n Mod If chkSW(i).Value = Then chkSW(i).Caption = "Switch " & Str(i) & " off" Else chkSW(i).Caption = "Switch " & Str(i) & " on" End If n = Fix(n / 2) Next i End Sub Private Sub cmdSend_Click() Dim t As Integer Dim i As Integer Phạm Hùng Kim Khánh Trang 129 Tài liệu Lập trình hệ thống Dim s As String t = For i = To t = t + (2 ^ Next i PortOut BA_LPT, PortOut BA_LPT, PortOut BA_LPT, End Sub Chương i) * (1 - shpLED(i).FillStyle) t 'STROBE = 'STROBE = Private Sub Form_Load() BA_LPT = &H378 PortOut BA_LPT + 2, End Sub Private Sub lblLED_Click(Index As Integer) shpLED(Index).FillStyle = shpLED(Index).FillStyle End Sub Phạm Hùng Kim Khánh - Trang 130 ... khối vi xử lý Phạm Hùng Kim Khánh Trang 14 Tài liệu vi xử lý Đại cương 4.2.4 Sơ đồ khối hệ vi xử lý ADDRESS BUS Input Port µP Memory Output Port DATA BUS CONTROL BUS Hình 1.9 – Sơ đồ khối hệ vi xử. .. = taw Phạm Hùng Kim Khánh Trang 21 Tài liệu vi xử lý Tổ chức hệ thống vi xử lý CHƯƠNG 2: TỔ CHỨC HỆ THỐNG VI XỬ LÝ Giới thiệu Tất máy vi tính IBM họ PC máy vi tính tương thích IBM sử dụng µP... (hay không) Dữ liệu Trang 29 Tài liệu vi xử lý Tổ chức hệ thống vi xử lý Tín hiệu BHE /S7 (Bus High Enable) xuất trạng thái T1 Khi chân mức thấp, AD8 ÷ AD15 liên quan đến vi? ??c truyền liệu Quá trình