Tải bản đầy đủ (.doc) (96 trang)

THIẾT KẾ MẠCH VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN QUANG BÁO GIAO TIẾP MÁY TÍNH

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.4 MB, 96 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NÔNG LÂM THÀNH PHỐ HỒ CHÍ MINH

KHÓA LUẬN TỐT NGHIỆP

THIẾT KẾ MẠCH VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN
QUANG BÁO GIAO TIẾP MÁY TÍNH

Họ và tên sinh viên: TRẦN HỮU THƯƠNG
Ngành: CƠ ĐIỆN TỬ
Niên khóa: 2006-2010

Tháng 7/2010


THIẾT KẾ MẠCH VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN
QUANG BÁO GIAO TIẾP MÁY TÍNH

Tác giả

TRẦN HỮU THƯƠNG

Khóa luận được đệ trình để đáp ứng yêu cầu cấp bằng Kỹ sư ngành
Cơ điện tử

Giáo viên hướng dẫn:
Thạc sĩ: Nguyễn Lê Tường
Kĩ sư: Nguyễn Văn Khải

Tháng 7 năm 2010.
-i-




CẢM TẠ
Sau quá trình thực hiện đề tài, với sự cố gắng của bản thân, đã hoàn thành đề tài
theo đúng thời gian quy định. Tuy nhiên sự thành công của đề tài có sự đóng góp
không nhỏ của quý thầy cô, bạn bè và gia đình.
Với tất cả sự kính trọng và lòng biết ơn sâu sắc. Em chân thành cảm ơn cô
Nguyễn Lê Tường và thầy Nguyễn Văn Khải, cô và thầy đã hướng dẫn chỉ bảo tận
tình trong suốt quá trình thực hiện đề tài. Thông qua những chỉ dạy của cô và thầy, em
đã tiếp thu được những kiến thức và hướng đi cần thiết từ đó có kế hoạch và việc làm
cụ thể để hoàn thành đề tài đúng với những yêu cầu đặt ra.
Em chân thành cảm ơn tất cả các thầy, cô trong bộ môn Cơ điện tử đã tạo điều
kiện cho em hoàn thành đề tài. Cảm ơn tất cả các bạn đã nhiệt tình đóng góp những ý
kiến giúp đỡ để cho đề tài hoàn thiện hơn.
Cuối cùng em cảm ơn gia đình đã tích cực động viên, khuyến khích, tạo mọi
điều kiện và trực tiếp hỗ trợ kinh phí, tinh thần để đề tài tốt nghiệp được hoàn thành
đúng thời hạn.

-ii-


TÓM TẮT
Đề tài “Thiết kế mạch và chương trình điều khiển quang báo giao tiếp máy
tính” được tiến hành thực hiện và hoàn tất trong thời gian từ 1/4 đến 15/7.
Ba nhiệm vụ chính của đề tài là:
- Thiết kế và chế tạo mạch cho 3 khối chính: điều khiển, giao tiếp, hiển thị.
- Lập trình xử lý trên vi điều khiển.
- Lập trình giao tiếp trên máy tính.
Trong đó vi điều khiển được sử dụng là dòng vi điều khiển PIC16F887 của
hãng Microchip, sử dụng giao tiếp với máy tính theo chuẩn RS232 và lập trình giao

tiếp trên máy tính bằng Visual Basic.
Nguyên lý hoạt động chính của mạch: Muốn hiển thị một tin thông báo ngắn,
chúng ta gõ đoạn tin đó vào TextBox trên bảng điều khiển Visual Basic. Dữ liệu sẽ
truyền từ cổng COM của máy tính, sau khi qua mạch giao tiếp tín hiệu sẽ đổi sang
chuẩn tương thích với vi điều khiển. Vi điều khiển nhận dữ liệu thông qua port nối
tiếp, chương trình bên trong vi điều khiển sẽ cho phép dữ liệu được lưu trong vùng
RAM đa dụng. Tín hiệu sẽ xử lý và giải mã sang Led ma trận để xuất ra mạch hiển thị.
Trên bảng hiển thị gồm ma trận Led 16 hàng * 64 cột sẽ hiển thị tin thông báo, tin
thông báo sẽ dịch chuyển từ phải qua trái hoặc từ trái qua phải cho người xem có thể
đọc hết nội dung tin thông báo này.
Các kết quả thu được:
- Khối điều khiển và giao tiếp.
- Khối hiển thị.
- Chương trình điều khiển.

-iii-


MỤC LỤC
Trang
Trang tựa

i

Cảm tạ

ii

Tóm tắt


iii

Mục lục

iv

Danh sách các hình.

vii

Danh sách các bảng.

x

CHƯƠNG 1. MỞ ĐẦU

1

1.1 Tính cấp thiết của đề tài.

1

1.2 Ý nghĩa khoa học và thực tiễn của đề tài.

2

1.3 Mục đích nghiên cứu.

2


1.4 Phạm vi nghiên cứu.

3

CHƯƠNG 2. TỔNG QUAN

4

2.1 Khảo sát một số nạch quang báo có sẵn.

4

2.2 Các phương pháp thiết kế mạch quang báo.

6

2.2.1 Phương pháp dùng IC rời.

