Tên gọi của cổng song song bắt nguồn từ kiểu dữ liệu truyền qua cổng này: các bit dữ liệu được truyền song song hay nói cụ thể hơn la byte nối tiếp còn bit song song.. Cấu trúc của cổng
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
TT ĐT CHẤT LƯỢNG CAO
BÀI TẬP CẤU TRÚC MÁY TÍNH
VÀ KỸ THUẬT LẬP TRÌNH
Đề tài: Điều khiển LED thông qua cổng LPT
GVHD: Trần Minh Thuận SVTH: Lê Văn Công - 06112011
Hồ Minh Việt - 06112100
“Khoa học là linh hồn sự phồn vinh của các quốc gia, là nguồn sống dồi dào của mọi
tiến bộ Chính những phát minh khoa học và ứng dụng của nó đã dẫn dắt chúng ta đi”
( Paxtơ )
Trang 2PHẦN I: MỞ ĐẦU
I.Lời giới thiệu:
Máy tính cùng với sự phát triển của Kỹ thuật ghép nối với máy tính đã mở rộng đáng kể các lĩnh vực ứng dụng của máy tính, đặc biệt trong đó có đo lường và điều khiển Chính vì vậy, nhiều người sử dụng máy tính quan tâm đến chủ đề này
Khi một máy tính được xuất xưởng hoặc bày bán ở cửa hàng thì cả nhà sản xuất, người bán cũng như người tiêu dùng đều ngầm hiểu đây chưa phải là một hệ thống hoàn chỉnh, càng không phải là một hệ thống khép kín Tùy theo yêu cầu sử dụng, người dùng có thể nâng cấp, mở rộng cấu hình bằng cách ghép nối thêm các Card mở rộng hoặc các thiết bị ngoại vi như modem, máy in… Các nhà sản xuất đã dự trữ sẵn các rãnh cắm mở rộng trên bản mạch chính, các cổng ghép nối : song song (LPT), nối tiếp (COM) Đây chính là những vị trí mà kỹ thuật ghép nối máy tính có thể tác động vào Để ghép nối với máy tính ta có ba khả năng để lựa chọn:
Ghép nối qua cổng máy in hay còn gọi là cổng song song
Ghép nối qua cổng mở rộng trên bản mạch chính
Ghép nối qua cổng nối tiếp
Mỗi khả năng điều có những ưu nhược điểm riêng cho nên cho đến nay vẫn cùng tồn tại tùy theo hoàn cảnh cụ thể mà cân nhắc nên sử dụng cổng nào cho thích hợp Trong yêu cầu của bài tập, chúng tôi sẽ thực hiện nhiệm vụ sau đây: Viết chương trình máy tính và thi công mạch để điều khiển 20 đèn LED có các chức năng: đèn sáng từ trái qua phải, từ phải sang trái, đèn sáng từ trong ra ngoài, từ ngoài vào trong
Mặc dù đã dành thời gian thích đáng cho công việc nhưng không thể tránh khỏi những lỗi vẫn có thể còn sót lại trong quá trình giải quyết bài tập Mong được sự đóng góp ý kiến của Thầy và các bạn để bài tập được hoàn thiện hơn Nhân đây chúng tôi cũng xin được
chân thành cảm ơn Th ầy Trần Minh Thuận đã nhiệt tình giúp đỡ, hỗ trợ chúng tôi trong suốt
quá trình
II.Giới hạn của Bài tập:
Như đã giới thiệu ở trên, mạch chỉ có thể thự hiện những nhiệm vụ đã đề ra Chúng tôi
sử dụng các IC chuyên dụng nên khả năng còn hạn chế, chủ yếu chúng tôi tập trung vào vấn
đề giao tiếp với máy tính thông qua cổng LPT
Trang 3PHẦN II: GIỚI THIỆU MẠCH ĐIỀU KHIỂN ĐÈN LED VÀ CÁC IC CÓ LIÊN
QUAN ĐẾN MẠCH
Chương 1: Giới thiệu về cổng LPT
A.Tổng quan:
Công ty Centronics, từng nổi tiếng thế giới với vị trí hàng đầu trong số nhà sản xuất máy in kiểu ma trận, đã thiết kế ra cổng song song nhằm mục đích nối máy tính PC với máy in Về sau, cổng song song đã phát triển thành một tiêu chuẩn không chính thức Tên gọi của cổng song song bắt nguồn từ kiểu dữ liệu truyền qua cổng này: các bit dữ liệu được truyền song song hay nói cụ thể hơn la byte nối tiếp còn bit song song
Cho đến nay cổng song song có
mặt ở hầu hết các máy tính PC được
sản xuất trong những năm gần đây
Cổng song song còn được gọi là cổng
máy in hay cổng Centronics Cấu trúc
của cổng song song rất đơn giản với
tám đường dữ liệu, một đường dẫn
mass chung, bốn đường dẫn điều
khiển để chuyển các dữ liệu điều
khiển tới máy in và năm đường dẫn
trạng thái của máy in ngược trở lại
máy tính Giao diện song song sử
dụng các mức logic TTL, vì vậy việc
sử dụng trong mục đích đo lương và
điều khiển có phần đơn giản
Khoảng cách cực đại giữa cổng
song song máy tính PC và thiết bị
ngọai vi bị hạn chế vì điện dung kí
sinh và hiện tượng cảm ứng giữa các
đường dẫn có thể làm biến dạn tín
hiệu Khoảng cách giới hạn là 8m,
thông thường chỉ cỡ 1,5 – 2 m Khi khoảng cách ghép nối trên 3m nên xoắn các đường dây tín hiệu với đường nối đất theo kiểu cặp dây xoắn hoặc dùng loại cáp dẹt nhiều sợi trong đó mỗi đường dẫn dữ liệu điều nằm giữa hai đường nối mass Tốc độ truyền dữ liệu qua cổng song song phụ thuộc vào linh kiện phần cứng được sử dụng Trên lý thuyết tốc đọ truyền đạy giá trị 1 Mbit/s, nhưng với khoảng cách truyền bị hạn chế trong phạm vi 1m Với nhiều mục đích sử dụng thì khoảng cách này đã hoàn toàn thõa đáng Nếu cần truyền trên khoảng cách xa hơn, ta nên nghĩ đến khả năng truyền qua cổng nối tiếp hoặc USB Một điểm cần lưu ý là: việc tăng khoảng cách truyền dữ liệu qua cổng song song không chỉ làm tăng khả năng gây lỗi đối với đường dữ liệu được truyền mà còn làm tăng chi phí của đường dẫn
B.Cấu trúc cổng song song:
Cổng song song có 2 loại:
Ổ cắm 36 chân
Ổ cắm 25 chân
Ngày nay, loại ổ cắm 36 chân không còn được sử dụng, hầu hết các máy tính PC đều trang bị cổng song song 25 chân nên ta chỉ cần quan tâm đến loại 25 chân
Trang 4Hình trên giới thiệu loại ổ cắm 25 chân và cách bố trí các chân
Tên của tín hiệu
Strobe
D0
D1
D2
D3
D4
D5
D6
D7
Acknowledge
Busy (báo bận)
Paper empty (hết giấy)
Select (lựa chọn)
Auto Linefeed (tự động nạp dòng)
Error (mắc lỗi)
Reset (đặt lại)
Select Input (lựa chọn lối vào)
Ground (nối đất – 0V)
Signal – Ground (nối đất của tín hiệu)
Chassis – Ground (vỏ máy nối đất)
+5V
Không sử dụng
Chân số (chân số 25 chân)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 18-25
Chân số (ổ cắm 36 chân)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
32
31
36 19-30, 33
16
17
18
34, 35
Tín hiệu ở các chân trên ổ cắm 25 chân và 36 chân để trong trương hợp cần thiết có thể so sánh Sau đây là chức năng của các đương dẫn tín hiệu:
Strobe (1): Với một mức logic thấp ở chân này, máy tính thông báo cho máy in biết có một byte
đang sẵn sàng trên các đường dẫn tín hiệu để được truyền
D0 đến D7: Các đường dẫn dữ liệu
Acknowledge: với một mức logic thấp
ở chân này, máy in thông báo cho
máy tính biết là đã nhận được kí tự
vừa gửi và có thể tiếp tục nhận
Busy (bận – 11): máy in gửi đến chân
này mức logic cao trong khi đang đón
nhận hoặc in ra dữ liệu để thông báo
cho máy tính biết là các bộ đệm trong
máy tính biết là các bộ đệm trong máy
tính đã bị đầy hoặc máy in trong trạn
thái Off-line
Trang 5Paper empty (hết giấy – 12): Mức cao ở chân này có nghĩa là giấy đã dùng hết
Select (13): Một mức cao ở chân này, có nghĩa là máy in đang trong trạng thái kích hoạt (On-line)
Auto Linefeed (tự nạp dòng): Có khi còn gọi là Auto Feed Bằng một mức thấp ở chân này máy tính PC nhắc máy in tự động nạp một dòng mới mỗi khi kết thúc một dòng
Error (có lỗi): Bằng một mức thấp ở chân này, máy in thông báo cho máy tính là đã xuất hiện một
lỗi, chẳng hạn kẹt giấy hoặc máy in đang trong trạng thái Off-Line
Reset (đặt lại): Bằng một mức thấp ở chân này, máy in được đặt lại trạng thái được xác định lúc
ban đầu
Select Input: bằn một mức thấp ở chân này, máy in được lựa chọn bởi máy tính
Như vậy cáp nối giữa máy in và máy tính bao gồm 25 sợi, nhưng không phải tất cả điều được
sử dụng mà trên thực tế chỉ có 18 sợi được nối với các chân cụ thể Nhận xét này giúp chúng ta tận dụng những cáp nối mà trong lõi đã bị đứt một hai sợi Tên các đường dẫn và hướng truyền tín hiệu được mô tả như sau:
Các đường nối và chiều tín hiệu giữa máy tình và máy in
Qua cách mô tả chức năng của từng tín hiệu riêng lẽ ta có thể nhận thấy các đương dẫn dữ liệu có thể chia thành 3 nhóm:
- Các đường dẫn tín hiệu, xuất ra từ máy tính PC và điều khiển máy tính,
được gọi là các đường dẫn điều khiển
- Các đường dẫn tín hiệu, đưa các thông tin thông báo ngược lại từ máy
in về máy tính, được gọi là các đường dẫn trạng thái
- Đường dẫn dữ liệu, truyền các bit rieng lẽ của các ký tự cần in
Từ cách mô tả các tín hiệu và mức tín hiệu ta có thể nhận thấy là: các tín hiệu Acknowledge, Auto Linefeed, Error, Reset và Select Input kích hoạt ở mức thấp Thông
qua chức năng của các chân này ta cũng hình dung được điều khiển
cổng máy in
Đáng chú ý là 8 đường dẫn song song đều được dùng để chuyển
dữ liệu từ máy tính sang máy in Trong những trường hợp này, khi
chuyển sang các ứng dụng để thực hiện nhiệm vụ đo lường ta phải
chuyển dữ liệu từ mạch ngọa vi vào máy tính để thu thập và xử lý
Vì vậy ta phải tận dụngmột trong năm đường dẫn theo hướng
SELECT OUT OF PAPER BUSY
D7
STROBE
ACK
AUTOFEED ERROR
T SELECTINPU
ER RESETPRINT
D0 D1
GROUND
Trang 6ngược lại, nghĩa là từ bên ngoài về máy tính để truyền số liệu đo lường Dưới đây đề cập chi tiết hơn đến các đặc tính một hướng và hai hướng của các đường dẫn này
Để coa thể ghép nốic các thiết bị ngoại vi, các mạch điện ứng dụng trong đo lường và điều khiển với cổng song song ta phải tìm hiểu cách trao đổi với các thanh ghi thông qua cách sắp xếp và địa chỉ các thanh ghi cũng như phần mềm
Các đường dẫn của cổng song song được nối với ba thanh ghi 8bit khác nhau:
Thanh ghi dữ liệu
Thanh ghi trạng thái
Thanh ghi điều khiển
Tám đường dẫn dữ liệu dẫn tới 8 ô nhớ trên thanh ghi dữ liệu còn bốn đường dẫn điều khiển Strobe, Auto Linefeed, Reset, Select Input dẫn tới bốn ô nhớ trên thanh ghi điều khiển, cuối cùng
là năm đường dẫn trạng thái Acknowledge, Busy, Paper empty, Select, Error nối tới năm ô trên thanh ghi trạng thái Riêng ở thanh ghi điều khiển còn phải chú ý tới một bit nữa được sử dụng cho mục đích ghép nối nhưng không được nối với ổ cắm 25 chân Bit này có thể được sử dụng để xóa một bit ngắt liên quan với đường dẫn Acknowledge, vì vậy chưa đề cập đến đây
Trên hình, thanh ghi dữ liệu được chỉ rõ là hai hướng dữ liệu có thể được xuất ra các chân D0 đến D7 hoặc đọc vào Thanh ghi điều khiển cũng là hai hướng, thanh ghi trạng thái chỉ có thể được đọc và vì vậy gọi là một hướng
Ta có thể trao đổi với 3 thanh ghi này như thế nào? Hệ điều hành DOS dự tính đến bốn cổng song song và đặt tên là: LPT1, LPT2, LPT3 và LPT4 Tuy vậy, hầu hết các máy tính PC đều chỉ có nhiều nhất hai cổng song song , và cho đến nay với lí do giảm giá thành, cổng song song chỉ còn lại một Về mặt phần cứng, các nhà sản xuất đã dự tính bốn nhóm, mỗi nhóm 3 địa chỉ, để trao đổi với từng ô nhớ trên thanh ghi của mỗi giao diện Ta có thể nhận thấy các địa chỉ thanh ghi nằm kế tiếp nhau
Khi bật máy tính, BIOS kiểm tra kế tiếp nhau các địa chỉ được ghi trong bảng và khẳng định xem trên máy có trang bị một vài cổng song song Các cổng song song được BIOS tìm thấy sẽ được sắp xếp theo các tên mà DOS đã chỉ định là: LPT1, LPT2…
Điều này giải thích vì sao trong các tài liệu khác nhau các địa chỉ được ấn định cho LPT1, LPT2… lại sai lệch nhau Phần lớn trong các phiên bản của BIOS chạy trong giai đoạn khởi động (boot phase) của máy tính, trong đó phần cứng của máy tính được kiểm tra và cấu hình của máy tính, cụ thể ở đây địa chỉ các giao diện song song, đang tồn tại được xuất ra màn hình (trong một khung hình chữ nhật) Ta có thể làm dừng quá trình khới động máy tính bằng phím <Pause> để quan sát kỹ các thông số được liệt kê trong bảng
Các địa chỉ thanh ghi của cổng song song trên máy tính PC
Cổng song song (LPT) Địa chỉ thanh ghi dữ
liệu
Địa chỉ thanh ghi trạng thái
Địa chỉ thanh ghi điều khiển
LPT1
LPT2
LPT3
LPT4
3BCh 378h 278h 2BCh
3BDh 379b 279b 2BDh
3BEh 37Ah 27Ah 2BEh
Trang 73BCh 378h 278h 2BCh Địa chỉ cơ sở
3BDh 379b 279b 2BDh Địa chỉ cơ sở +1
3BEh
37Ah
27Ah
2BEh
Địa chỉ cơ sở +2
u D0 D1 Bit dữ liệu D7, chân 9 Bit dữ liệu D6, chân 8
D2 Bit dữ liệu D5, chân 7 D3 Bit dữ liệu D4, chân 6 D4 Bit dữ liệu D3, chân 5 D5 Bit dữ liệu D2, chân 4 D6 Bit dữ liệu D1, chân 3 D7 Bit dữ liệu D0, chân 2 Thanh ghi dữ liệu
u 7 6 Busy, chân 11 Acknowledge, chân 10
5 Paper Empty, chân 12
4 Select, chân 13
3 Error (báo lỗi), chân 15
Thanh ghi trạng thái
Thanh ghi điều khiển
Chương 2: Giới thiệu các IC số liên quan đến mạch điện
IC 74138: IC74138 là laọi IC giải mã/giải đa hợp (Decoder/Demultiplexer) làm việc được
với tần số cao, nó đặc biệt thích hợp khi dùng làm bộ giải mã địa chỉ tác động vào chân chọn IC của các IC nhớ lưỡng cực
IC74138 có sơ đồ chân như sau:
4 Interrupt Enablec (Cho phép ngắt)
3 Select Input, chân 17
2 Reset, chân 16
1 Auto Feed, chân 14
0 Strobe, chân1
16
15 14 13 12 11 10 9
VCC
GND
A0 A1 A2 E1\ E2\ E3 O7\
O0\ O1\ O2\ O3\ O4\ O5\ O6\
74138
Trang 8A1
O6
Chức năng các chân của IC74138 :
V CC , GND: dùng cấp nguồn cho IC hoạt động VCC được nối đến cực dương của nguồn (+5V
do là IC họ TTL), GND được nối đến cực âm của nguồn (0V)
A 0 , A 1 , A 2 : các ngõ vào chọn trạng thái ngõ ra (có thể coi như đây là các đường địa chỉ của IC
74138) Tổ hợp trạng thái logic của 3 ngõ vào này ta sẽ được 8 trạng thái logic khác nhau ở 8 ngõ
ra của IC (23 = 8)
E1, E2, E3: 3 ngõ vào điều khiển IC IC chỉ được phép hoạt động bình thường khi cả 3 chân
này đều ở mức logic cho phép IC hoạt động (cụ thể là E1, E2 ở mức logic thấp, E3 ở mức logic cao) Chỉ cần 1 trong 3 chân này ở mức logic không phù hợp thì IC sẽ bị cấm ngay lập tức (tất cả các ngõ ra đều ở mức logic cao) bất chấp trạng thái ở các ngõ vào còn lại
O 0 – O 7 : các ngõ ra của IC Tùy thuộc vào trạng thái của các đường địa chỉ mà ta có trạng
thái ở ngõ ra tương ứng Khi IC đang hoạt động bình thường (cả 3 chân điều khiển đều ở mức logic cho phép) thì tại một thời điểm nhất định chỉ có một ngõ ra duy nhất được ở mức logic thấp,
tất cả các ngõ còn lại đều phải ở mức logic cao
IC74138 có sơ đồ mô tả hoạt động bên trong như sau:
Trang 9Bảng trạng thái của IC74138 :
E1\ E2\ E3 A0 A1 A2 O0\ O1\ O2\ O3\ O4\ O5\ O6\ O7\
H
X
X
L
L
L
L
L
L
L
L
x
H
x
L
L
L
L
L
L
L
L
X
x
L
H
H
H
H
H
H
H
H
x
x
x
L
H
L
H
L
H
L
H
x
x
x
L
L
H
H
L
L
H
H
x
x
x
L
L
L
L
H
H
H
H
H
H
H
L
H
H
H
H
H
H
H
H
H
H
H
L
H
H
H
H
H
H
H
H
H
H
H
L
H
H
H
H
H
H
H
H
H
H
H
L
H
H
H
H
H
H
H
H
H
H
H
L
H
H
H
H
H
H
H
H
H
H
H
L
H
H
H
H
H
H
H
H
H
H
H
L
H
H
H
H
H
H
H
H
H
H
H
L H: HIGH Voltage Level
L: LOW Voltage Level
x: Don’t care
Nguyên tắc hoạt động của IC 74138:
Dựa vào bảng trạng thái ta thấy: chỉ cần 1 trong 3 chân cho phép (E1, E2, E3) ở trạng thái cấm (không cho phép IC hoạt động) thì tất cả các ngõ ra của IC 74138 đều ở mức logic cao bất chấp trạng thái logic của các chân địa chỉ (A0, A1, A2) Chẳng hạn như khi chân E1 ở mức logic cao thì tất cả các ngõ ra của IC đều ở mức logic cao, bất chấp trạng thái của các chân còn lại như: E2, E3, A0, A1, A2
Ta nhận thấy khi cả 3 đường địa chỉ đều ở mức logic thấp 00h (với điều kiện là các ngõ vào điều khiển đều phải ở mức logic thích hợp để IC hoạt động) thì chỉ có duy nhất một ngõ ra đầu tiên là ở mức logic thấp, tất cả các ngõ ra còn lại đều ở mức logic cao
Khi địa chỉ đưa vào IC tăng lên một (01h) thì mức logic thấp này được chuyển đến ngõ ra thứ hai và cũng chỉ có duy nhất ngõ ra này ở mức logic thấp
Khi địa chỉ đưa vào IC là 08h thì mức logic thấp sẽ ở ngõ ra cuối cùng (O7) Như vậy, mức logic thấp ở ngõ ra sẽ di chuyển tương ứng với địa chỉ đưa vào IC
Trang 10PHẦN III: GIAO TIẾP BẰNG CHƯƠNG TRÌNH VÀ CÁC MẠCH ĐÃ THI CÔNG
Thực tế có nhiểu chương trình khác nhau để thực hiện các lệnh giao tiếp với máy tính, trong phạm vi của bài tập này, chúng tôi dùng chương trình C++.NET để viêt chương trình đơn giản thực hiện các nhiệm vụ trên
Trình tự các bước để xây dựng chương trình sẽ được trình bày chi tiết dưới đây:
Khởi động chương trình Microsoft Visual C++ 2005 Express Edition
Chuẩn bị tập tin:
Tạo Project C++.NET giao diện đồ họa, đặt tên là LPT: