Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 41 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
41
Dung lượng
277,5 KB
Nội dung
PARALLEL PORTPARALLELPORT Cổng máy in hay còn gọi là cổng LPT, cổng song Cổng máy in hay còn gọi là cổng LPT, cổng song song hoặc giao diện Centronic có mặt ở hầu hết song hoặc giao diện Centronic có mặt ở hầu hết các máy tính PC. Cấu trúc của cổng song song các máy tính PC. Cấu trúc của cổng song song rất đơn giản với tám đường dẫn dữ liệu, một rất đơn giản với tám đường dẫn dữ liệu, một đường dẫn mass chung, bốn đường dẫn điều đường dẫn mass chung, bốn đường dẫn điều khiển để chuyển các dữ liệu tới máy in và năm khiển để chuyển các dữ liệu tới máy in và năm đường dẫn trạng thái để truyền các thông tin về đường dẫn trạng thái để truyền các thông tin về trạng thái của máy in ngược trở lại máy tính. Tất trạng thái của máy in ngược trở lại máy tính. Tất cả các đường dẫn của cổng này đều tương thích cả các đường dẫn của cổng này đều tương thích TLL. TLL. PARALLELPORTPARALLELPORT Trên các máy tính PC thông thường các cổng Trên các máy tính PC thông thường các cổng máy in có địa chỉ cơ sở(Base Address: BA) là máy in có địa chỉ cơ sở(Base Address: BA) là 3BCH, 378H,278H,2BCH…trong đó địa chỉ 378H 3BCH, 378H,278H,2BCH…trong đó địa chỉ 378H là địa chỉ thường gặp nhất ở các máy. là địa chỉ thường gặp nhất ở các máy. PARALLELPORTPARALLELPORT Các đường dẫn của cổng máy in được nối với ba Các đường dẫn của cổng máy in được nối với ba thanh ghi 8 bit khác nhau: thanh ghi Dữ liệu thanh ghi 8 bit khác nhau: thanh ghi Dữ liệu (Data), thanh ghi trạng thái(Status) và thanh ghi (Data), thanh ghi trạng thái(Status) và thanh ghi điều khiển(Control). Thanh ghi dữ liệu: có địa chỉ điều khiển(Control). Thanh ghi dữ liệu: có địa chỉ bằng địa chỉ cơ sở, thanh ghi này có 8 đường bằng địa chỉ cơ sở, thanh ghi này có 8 đường dẫn với giao diện hai hướng không đảo, nghĩa là dẫn với giao diện hai hướng không đảo, nghĩa là có thể xuất dữ liệu từ máy tính ra bên ngoài và có thể xuất dữ liệu từ máy tính ra bên ngoài và có thể nhận tín hiệu từ bên ngoài vào thông qua có thể nhận tín hiệu từ bên ngoài vào thông qua thanh ghi này thanh ghi này PARALLELPORTPARALLELPORT thanh ghi Data được nối với các chân từ 2 – 9 thanh ghi Data được nối với các chân từ 2 – 9 trên cổng máy in, tuy nhiên khi ứng dụng trong trên cổng máy in, tuy nhiên khi ứng dụng trong điều khiển và đo lường cần chú ý một đặc điểm điều khiển và đo lường cần chú ý một đặc điểm là không phải bất kỳ thanh ghi Data trên các cổng là không phải bất kỳ thanh ghi Data trên các cổng máy nào cũng là giao diện hai hướng, thực tế máy nào cũng là giao diện hai hướng, thực tế cho thấy đa số trên các cổng máy in thanh ghi cho thấy đa số trên các cổng máy in thanh ghi này chỉ có thể được sử dụng để xuất dữ liệu, tức này chỉ có thể được sử dụng để xuất dữ liệu, tức là chỉ có một hướng là chỉ có một hướng PARALLELPORTPARALLELPORT Thanh ghi trạng thái: có địa chỉ bằng địa chỉ cơ Thanh ghi trạng thái: có địa chỉ bằng địa chỉ cơ sở +1, là một thanh ghi 8 bit nhưng thực tế chỉ có sở +1, là một thanh ghi 8 bit nhưng thực tế chỉ có 5 bit (5 bit cao) được nối với các chân của cổng 5 bit (5 bit cao) được nối với các chân của cổng bao gồm các chân 10,11,12,13,15 bao gồm các chân 10,11,12,13,15 Thanh ghi trạng thái chỉ có thể được truy xuất Thanh ghi trạng thái chỉ có thể được truy xuất theo một hướng. Trong các đường dẫn của thanh theo một hướng. Trong các đường dẫn của thanh ghi này, đường dẫn S7, tức chân 11 là đường ghi này, đường dẫn S7, tức chân 11 là đường dẫn đảo. dẫn đảo. PARALLELPORTPARALLELPORT Thanh ghi Điều khiển: địa chỉ bằng địa chỉ cơ sở Thanh ghi Điều khiển: địa chỉ bằng địa chỉ cơ sở +2, cũng là một thanh ghi giao diện hai hướng, +2, cũng là một thanh ghi giao diện hai hướng, có 4 bit thấp được nối với các chân 1, 14,16, 17 có 4 bit thấp được nối với các chân 1, 14,16, 17 trong đó đa số là các đường dẫn đảo ( chỉ trừ bit trong đó đa số là các đường dẫn đảo ( chỉ trừ bit C2, chân 16). C2, chân 16). Tóm lại, với một cổng LPT kém lý tưởng nhất, ta Tóm lại, với một cổng LPT kém lý tưởng nhất, ta cũng có ít nhất 12 đường tín hiệu về và 9 đường cũng có ít nhất 12 đường tín hiệu về và 9 đường xuất tín hiệu. Con số này là đủ cho những ứng xuất tín hiệu. Con số này là đủ cho những ứng dụng giao tiếp nhỏ và vừa. dụng giao tiếp nhỏ và vừa. PARALLELPORTPARALLELPORT Số nhị phân(Binary), số Thập Lục phân Số nhị phân(Binary), số Thập Lục phân (Hexadecimal), số Thập phân(Decimal): (Hexadecimal), số Thập phân(Decimal): Ví dụ: bạn mắc các Led vào Port Data của cổng Ví dụ: bạn mắc các Led vào Port Data của cổng LPT như sau: LPT như sau: PARALLELPORTPARALLELPORT Bây giờ bạn muốn cho các Led sáng xen kẻ, Bây giờ bạn muốn cho các Led sáng xen kẻ, nghĩa là các Led 0,2,4,6 sáng và các Led còn nghĩa là các Led 0,2,4,6 sáng và các Led còn lại sẽ không sang, như vậy bạn phải xuất ra Port lại sẽ không sang, như vậy bạn phải xuất ra Port Data một số có giá trị bao nhiêu ? Data một số có giá trị bao nhiêu ? Trạng thái các Bit của Port Data phải là: Trạng thái các Bit của Port Data phải là: PARALLELPORTPARALLELPORT Giá trị cần xuất ra Port Data là 01010101, đó là Giá trị cần xuất ra Port Data là 01010101, đó là một số nhị phân. Số nhị phân là số được biểu một số nhị phân. Số nhị phân là số được biểu diễn chỉ bởi 2 ký tự 0 và 1 (số Bin hay số hệ 2). diễn chỉ bởi 2 ký tự 0 và 1 (số Bin hay số hệ 2). Đây là một cách biểu diễn rất phù hợp trong Đây là một cách biểu diễn rất phù hợp trong lĩnh vực kỹ thuật số Một số nhị phân mang một lĩnh vực kỹ thuật số Một số nhị phân mang một giá trị được tính theo quy tắc sau: giá trị được tính theo quy tắc sau: a a n n a a 1 1 a a 0 0 = a = a n n * 2 + + a * 2 + + a 1 1 * 2 + a * 2 + a 0 0 * 2 . * 2 . Nếu ta có một số nhị phân mang n chữ số thì giá Nếu ta có một số nhị phân mang n chữ số thì giá trị của số đó sẽ nằm trong khoảng từ 0 đến 2 trị của số đó sẽ nằm trong khoảng từ 0 đến 2 n n -1 -1 PARALLELPORTPARALLELPORT ví dụ : 01010101 = 0 * 2 ví dụ : 01010101 = 0 * 2 7 7 + 1* 2 + 1* 2 6 6 + 0 * 2 + 0 * 2 5 5 + 1* 2 + 1* 2 4 4 + 0 * 2 + 0 * 2 3 3 + 1* 2 + 1* 2 2 2 + 0 * 2 + 0 * 2 1 1 + 1* 2 + 1* 2 0 0 = 85 = 85 Như vậy, theo yêu cầu điều khiển như trên, ta sẽ Như vậy, theo yêu cầu điều khiển như trên, ta sẽ sử dụng lệnh PortOut của thư viện IO.dll với các sử dụng lệnh PortOut của thư viện IO.dll với các tham số như sau: PortOut &H378, 85 tham số như sau: PortOut &H378, 85 Trong đó 85 là giá trị thập phân được xuất ra, Trong đó 85 là giá trị thập phân được xuất ra, tương ứng với giá trị nhị phân 01010101, còn tương ứng với giá trị nhị phân 01010101, còn &H378 là địa chi của cổng cần xuất ra &H378 là địa chi của cổng cần xuất ra [...]... phép “Not” của Bit đó Vì vậy sau dòng lệnh Res=Res Xor 1 trạng thái của Res sẽ đảo PARALLEL PORT Ngoài ra trong một số trường hợp Masking ta còn sử dụng phép Or PARALLEL PORTPARALLELPORTPARALLELPORTPARALLELPORTPARALLELPORTPARALLELPORTPARALLELPORTPARALLELPORTPARALLELPORTPARALLELPORTPARALLELPORTPARALLELPORT ... báo “đầy” (S2=1) cho bơm tắt (M=0) PARALLEL PORTPARALLELPORT Như vậy sơ đồ kết nối thanh ghi điều khiển sẽ như hình sau: Vấn đề đặt ra bây giờ là làm sao đọc được trạng thái của từng Bit để biết trạng thái của từng cảm biến Ta sẽ dùng kỹ thuật mặt nạ để “che” các Bit không cần thiết và “hiện” Bit cần thiết PARALLEL PORT Để đọc trạng thái S1, ta dùng lệnh ValIn= PortIn &H37A ở đây ValIn là một biến... đây chính là ưu điểm lớn nhất của số hex PARALLEL PORT Sau đây chúng tôi sẽ tóm tắc cách biểu diễn của 16 số đầu tiên dưới dạng số thập phân, nhị phân và thập lục phân để bạn có thể tham khảo và áp dụng quy đổi các số bất kỳ khác Bạn cũng có thể sử dụng công cụ Calculator (calc.exe) có sẵn trong Windows để thực hiện các phép quy đổi PARALLEL PORTPARALLELPORT Kỹ thuật mặt nạ - Masking: Kỹ thuật Masking... trên PARALLEL PORT Cơ bản ta đã đọc được trạng thái của Bit C1 (chứa trong biến Res), tuy nhiên cần chú ý Bit C1 là 1 Bit đảo, trạng thái của C1 trái ngược với trạng thái của cảm biến S1 đặt vào nó, để đảo trạng thái của biến Res (chứa trạng thái của C1) cho phù hợp với trạng thái của cảm biến S1 (điều này thật sự rất cần thiết trong một số trường hợp) ta dùng Phép Xor để Masking PARALLEL PORT Từ... Bit C1, tức trạng thái của cảm biến S1 bởi vì ValIn còn chứa trạng thái của các Bit khác nữa PARALLEL PORT Ở đây ta chỉ quan tâm đến Bit C1 vì vậy ta sẽ dùng phép Logic And để Masking Để biết trạng thái của C1 ta sẽ And ValIn với “mặt nạ” Mask= 2 (00000010), kết quả phép And được giải thích như sau: PARALLELPORT Kết quả sau khi And chỉ có 2 giá trị: Res=0 tương ứng C1=0, C1=1 khi Res=2 Nếu bạn muốn.. .PARALLEL PORT địa chỉ của Port Data &H là gì ? đó là một kí hiệu dùng trong VB chỉ ra rằng con số đi theo sau đó là một con số Thập Lục phân (Hexadecimal hay Hex hay hệ 16) Số Thập Lục phân là số được biểu biễn bởi... biễn bởi 16 ký tự 0…9,A,B,C,D,E,F đại diện cho các giá trị từ 0 đến 15 Việc quy đổi từ một số hex sang một số thập phân được thực hiện theo quy tắc sau : an a1a0 = an *16 n + + a1 *161 + a0 *16 0 PARALLELPORT Nếu ta có một số hex mang n chữ số thì giá trị của số đó sẽ nằm trong khoảng từ 0 đến 16n-1 Ví dụ: FA2 = 15 * 16 2 + 10 * 161 + 2 * 16 0 = 4002 Bạn để ý 16=24, vì vậy 1 chữ số (digit) hex có... - Masking: Kỹ thuật Masking là kỹ thuật “che” hoặc “hiện” một số Bit mong muốn nào đó trong một hoặc nhiều thanh ghi Công cụ để thực hiện kỹ thuật Masking là các phép toán Logic như: And,Or, Xor… PARALLELPORT Ví dụ dùng cổng LPT của máy tính để điều khiển việc ổn định mức chất lỏng cần thiết trong một bồn chứa, giả sử chỉ dùng thanh ghi điều khiển: cảm biến mức dưới S1 nối với chân 14, cảm biến mức . phép quy đổi. trong Windows để thực hiện các phép quy đổi. PARALLEL PORT PARALLEL PORT PARALLEL PORT PARALLEL PORT Kỹ thuật mặt nạ - Masking: Kỹ thuật mặt nạ - Masking: Kỹ thuật. biến S2 báo “đầy” (S2=1) cho bơm tắt (M=0). bơm tắt (M=0). PARALLEL PORT PARALLEL PORT PARALLEL PORT PARALLEL PORT Như vậy sơ đồ kết nối thanh ghi điều khiển sẽ Như vậy sơ đồ. Data phải là: Trạng thái các Bit của Port Data phải là: PARALLEL PORT PARALLEL PORT Giá trị cần xuất ra Port Data là 01010101, đó là Giá trị cần xuất ra Port Data là 01010101, đó là một