7

2.2.2 Phương pháp dùng EPROM.

7

2.2.3 Phương pháp dùng vi xử lý.

7

2.3 Giao tiếp máy tính với thiết bị ngoại vi


8

2.4 Giao diện của máy tính

8

2.4.1 Cổng máy in (LPT).

8

2.4.2 Giao tiếp qua khe cắm máy tính (Slot Card).

12

2.4.3 Cổng nối tiếp RS232.

12

2.4.4 Cổng USB.

15

2.5 Giao tiếp máy tính với vi điều khiển.

17

2.5.1 Đại cương về trao đổi dữ liệu nối tiếp.

17


2.5.2 Truyền nhận dữ liệu qua cổng nối tiếp.

18

2.6 Điều khiển cổng tuần tự.

20
-iv-


2.7 Giới thiệu ngôn ngữ lập trình Visual Basic.

22

2.7.1 Tổng quan về Visual Basic.

22

2.7.2 Giới thiệu thư viện liên kết động.

23

2.8 Giới thiệu linh kiện sử dụng trong đề tài

25

2.8.1 Giới thiệu IC MAX232

25


2.8.2 Giới thiệu IC 74HC138.

27

2.8.3 Giới thiệu IC 74HC595.

30

2.8.4 Giới thiệu IC 74HC245.

32

2.9 Khảo sát vi điều khiển PIC 16F887.

33

2.9.1 Giới thiệu vi điều khiển PIC 16F887.

33

2.9.2 Đặc điểm riêng của vi điều khiển PIC 16F887.

35

2.9.3 Các Port xuất nhập.

40

2.10 Hoạt động ngắt.


42

2.10.1 Ngắt do INT (ngắt ngoài).

42

2.10.2 Ngắt do TMR0.

43

2.10.3 Ngắt do PortB thay đổi

43

2.11 Hoạt động định thời (TIMER) của PIC 16F887.

43

2.11.1 Timer 0.

43

2.11.2 Timer 1.

44

2.11.3 Timer 2.

45


2.12 Chế độ điều chế độ rộng xung (PWM).

46

2.12.1 Chu kỳ PWM

46

2.12.2 Chu trình làm việc PWM.

47

2.12.3 Thiết lập hoạt động cho PWM.

48

2.13 Khối chuyển đổi tương tự sang số ADC.

48

2.14 Chương trình biên dịch và nạp PIC.

50

CHƯƠNG 3. NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU

51

3.1 Nội dung nghiên cứu.


51

3.2 Phương pháp thiết kế mạch quang báo

51

3.3 Phương pháp lập trình Visual Basic

52

3.4 Phương pháp giao tiếp máy tính với vi điều khiển

58

-v-


3.5 Phương pháp điều khiển ma trận Led.

59

CHƯƠNG 4. KẾT QUẢ VÀ THẢO LUẬN

60

4.1 Giải thuật điều khiển.

60

4.1.1 Chương trình chính.


60

4.1.2 Chương trình tìm mã Led.

61

4.1.3 Chương trình quét Led.

62

4.1.4 Chương trình chuyển dịch ký tự.

63

4.1.5 Nhận từ port nối tiếp (PC) bằng ngắt.

64

4.2 Sơ đồ khối điều khiển.

65

4.2.1 Sơ đồ khối tổng quát.

65

4.2.2 Nhiệm vụ từng khối.

65


4.2.3 Khối hộp quang báo.

76

4.3 Giao diện điều khiển Visual Basic.

78

4.4 Kết quả chương trình quang báo hiển thị text1: “TRƯỜNG ĐẠI HỌC NÔNG
LÂM THÀNH PHỐ HỒ CHÍ MINH”.

78

4.5 Kết quả 2: Chương trình quang báo hiển thị text: “LỄ BÁO CÁO TỐT NGHIỆP
NGHÀNH CƠ ĐIỆN TỬ”.

80

CHƯƠNG 5. KẾT LUẬN VÀ KIẾN NGHỊ

82

5.1 Kết luận.

82

5.2 Kiến nghị.

82


TÀI LIỆU THAM KHẢO

83

PHỤ LỤC

84

1. Chương trình điều khiển Visual Basic.
2. Chương trình chính.
3. Sơ đồ khối PIC 16F887.

-vi-


DANH SÁCH CÁC HÌNH
Hình 2.1: Các dạng modul Led ma trận.
Hình 2.2: Các dạng Led đơn.
Hình 2.3: Bảng quang báo chạy chữ.
Hình 2.4: Bảng quang báo tỷ giá ngân hàng.
Hình 2.5: Bảng quang báo màn hình full color.
Hình 2.6 : Cổng máy in (DB-25 connector).
Hình 2.7: Các đường dẫn tín hiệu cổng máy in.
Hình 2.8: Sắp xếp chân ở cổng nối tiếp của máy tính PC.
Hình 2.9: Sơ đồ một dây dẫn kết nối USB.
Hình 2.10: Sơ đồ chân IC MAX-232.
Hình 2.11: Sơ đồ chân IC 74HC138.
Hình 2.12: Sơ đồ mô tả hoạt động bên trong của IC 74HC138.
Hình 2.13: Sơ đồ chân IC 74HC595.

Hình 2.14: Sơ đồ chân IC 74HC245.
Hình 2.15: Sơ đồ mô tả hoạt động bên trong của IC 74HC245.
Hình 2.16: Sơ đồ chân PIC16F887.
Hình 2.17: Sơ đồ khối PIC 16F887.
Hình 2.18: Cấu trúc của timer 0.
Hình 2.19: Cấu trúc của TMR1.
Hình 2.20: Cấu trúc của timer 2.
Hình 2.21: Sơ đồ khối PWM.
-vii-


Hình 2.22: Sơ đồ khối của module A/D.
Hình 3.1: Chọn môi trường làm việc.
Hình 3.2: Giao diện làm việc Visual Basic.
Hình 3.3: Add-Ins Manager dialog.
Hình 3.4: Add-In
Hình 3.5: Toolbars.
Hình 3.6: Toolbox.
Hình 3.7: Form.
Hình 3.8: Code window.
Hình 4.1: Giải thuật chương trình chính.
Hình 4.2: Giải thuật chương trình tìm mã Led.
Hình 4.3: Giải thuật chương trình quét Led.
Hình 4.4: Giải thuật chương trình chuyển dịch ký tự.
Hình 4.5: Giải thuật chương trình nhận từ port nối tiếp (PC) bằng ngắt.
Hình 4.6: Sơ đồ khối tổng quát.
Hình 4.7: Sơ đồ khối giao tiếp.
Hình 4.8: Sơ đồ kết nối giữa Max 232 với cổng COM1 của máy tính
Hình 4.9: Sơ đồ khối điều khiển.
Hình 4.10: Sơ đồ mạch nguyên lý.

Hình 4.11: Sơ đồ mạch in.
Hình 4.12: Mạch điều khiển và giao tiếp sau khi ráp linh kiện.
Hình 4.13: Sơ đồ thiết kế ma trận Led.
Hình 4.14: Sơ đồ khối hiển thị ma trận Led.
Hình 4.15: Sơ đồ nguyên lý mạch hiển thị.
-viii-


Hình 4.16: Sơ đồ mạch in lớp trên.
Hình 4.17: Sơ đồ mạch in lớp dưới.
Hình 4.18: Sơ đồ mạch in toàn board Led ma trận.

Hình 4.19: Board mạch ma trận Led hiển thị.
Hình 4.20: Hình 3D khối hộp.
Hình 4.21: Hình chiếu đứng hộp.
Hình 4.22: Hình chiếu bằng hộp.
Hình 4.23: Mô hình khối hộp quang báo
Hình 4.24: Mô hình khối hộp quang báo giao tiếp máy tính.
Hình 4.25: Giao diện điều khiển bằng Visual Basic.
Hình 4.26: Giao diện điều khiển VB lúc hiển thị text1.
Hình 4.27: Giao diện điều khiển VB và khối quang báo lúc chạy phải sang trái text1.
Hình 4.28: Giao diện điều khiển VB lúc hiển thị text2.
Hình 4.29: Giao diện điều khiển VB và khối quang báo lúc chạy phải sang trái text2

-ix-


DANH SÁCH CÁC BẢNG
Bảng 2.1: Mô tả tất cả các đường dẫn được nối với các chân trên đầu nối 25 chân và 9
chân.

Bảng 2.2: Các thanh ghi trong UART.
Bảng 2.3: Bảng trạng thái của IC 74HC138.
Bảng 2.4: Ngõ điều khiển chiều dữ liệu DIR.
Bảng 2.5: Chức năng các chân của PIC16F887.
Bảng 2.6: Tóm tắt chức năng đa hợp của Port.

-x-


Chương 1
MỞ ĐẦU
1.1 Tính cấp thiết của đề tài.
Ngày nay, với sự phát triển của xã hội cùng với sự phát triển của khoa học kĩ
thuật đã làm cho nhu cầu thông tin trở nên thiết yếu hơn đối với con người trong cuộc
sống cũng như trong hoạt động sản xuất kinh doanh hay trong giải trí. Việc thông báo
một tin ngắn đến với số đông và có thể thay đổi nội dung dễ dàng đã có nhiều hình
thức thực hiện, nhưng phổ biến và có hiệu quả nhất có lẽ là những bảng quang báo
điện tử. Quang báo từ khi xuất hiện đến nay phát triển ngày càng tinh vi hơn, đa dạng
hơn đã thay thế hoàn toàn thế chỗ cho các bảng thông báo truyền thống như bảng bằng
gỗ, mica hay bằng những vật liệu nào khác…vừa không đẹp mắt, vừa lại mất nhiều
thời gian mỗi khi muốn thay đổi nội dung cần thông báo.
Quang báo điện tử nói chung là hình thức sử dụng các đèn báo, các đèn báo này
được ghép lại thành một ma trận, nhiều ma trận ghép lại thành một bảng đèn. Thông
thường mỗi một ma trận biểu diễn cho một kí tự. Tùy chiều dài của bảng đèn mà có
thể hiển thị những bản tin có độ dài khác nhau. Nội dung thông báo có thể cho lần lượt
xuất hiện, chạy dần từ trái sang phải hoặc từ phải sang trái tùy thuộc yêu cầu sử dụng.
Hiện nay, các đèn báo nói trên người ta thường sử dụng các led, ma trận led.
Mạch quang báo có thể thiết kế dựa trên nền tảng kĩ thuật số hay dùng vi điều
khiển hoặc dùng mạch cơ khí, mỗi loại đều có những đặc điểm ưu, khuyết khác nhau.
Bên cạnh đó, sự ra đời của máy vi tính với những tính năng ưu việt như tốc độ xử lý

dữ liệu, độ tin cậy cao, lưu trữ lượng thông tin lớn và quan trọng hơn là máy tính có
thể kết nối với nhiều thiết bị ngoại vi tùy theo mục đích sử dụng, mà việc trao đổi và
điều khiển trở nên đơn giản, phụ thuộc vào phần mềm điều hành.
1


Dựa vào tính đa dạng và mềm dẻo của máy vi tính, người ta đã ứng dụng nó
vào mục đích quảng cáo hay thông báo, chẳng hạn như dùng trong quang báo. Nhờ đó,
việc thiết kế phần cứng cho mạch quang báo trở nên đơn giản hơn, nhưng độ tin cậy
cao.
Xuất phát từ những nguyên nhân trên và do nhu cầu bức thiết của thực tế, được
sự đồng ý của Khoa Cơ khí - Công nghệ, bộ môn Cơ điện tử, dưới sự hướng dẫn của
cô Nguyễn Lê Tường và thầy Nguyễn Văn Khải em tiến hành thực hiện đề tài:
“THIẾT KẾ MẠCH VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN QUANG BÁO
GIAO TIẾP MÁY TÍNH”.
1.2 Ý nghĩa khoa học và thực tiễn của đề tài.
Đề tài giúp cho người học có được một kiến thức cơ bản khi tìm hiểu về một họ
vi điều khiển, từ đó sẽ giúp họ có thể tự tìm hiểu thêm về các tính năng cao hơn, người
học sẽ có thêm thời gian để tập trung phát triển phần mềm không còn phải quan tâm
nhiều đến phát triển phần cứng nữa. Với mô hình quang báo này sẽ được ứng dụng
trong các lĩnh vực như: thông báo tin tức, giới thiệu sản phẩm, quảng cáo...Trong nhà
trường, đề tài sẽ là mô hình học tập nghiên cứu cho các khóa chuyên nghành cơ điện
tử sau.
1.3 Mục đích nghiên cứu.
- Thiết kế chương trình điều khiển quang báo giao tiếp máy tính kết hợp với
hiển thị trên ma trận Led (một màu) 16 hàng * 64 cột.
- Hệ thống có thể hiển thị được với kết quả như yêu cầu bằng cách nhập dữ liệu
trực tiếp từ bàn phím.
- Áp dụng các kiến thức đã học vào đề tài, thông qua thực hiện đề tài sẽ tìm
hiểu và nâng cao thêm kiến thức mới bổ sung cho bản thân.

1.4 Phạm vi nghiên cứu.
- Nghiên cứu ứng dụng vi điều khiển PIC16F887.
- Nghiên cứu phương pháp quét Led.
- Nghiên cứu truyền thông giữa vi điều khiển và máy tính theo chuẩn RS232.
2


Chương 2
TỔNG QUAN
2.1 Khảo sát một số mạch quang báo có sẵn.
Bảng quang báo ngày càng được sử dụng rộng rãi trong nhiều lĩnh vực với
nhiều mục đích khác nhau. Là sản phẩm truyền đạt thông tin, hình ảnh quảng cáo đến
khách hàng một cách hiệu quả nhất. Hiện nay, sản phẩm bảng quang báo rất đa dạng
về chủng loại và mẫu mã, từ các bảng quang báo 65 nghìn màu đến các loại bảng
thông dụng như bảng một màu và bảng 3 màu.
Tính năng cơ bản:
- Có thể hiển thị dạng text, graphic, logo.
- Số màu hiển thị: một màu, ba màu, 65 nghìn màu.
- Cập nhật thông tin qua máy tính.
- Có nhiều hiệu ứng hiển thị và xóa hiển thị cho người sử dụng lựa chọn.
Các modul Led ma trận hay Led đơn sẽ được ghép lại với nhau thành ma trận
Led lớn hơn để hiển thị thông tin.

Hình 2.1: Các dạng modul Led ma trận.

3


Hình 2.2: Các dạng Led đơn.


Hình 2.3: Bảng quang báo chạy chữ.

Hình 2.4: Bảng quang báo tỷ giá ngân hàng.
Quang báo màn hình full color là sản phẩm mới ứng dụng những khoa học công
nghệ tiên tiến của nghành Led (Xem Hình 2.5).
4


Hình 2.5: Bảng quang báo màn hình full color.
Tính năng cơ bản của quang báo màn hình full color.
- Được lắp đặt tại mọi địa điểm với độ các sáng phù hợp tương ứng với trong
nhà hay ngoài trời.
- Thiết kế đặc biệt để hoạt động ở ngoài trời mà không cần che chắn.
- Hệ thống truyền nhận thông tin hiển thị qua modul truyền và modul nhận
được nối với nhau bằng cáp quang.
- Hiển thị video và hình ảnh với đầy đủ màu sắc sống động trung thực.
- Có hệ thống điều hoà đi kèm với màn hình đảm bảo hoạt độ tốt dưới mọi điều
kiện của thời tiết.
- Sắp xếp lịch trình hoạt động của bảng theo ý muốn của người điều khiển.
2.2 Các phương pháp thiết kế mạch quang báo.
Có nhiều phương pháp để thiết kế một mạch quang báo như: sử dụng các linh
kiện (IC) rời, dùng EPROM, dùng vi điều khiển.
2.2.1 Phương pháp dùng IC rời.
Nếu dùng IC rời thì ta sử dụng các IC giải đa hợp (Demultiplexer) kết hợp với
các diode để làm thành mạch ROM (kiểu ROM này được gọi là Made Home). Chương
trình cho lại ROM này được tạo bằng các sắp xếp vị trí các diode trong ma trận, mỗi
5


khi cần thay đổi nội dung chương trình thì phải thay đổi lại vị trí các diode này (thay

đổi phần cứng). Dung lượng bộ nhớ kiểu này thay đổi theo kích thước mạch, kích
thước càng lớn thì dung lượng càng cao (vì khi muốn tăng dung lượng thì phải thêm
IC giải đa hợp, thêm vào các diode nên kích thước của mạch càng tăng lên). Do đó,
nếu muốn có đủ bộ nhớ để chạy một mạch quang báo bình thường thì kích thước của
mạch rất lớn nên giá thành sẽ tăng cao, độ phức tạp tăng lên. Do đó dạng ROM này rất
ít khi sử dụng.
2.2.2 Phương pháp dùng EPROM.
Khi thay các IC rời ở trên bằng EPROM thì mọi chuyện sẽ đơn giản hơn, kích
thước mạch và chi phí thực hiện sẽ giảm đi đáng kể. Nhưng EPROM chỉ có thể hiển
thị một nội dung thông báo cố định, khi muốn thay đổi nội dung thông báo thì phải
viết chương trình khác và nạp lại cho EPROM. Như vậy, mạch sẽ không phù hợp với
đề tài này vì nội dung thông báo yêu cầu thay đổi liên tục.
2.2.3 Phương pháp dùng vi xử lý.
Khi dùng vi xử lý thì quang báo sẽ có được nhiều tính năng hơn. Với kit vi xử
lý điều khiển quang báo ta có thể thay đổi chương trình hiển thị một cách dễ dàng
bằng cách nhập chương trình mới vào RAM (thay đổi chương trình ngay trên kit,
không cần phải tháo IC nhớ ra đem nạp chương trình như EPROM). Do vi xử lý có
nhiều tính năng, nên việc thay đổi màu cho bảng đèn cũng dễ dàng thực hiện nếu có
yêu cầu. Tất nhiên để có thể thay đổi nội dung thông báo thì cần phải có bàn phím để
nhập nội dung.
2.3 Giao tiếp máy tính với thiết bị ngoại vi.
Giao tiếp máy tính với các thiết bị ngoại vi là việc trao đổi dữ liệu giữa máy
tính với một hay nhiều thiết bị ngoại vi (với môi trường ngoài). Để có thể thực hiện
công việc này bằng máy tính trước hết phải có mối liên hệ cần thiết giữa máy tính và
thế giới bên ngoài thông qua các cổng giao lưu (vào\ra – I\O) được mở bằng giao diện.
Đối với máy tính PC theo chuẩn công nghiệp có thể thực hiện các khả năng giao tiếp
sau:

6



Sử dụng card mở rộng được cắm vào máy tính, theo cách này cho phép đạt tốc
độ truy cập lớn nhất, tuy vậy đòi hỏi chi phí cao.
Các giao diện đã được tiêu chuẩn hóa đóng vai trò ghép nối máy tính PC với
mạch điện bên ngoài. Cách ghép nối qua cổng nối tiếp thường được lựa chọn vì cho
phép tiết kiệm chi phí.
Ghép nối với một bộ vi xử lý riêng để thực hiện một bài toán khác mà không
cần trao đổi dữ liệu với máy tính PC. Khi đó người ta phải phân định rõ bài toán lập
trình đối với hệ thống này.
Các giao diện có trên máy tính PC như giao diện nối tiếp, giao diện song song
cho phép người sử dụng trực tiếp làm giao diện. Nhờ vậy, đối với rất nhiều ứng dụng
không cần thiết phải có một phần cứng bổ sung.
Các cổng vào ra thông dụng nhất:
- Cổng song song hay cổng máy in (LPT).
- Khe cắm trong máy tính (Slot Card).
- Cổng nối tiếp (Cổng COM).
- Cổng USB.
2.4 Giao diện của máy tính.
2.4.1 Cổng máy in (LPT).
a. Vài nét cơ bản về cổng ghép nối máy in.
Cổng máy in hay thường gọi là giao diện Centronics, việc nối máy in với máy
tính thực hiện qua ổ cắm 25 chân ở phía sau máy tính. Nhưng đây không chỉ là chỗ nối
với máy in mà khi sử dụng vào mục đích đo lường và điều khiển thì việc ghép nối
cũng có thể thực hiện thông qua ổ cắm này. Qua cổng này các bit dữ liệu được truyền
đi song song do vậy tốc độ truyền dữ liệu cũng đạt đến mức lớn đáng kể. Các lối vào
và ra của cổng máy in đều là các đường dẫn tương thích TTL không được bảo vệ
chống quá tải, do đó khi tiến hành ghép nối chúng ta phải chú ý tới những quy tắc an
toàn sau đây:
7



- Chỉ được ghép nối khi máy vi tính đang ở trạng thái ngắt điện.
- Các lối vào ra chỉ được phép tiếp nhận điện áp giữa 0V và 5V.
- Các lối ra không được phép ngắn mạch hoặc đấu nối với các lối ra khác và các
lối ra không được phép nối với các nguồn tín hiệu điện áp không biết rõ thông số.
Cổng máy in trong máy tính được kí hiệu bằng LPT1 và LPT2, có tổng cộng 17
đường dẫn dữ liệu số, bao gồm 12 đường dẫn ra và 5 đường dẫn vào. Các đường dẫn
dữ liệu D0 – D7 là đường dẫn một chiều và là đường dẫn ra. Sự sắp xếp các chân ra ở
cổng máy in với tất cả các đường dẫn (xem Hình 2.1).

Hình 2.6 : Cổng máy in (DB-25 connector).
Các đường dẫn tín hiệu được mô tả như sau:
+ Chân số 1 (STROBE): Chân ra, khi máy tính đưa ra tín hiệu này báo cho máy
in đọc dữ liệu để in. Tác động mức thấp.
+ Chân 2 – 9 (D0 – D7): Các đường dữ liệu ra.
+ Chân 10 (ACK – Acknowledge): Chân vào, xác nhận dữ liệu đã nhận được và
yêu cầu gửi dữ liệu tiếp theo.
+ Chân 11 (BUSY): Chân vào, báo cho máy tính biết là máy in bận, không nên
gửi thêm dữ liệu khác đến nữa.
+ Chân 12 (PE): Chân vào, báo cho máy tính biết là máy in đã hết giấy.
+ Chân 13 (SLCT – Select): Chân vào, báo máy tính đang ở trạng thái lựa chọn.
Chân này tác động ở mức cao.
+ Chân 14 (AF – Auto Feed): Chân ra, tác động mức thấp. Khi tác động thì máy
in tự động dịch một dòng sau khi in.
8


+ Chân 15 (ERROR): Chân vào, tác động mức thấp để báo máy in đang bị lỗi.
+ Chân 16 (INIT): Chân ra, tác động mức thấp để đặt lại máy in.
+ Chân 17 (SLCTIN): Chân ra, tác động ở mức thấp để báo máy in đưa dữ liệu

vào.
+ Chân 18 – 25 (GND): Là chân nối mass.
Cổng máy in có 5 đường dẫn lối vào, nhờ vậy mà việc bắt tay giữa máy in và
máy tính được thực hiện. Chẳng hạn, khi máy in không còn đủ chỗ trống trong bộ nhớ
thì máy in sẽ gửi đến máy tính một bit trạng thái (BUSY = 1), có nghĩa là máy in đang
bận, không nên gửi thêm các byte dữ liệu khác đến nữa.
b. Sự trao đổi với các đường dẫn tín hiệu.
- Thanh ghi dữ liệu (Offset = 0) (ĐCCS + OffSet).
D7 D6

D5

D4

D3

D1 D0

D2

BIT dữ liệu D0 (chân 2)
BIT dữ liệu D1 (chân 3)
BIT dữ liệu D2 (chân 4)
BIT dữ liệu D3 (chân 5)
BIT dữ liệu D4 (chân 6)
BIT dữ liệu D5 (chân 7)
BIT dữ liệu D6 (chân 8)
BIT dữ liệu D7 (chân 9)

- Thanh ghi trạng thái (Offset = 1).

D7 D6

D5

D4

D3

D2

D1 D0

ERROR (chân15)
SLCT (chân 13)
PE (chân 12)
ACK (chân 10)
BUSY (chân 11)

- Thanh ghi điều khiển (Offset = 2).

D7 D6

D5

D4

D3 D2

D1


D0

STROBE (chân1)
AUTO FEED (chân 14)

9

INT (chân 16)
SLCTIN (chân 17)
IRQ- Enable


Hình 2.7: Các đường dẫn tín hiệu cổng máy in.
Tất cả các đường dẫn tín hiệu vừa được giới thiệu cho phép trao đổi qua các địa
chỉ bộ nhớ máy tính PC. 17 đường dẫn của cổng máy in sắp xếp thành ba thanh ghi:
Thanh ghi dữ liệu, thanh ghi trạng thái, thanh ghi điều khiển. Địa chỉ đầu tiên đạt đến
cổng máy in được xem là địa chỉ cơ sở (viết tắc ĐCCS – Basic Address). Thông
thường máy tính PC có hai cổng máy in, có địa chỉ cơ sở sau:
LPT1 (Cổng máy in 1) ĐCCS = 378H.
LPT1 (Cổng máy in 2) ĐCCS = 278H.
Địa chỉ cơ sở đồng nhất với thanh ghi dữ liệu, việc xác định địa chỉ của các
thanh ghi khác được tính theo: ĐCCS + OffSet.
2.4.2 Giao tiếp qua khe cắm máy tính (Slot Card):
Trong máy vi tính trên MainBoard, người ta thường chế tạo sẵn các khe cắm
nhằm làm mục đích mở rộng khả năng đáp ứng của máy tính. Bên trong máy ngoài
những rãnh cắm dành cho Card I/O, Card màn hình, vẫn còn có những rãnh cắm để
trống. Các rãnh cắm này được tiếp tục dùng để kết nối các bản mạch cắm thêm vào
(gọi là rãnh cắm mở rộng) với máy PC.
Mỗi rãnh cắm đều có các bus dữ liệu, bus địa chỉ và các đường tín hiệu điều
khiển như: CLK, IOW, IOR, AEN, ALP, RESET. Do đó, việc thiết kế các Card kết nối

cho các rãnh cắm sẽ đơn giản hơn, số linh kiện kèm theo ít và tận dụng được các
nguồn điện của máy tính ( +5V, -5V, +12V, -12V) nên giá thành sẽ giảm, dễ dàng đưa
tín hiệu điều khiển ra ngoài và tốc độ truyền nhanh.
Bên cạnh những ưu điểm đó, cũng có những nhược điểm sau:
- Slot Card phải cắm vào các rãnh trên MainBoard nên phải thiết kế nhỏ gọn và
theo đúng chuẩn (ISA, PCI...). Điều này đòi hỏi trình độ thi công kĩ thuật cao và các
linh kiện tích hợp tối ưu.
10


- Phạm vi truyền tín hiệu gần và cáp truyền phức tạp. Trong một số trường hợp
không thực hiện được.
Vì vậy, khi sử dụng Slot Card để giao tiếp với các thiết bị ngoại vi cần cân nhắn
kĩ những ưu, nhược điểm. Tùy theo mục đích sử dụng mà người ta chọn phương án
thích hợp nhất. Trong máy tính địa chỉ dùng để sử dụng Card mở rộng là từ 300H đến
31FH.
2.4.3 Cổng nối tiếp RS232.
Chuẩn RS232 lần đầu tiên được giới thiệu vào năm 1962 do Hiệp Hội Kỹ Thuật
Điện Tử_EIA (Electronics Industries Association) như là chuẩn giao tiếp nối tiếp giữa
máy tính và một thiết bị ngoại vi.

Cổng nối tiếp RS232 là giao diện phổ biến rộng rãi nhất, việc truyền dữ liệu qua cổng
RS232 được tiến hành theo cách nối tiếp, nghĩa là các bit dữ liệu được gửi nối tiếp
nhau trên một đường dẫn. Trước hết loại truyền này có khả năng dùng cho những
khoảng cách lớn hơn, vì khả năng gây nhiễu nhỏ hơn cổng máy in. Thiết bị ngoại vi có
thể tháo lắp ngay cả khi máy tính đang được cấp điện. Các mạch điện đơn giản có thể
nhận điện áp nguồn nuôi qua cổng nối tiếp. Sự bố trí chân của phích cắm RS232 cho
cả hai loại (25 và 9 chân) ở máy tính PC (xem Hình 2.3).

Hình 2.8: Sắp xếp chân ở cổng nối tiếp của máy tính PC.

Bảng 2.1: Mô tả tất cả các đường dẫn được nối với các chân trên đầu nối 25 chân và 9
chân.
Chân

Chân

25
chân

9
chân

Vào/ra

Tên gọi

1

-

-

FG, Frame

2

3

Ra


TxD

Chức năng
Đất vỏ máy.
Truyền dữ liệu.
11


Transmit Data
3

2

Vào

RXD

Nhận dữ liệu.

Receive
RTS

4

7

Ra

5


8

Vào

Request Send
CTS
Clear to Send
DRS

6

6

7

5

Vào

Data Set Ready
SG
Signal Ground

Yêu cầu gửi, bộ truyền đặt đường
này lên mức hoạt động khi sẵn sàng
truyền.
Xóa để gửi, bộ nhận đặt đường này
lên mức hoạt động để báo cho bộ
truyền là sẵn sàng nhận.
Dữ liệu sẵn sàng, tính hoạt động

giống CTS nhưng được kích hoạt bởi
bộ truyền khi sẵn sàng nhận.
Đất của tín hiệu.

DCD
8

1

Vào

Data Carrier
Detect
DTR

20

4

Ra

22

9

Vào

Data Terminal
Ready
RI

Ring Indicate

Phát hiện tín hiệu mang dữ liệu.
Đầu cuối dữ liệu sẵn sàng, tính hoạt
động giống RTS nhưng được kích
hoạt bởi bộ nhận khi muốn truyền.
Báo chuông cho biết là bộ nhận đang
nhận tín hiệu rung chuông.

Việc trao đổi dữ liệu qua cổng nối tiếp trong các trường hợp thông thường đều
dẫn qua đường dẫn nối tiếp TXD và RXD. Tất cả các đường dẫn nối tiếp có chức năng
phụ trợ khi thiết lập và khi điều khiển cuộc truyền dữ liệu. Đặc trưng của các đường
dẫn lối vào và lối ra đã được khẳng định trong tiêu chuẩn RS232. Trạng thái LOW
tương ứng với mức điện áp +12V, còn trạng thái HIGH tương ứng với điện áp -12V.
Tất các lối ra đều có đặc tính chống chập mạch và có thể cung cấp dòng điện từ 10mA
đến 20mA.

12


Ở trạng thái tĩnh trên đường dẫn có điện áp -12V. Một bit khởi động (Start) sẽ
mở đầu cuộc truyền dữ liệu. Tiếp đó là các dữ liệu riêng lẻ sẽ được truyền đến, bit có
trọng số thấp nhất sẽ truyền trước. Chiều dài của dữ liệu truyền có thể là 5,6,7 hoặc 8
bit. Ở cuối dòng dữ liệu còn có các bit dừng (Stop) để đặt trở lại trạng thái lối ra. Tốc
độ truyền dữ liệu thiết lập theo căn cứ tốc độ Baud, giá trị thông thường là 300, 600,
1200, 2400, 4800, 9600 và 19200 Baud. Chẳng hạn, một khung truyền dữ liệu gồm 8
bit dữ liệu, một bit Start và một bit stop, truyền với tốc độ Baud là 9600, có nghĩa là
truyền được 9600 bit trong 1 giây. Do đó, ta có thể ước đoán dữ liệu cực đại có thể
được truyền là 960 byte trong một giây.Ta có thể thấy được nhược điểm của cổng
truyền nối tiếp là tốc độ truyền dữ liệu bị hạn chế. Chú ý: khuôn mẫu truyền dữ liệu

cần phải được thiết lập như nhau cho cả hai bên truyền và nhận.
Địa chỉ cơ bản của cổng nối tiếp trong các máy tính PC có thể tóm tắt như sau:
COM1

ĐCCB = 3F8H.

COM2

ĐCCB = 2F8H.

COM3

ĐCCB = 3E8H.

COM4

ĐCCB = 2E8H.

Chuẩn thông dụng RS232 có hạn chế sau:
- RS232 bị hạn chế về tốc độ truyền tín hiệu, lớn nhất là 20kbps, truyền được
tín hiệu với khoảng cách là 15m hoặc nhỏ hơn.
- Các điện áp RS232 quá cao đối với mật độ dòng điện của kĩ thuật IC hiện nay.
2.4.4 Cổng USB.
USB (Universal Serial Bus) là một chuẩn kết nối tuần tự trong máy tính. USB
sử dụng để kết nối các thiết bị ngoại vi với máy tính, thường được thiết kế dưới dạng
các đầu cắm cho các thiết bị tuân theo chuẩn cắm-và-chạy (plug-and-play) mà với tính
năng gắn nóng thiết bị (cắm và ngắt các thiết bị không cần phải khởi động lại hệ
thống).

13



Hình 2.9: Sơ đồ một dây dẫn kết nối USB.
Trong đó: 1 và 4 là đường nguồn 5V DC.
2 và 3 là đường tín hiệu.
Chuẩn A cắm vào máy tính, chuẩn B cắm vào thiết bị ngoại vi.
a. Quy trình làm việc USB.
Khi một máy tính được cấp nguồn, USB truy vấn tất cả thiết bị được kết nối
vào đường truyền và gán mỗi thiết bị một địa chỉ. Quy trình này được gọi là liệt kê –
những thiết bị được liệt kê khi kết nối vào đường truyền. Máy tính cũng tìm ra từ mỗi
thiết bị cách truyền dữ liệu nào mà nó cần để hoạt động:
- Ngắt: Một thiết bị như chuột hoặc bàn phím, gửi một lượng nhỏ dữ liệu, sẽ
chọn chế độ ngắt.
- Hàng loạt: Một thiết bị như một chiếc máy in, nhận dữ liệu trong một gói lớn,
sử dụng chế độ truyền hàng loạt. Một khối dữ liệu được gửi đến máy in (một khối 64
byte) và được kiểm tra để chắc chắn nó chính xác.
- Đẳng thời: Một thiết bị truyền dữ liệu theo chuỗi (lấy ví dụ như loa) sử dụng
chế độ đẳng thời. Những dòng dữ liệu giũa thiết bị và máy trong thời gian thực, và
không có sự sửa lỗi ở đây.
Máy tính có thể gửi lệnh hay truy vấn tham số với điều khiển những gói tin. Khi
những thiết bị được liệt kê, máy tính sẽ giữ sự kiểm tra đối với băng thông mà tất cả
những thiết bị đẳng thời và ngắt yêu cầu. Chúng có thể tiêu hao tới 90 phần trăm của
480 Mbps băng thông cho phép. Sau khi 90 phần trăm được sử dụng, máy tính sẽ từ
chối mọi truy cập của những thiết bị đẳng thời và ngắt khác. Điều khiển gói tin và gói
tin cho truyền tải hàng loạt sử dụng mọi băng thông còn lại (ít nhất 10 phần trăm).
USB chia băng thông cho phép thành những khung, và máy tính điều khiển những
14



×